Side Relations: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Teeny tiny page refresh, Add categories, etc.)
(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

Template:SideTOC

Arma 3
This page deals with all Arma 3 sides, which has more than previous games. See the Side page to see previous titles' available sides. Also:

Sides relations

Sides friendship

Helper function: BIS_fnc_sideIsFriendly

is friendly to east west resistance civilian sideAmbientLife sideUnknown sideEnemy sideFriendly sideEmpty sideLogic
east Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task
west Template:task Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task
resistance Template:task Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task
civilian Template:task Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task
sideAmbientLife Template:task Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task
sideUnknown Template:task Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task
sideEnemy Template:task Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task
sideFriendly Template:task Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task
sideEmpty Template:task Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task
sideLogic Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task

Sides enmity

Helper function: BIS_fnc_sideIsEnemy

is enemy to east west resistance civilian sideAmbientLife sideUnknown sideEnemy sideFriendly sideEmpty sideLogic
east Template:task Template:task/ Template:task/ Template:task Template:task Template:task Template:task/ Template:task Template:task Template:task
west Template:task/ Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task Template:task
resistance Template:task/ Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task Template:task
civilian Template:task/ Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task Template:task
sideAmbientLife Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task
sideUnknown Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task
sideEnemy Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task
sideFriendly Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task
sideEmpty Template:task/ Template:task/ Template:task/ Template:task/ Template:task Template:task Template:task/ Template:task Template:task Template:task
sideLogic Template:task Template:task Template:task Template:task Template:task Template:task Template:task/ Template:task Template:task Template:task


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
the renegade rating threshold is below -2000 (e.g -2001, -5000 etc).
  • make the civilian join an enemy group, e.g east:
private _eastGroup = createGroup east;
[_civilian] joinSilent _eastGroup;

Set in the editor

  1. Group your civilians with an east leader
  2. Delete the east leader on mission load:
  3. 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