Side Relations: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) (Teeny tiny page refresh, Add categories, etc.) |
Lou Montana (talk | contribs) (Add missing sides and table generation code) |
||
Line 1: | Line 1: | ||
{{SideTOC}} | {{SideTOC}} | ||
{{Feature arma3 | This page deals with '''{{arma3}}''' sides, which has more than previous games. See the [[Side]] page to see previous titles' available sides. Also: | {{Feature arma3 | This page deals with all '''{{arma3}}''' sides, which has more than previous games. See the [[Side]] page to see previous titles' available sides. Also: | ||
* [[west]] {{=}} [[blufor]] | * [[west]] {{=}} [[blufor]] | ||
* [[east]] {{=}} [[opfor]] | * [[east]] {{=}} [[opfor]] | ||
Line 16: | Line 16: | ||
! [[resistance]] | ! [[resistance]] | ||
! [[civilian]] | ! [[civilian]] | ||
! [[sideAmbientLife]] | |||
! [[sideUnknown]] | ! [[sideUnknown]] | ||
! [[sideEnemy]] | ! [[sideEnemy]] | ||
! [[sideFriendly]] | ! [[sideFriendly]] | ||
! [[sideEmpty]] | |||
! [[sideLogic]] | ! [[sideLogic]] | ||
|- | |- | ||
Line 26: | Line 28: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
Line 36: | Line 40: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
Line 46: | Line 52: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
Line 56: | Line 64: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task/}} | |||
| {{task}} | |||
| {{task}} | |||
|- | |||
| [[sideAmbientLife]] | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
| [[sideUnknown]] | | [[sideUnknown]] | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 69: | Line 92: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
| [[sideEnemy]] | | [[sideEnemy]] | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 79: | Line 104: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
| [[sideFriendly]] | | [[sideFriendly]] | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 89: | Line 116: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | |||
|- | |||
| [[sideEmpty]] | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task/}} | |||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|- | |- | ||
Line 96: | Line 136: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
|} | |} | ||
Line 112: | Line 154: | ||
! [[resistance]] | ! [[resistance]] | ||
! [[civilian]] | ! [[civilian]] | ||
! [[sideAmbientLife]] | |||
! [[sideUnknown]] | ! [[sideUnknown]] | ||
! [[sideEnemy]] | ! [[sideEnemy]] | ||
! [[sideFriendly]] | ! [[sideFriendly]] | ||
! [[sideEmpty]] | |||
! [[sideLogic]] | ! [[sideLogic]] | ||
|- | |- | ||
Line 121: | Line 165: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 129: | Line 175: | ||
| [[west]] | | [[west]] | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 134: | Line 181: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 139: | Line 187: | ||
| [[resistance]] | | [[resistance]] | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 144: | Line 193: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 151: | Line 201: | ||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task/}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
|- | |||
| [[sideAmbientLife]] | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 162: | Line 226: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 172: | Line 238: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 182: | Line 250: | ||
| {{task/}} | | {{task/}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | |||
| {{task}} | |||
|- | |||
| [[sideEmpty]] | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task/}} | |||
| {{task}} | |||
| {{task}} | |||
| {{task/}} | |||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
|- | |- | ||
| [[sideLogic]] | | [[sideLogic]] | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 194: | Line 277: | ||
| {{task}} | | {{task}} | ||
| {{task/}} | | {{task/}} | ||
| {{task}} | |||
| {{task}} | | {{task}} | ||
| {{task}} | | {{task}} | ||
Line 236: | Line 320: | ||
#* 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. | ||
''Code used to generate the tables:'' | |||
<spoiler> | |||
[[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=""bikitable"" style=""text-align: center""\n|-\n"; | |||
{ | |||
_result = _result + "! <nowiki>[[" + _x +"]]</nowiki>\n"; | |||
} [[forEach]] _sidesAsString; | |||
{ | |||
[[private]] _results = _x; | |||
{ | |||
[[if]] (_x [[isEqualType]] true) [[then]] | |||
{ | |||
[[if]] (_x) [[then]] | |||
{ | |||
_result = _result + "| <nowiki>{{task/}}</nowiki>\n"; | |||
} | |||
[[else]] | |||
{ | |||
_result = _result + "| <nowiki>{{task}}</nowiki>\n"; | |||
} | |||
} | |||
[[else]] | |||
{ | |||
_result = _result + ("| <nowiki>[[" + _x + "]]</nowiki>\n"); | |||
} | |||
} [[forEach]] _results; | |||
_result = _result + "|-\n"; | |||
} [[forEach]] _sideResults; | |||
_result = _result + "|}"; | |||
_result;</spoiler> | |||
Revision as of 14:14, 8 September 2019
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=""bikitable"" 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 + "| {{task/}}\n"; } else { _result = _result + "| {{task}}\n"; } } else { _result = _result + ("| [[" + _x + "]]\n"); } } forEach _results; _result = _result + "|-\n"; } forEach _sideResults; _result = _result + "|}"; _result;↑ Back to spoiler's top