Side Relations: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
m (Text replacement - "{{Inline code|" to "{{ic|") |
||
Line 317: | Line 317: | ||
# Group your civilians with an [[east]] leader | # Group your civilians with an [[east]] leader | ||
# Delete the [[east]] leader on mission load: | # Delete the [[east]] leader on mission load: | ||
#* Put {{ | #* Put {{ic|[[deleteVehicle]] [[Magic Variables#this_2|this]]}} in the officer’s initialization field. | ||
#* Alternatively, set the '''[[Eden Editor: System#Attributes|probability of presence]]''' slider of the officer to '''zero'''. | #* Alternatively, set the '''[[Eden Editor: System#Attributes|probability of presence]]''' slider of the officer to '''zero'''. | ||
# On mission start, the [[east]] leader will not be here but the [[civilian]]s will be on the [[east]] side. | # On mission start, the [[east]] leader will not be here but the [[civilian]]s will be on the [[east]] side. |
Revision as of 18:10, 27 February 2021
Sides relations
Sides friendship
Helper function: BIS_fnc_sideIsFriendly
Sides enmity
Helper function: BIS_fnc_sideIsEnemy
Change relations
- You can set which sides resistance is friendly/enemy to in the mission editor (click on the Intel box).
- Everyone is friendly toward civilians. Civilians AI have a total impunity and can kill any enemy without retaliation (same as captive units).
- You can use the setFriend command to set relations between any sides (even east and west).
// will make east friendly to west and vice versa east setFriend [west, 1]; west setFriend [east, 1];
One way hostility
Using the setCaptive command allows you to stop enemy units to fire on the target unit.
_soldier setCaptive true; // _soldier can shoot at enemy but enemy will not return fire
You can re-activate hostility by canceling captive status.
_soldier setCaptive false; // _soldier will be shot at again by enemy units
Two way hostility with civilians
To make a civilian a potential target to other sides, you can either:
- make the civilian a renegade by using the addRating command. This will make him a renegade, meaning an enemy to everyone including other civilians.
_civilian addRating -10000; // will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend
private _eastGroup = createGroup east; [_civilian] joinSilent _eastGroup;
Set in the editor
- Group your civilians with an east leader
- Delete the east leader on mission load:
- Put
deleteVehicle this
in the officer’s initialization field. - Alternatively, set the probability of presence slider of the officer to zero.
- Put
- On mission start, the east leader will not be here but the civilians will be on the east side.
Code used to generate the tables:
private _func = BIS_fnc_sideIsFriendly; private _sidesAsString = ["east", "west", "resistance", "civilian", "sideAmbientLife", "sideUnknown", "sideEnemy", "sideFriendly", "sideEmpty", "sideLogic"]; private _sideResults = []; { private _sideAsString = _x; private _side = call compile _sideAsString; _sideResults pushBack ([_sideAsString] + (_sidesAsString apply { [_side, call compile _x] call _func })); } forEach _sidesAsString; private _result = "{{| class=""wikitable"" style=""text-align: center""\n|-\n"; { _result = _result + "! [[" + _x +"]]\n"; } forEach _sidesAsString; { private _results = _x; { if (_x isEqualType true) then { if (_x) then { _result = _result + "| {{Icon|checked}}\n"; } else { _result = _result + "| {{Icon|unchecked}}\n"; } } else { _result = _result + ("| [[" + _x + "]]\n"); } } forEach _results; _result = _result + "|-\n"; } forEach _sideResults; _result = _result + "|}"; _result;↑ Back to spoiler's top