{"name":"Side Relations","title":"Side Relations","type":"topic","url":"https://community.bistudio.com/wiki/Side_Relations","revid":341425,"updated":"2023-05-25T22:38:22Z","aliases":["Side relations"],"markdown":"> [!NOTE]\n> This page deals with all **Arma 3** sides, which has more than previous games. See the Side page to see previous titles' available sides.\n>\n> Also:\n>\n> - west = blufor\n> - east = opfor\n> - resistance = independent\n\n### Sides Relations\n\n> [!NOTE]\n> Extraction script can be found on the Biki Export Scripts page.\n\n#### Sides Friendship\n\nHelper function: BIS_fnc_sideIsFriendly\n\n| ↓ is friendly to → | east | west | resistance | civilian | sideAmbientLife | sideUnknown | sideEnemy | sideFriendly | sideEmpty | sideLogic |\n|---|---|---|---|---|---|---|---|---|---|---|\n| east | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| west | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| resistance | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| civilian | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideAmbientLife | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideUnknown | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideEnemy | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideFriendly | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideEmpty | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideLogic | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n\n#### Sides Enmity\n\nHelper function: BIS_fnc_sideIsEnemy\n\n| ↓ is enemy to → | east | west | resistance | civilian | sideAmbientLife | sideUnknown | sideEnemy | sideFriendly | sideEmpty | sideLogic |\n|---|---|---|---|---|---|---|---|---|---|---|\n| east | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| west | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| resistance | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| civilian | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideAmbientLife | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideUnknown | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideEnemy | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideFriendly | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideEmpty | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideLogic | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n\n### Change Relations\n\n- You can set which sides resistance is friendly/enemy to in the mission editor (click on the Intel box).\n- Everyone is friendly toward civilians. Civilians AI have a total impunity and can kill any enemy without retaliation (same as captive units).\n- You can use the setFriend command to set relations between any sides (even east and west).\n\n```sqf\n// will make east friendly to west and vice versa\neast setFriend [west, 1];\nwest setFriend [east, 1];\n```\n\n#### One Way Hostility\n\nUsing the setCaptive command allows you to stop enemy units to fire on the target unit.\n\n```sqf\n_soldier setCaptive true; // _soldier can shoot at enemy but enemy will not return fire\n```\n\nYou can re-activate hostility by canceling captive status.\n\n```sqf\n_soldier setCaptive false; // _soldier will be shot at again by enemy units\n```\n\n#### Two Way Hostility With Civilians\n\nTo make a civilian a potential target to other sides, you can either:\n\n- make the civilian a renegade by using the addRating command. This will make him a renegade, meaning an enemy to everyone including other civilians.\n\n```sqf\n_civilian addRating -10000; // this will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend\n```\n\n> [!NOTE]\n> The renegade rating threshold is *below* -2000 (e.g -2001, -5000 etc).\n\n- make the civilian join an enemy group, e.g east:\n\n  ```sqf\n  private _eastGroup = createGroup east;\n  [_civilian] joinSilent _eastGroup;\n  ```\n\n#### Set in the Editor\n\n1. Group your civilians with an east leader\n1. Delete the east leader on mission load:\n   - Put `deleteVehicle this` in the officer's initialisation field.\n   - Alternatively, set the **probability of presence** slider of the officer to **zero**.\n1. On mission start, the east leader will not be here but the civilians will be on the east side.","sections":[{"heading":null,"level":1,"markdown":"> [!NOTE]\n> This page deals with all **Arma 3** sides, which has more than previous games. See the Side page to see previous titles' available sides.\n>\n> Also:\n>\n> - west = blufor\n> - east = opfor\n> - resistance = independent"},{"heading":"Sides Relations","level":3,"markdown":"> [!NOTE]\n> Extraction script can be found on the Biki Export Scripts page."},{"heading":"Sides Friendship","level":4,"markdown":"Helper function: BIS_fnc_sideIsFriendly\n\n| ↓ is friendly to → | east | west | resistance | civilian | sideAmbientLife | sideUnknown | sideEnemy | sideFriendly | sideEmpty | sideLogic |\n|---|---|---|---|---|---|---|---|---|---|---|\n| east | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| west | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| resistance | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| civilian | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideAmbientLife | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideUnknown | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideEnemy | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideFriendly | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideEmpty | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |\n| sideLogic | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |"},{"heading":"Sides Enmity","level":4,"markdown":"Helper function: BIS_fnc_sideIsEnemy\n\n| ↓ is enemy to → | east | west | resistance | civilian | sideAmbientLife | sideUnknown | sideEnemy | sideFriendly | sideEmpty | sideLogic |\n|---|---|---|---|---|---|---|---|---|---|---|\n| east | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| west | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| resistance | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| civilian | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideAmbientLife | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideUnknown | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideEnemy | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideFriendly | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideEmpty | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |\n| sideLogic | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |"},{"heading":"Change Relations","level":3,"markdown":"- You can set which sides resistance is friendly/enemy to in the mission editor (click on the Intel box).\n- Everyone is friendly toward civilians. Civilians AI have a total impunity and can kill any enemy without retaliation (same as captive units).\n- You can use the setFriend command to set relations between any sides (even east and west).\n\n```sqf\n// will make east friendly to west and vice versa\neast setFriend [west, 1];\nwest setFriend [east, 1];\n```"},{"heading":"One Way Hostility","level":4,"markdown":"Using the setCaptive command allows you to stop enemy units to fire on the target unit.\n\n```sqf\n_soldier setCaptive true; // _soldier can shoot at enemy but enemy will not return fire\n```\n\nYou can re-activate hostility by canceling captive status.\n\n```sqf\n_soldier setCaptive false; // _soldier will be shot at again by enemy units\n```"},{"heading":"Two Way Hostility With Civilians","level":4,"markdown":"To make a civilian a potential target to other sides, you can either:\n\n- make the civilian a renegade by using the addRating command. This will make him a renegade, meaning an enemy to everyone including other civilians.\n\n```sqf\n_civilian addRating -10000; // this will cause sides to shoot civilian, but not civilian to shoot back - for that, use setFriend\n```\n\n> [!NOTE]\n> The renegade rating threshold is *below* -2000 (e.g -2001, -5000 etc).\n\n- make the civilian join an enemy group, e.g east:\n\n  ```sqf\n  private _eastGroup = createGroup east;\n  [_civilian] joinSilent _eastGroup;\n  ```"},{"heading":"Set in the Editor","level":4,"markdown":"1. Group your civilians with an east leader\n1. Delete the east leader on mission load:\n   - Put `deleteVehicle this` in the officer's initialisation field.\n   - Alternatively, set the **probability of presence** slider of the officer to **zero**.\n1. On mission start, the east leader will not be here but the civilians will be on the east side."}],"categories":["Scripting Topics"],"groups":["Scripting"]}