Side Relations: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "[[Category:ArmA 2: Editing" to "[[Category:Arma 2: Editing")
m (Text replacement - " <nowiki>[</nowiki>" to " [<nowiki/>")
Line 290: Line 290:


  {{cc|will make east friendly to west and vice versa}}
  {{cc|will make east friendly to west and vice versa}}
  [[east]] [[setFriend]] <nowiki>[</nowiki>[[west]], 1];
  [[east]] [[setFriend]] [<nowiki/>[[west]], 1];
  [[west]] [[setFriend]] <nowiki>[</nowiki>[[east]], 1];
  [[west]] [[setFriend]] [<nowiki/>[[east]], 1];


=== One way hostility ===
=== One way hostility ===

Revision as of 13:02, 19 March 2020

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