diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AW159.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AW159.hpp index 9a8e719c9..f8e9299bd 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AW159.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AW159.hpp @@ -113,10 +113,12 @@ class AW159_Lynx_BAF_DZ: AW159_Lynx_BAF { }; class AW159_Lynx_BAF_DZE: AW159_Lynx_BAF_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets: Turrets { class MainTurret: MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH47.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH47.hpp index 3e158117d..bb2aeed0f 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH47.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH47.hpp @@ -25,6 +25,7 @@ class CH_47F_EP1_DZ : CH_47F_EP1 { class CH_47F_EP1_DZE: CH_47F_EP1_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets: Turrets { class MainTurret: MainTurret @@ -64,7 +65,7 @@ class CH_47F_EP1_DZE: CH_47F_EP1_DZ minFov = 0.25; maxFov = 1.1; }; - gunnerCompartments = "Compartment1"; + gunnerCompartments = "Compartment3"; memoryPointsGetInGunner = "pos gunner"; memoryPointsGetInGunnerDir = "pos gunner dir"; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/KA60.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/KA60.hpp index ddcdcef7f..b8e0c82ff 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/KA60.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/KA60.hpp @@ -126,10 +126,12 @@ class Ka60_GL_PMC_DZ: Ka60_GL_PMC { }; class Ka60_GL_PMC_DZE: Ka60_GL_PMC_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets: Turrets { class MainTurret: MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp index d2b5e7b40..5a13ea701 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp @@ -39,11 +39,14 @@ class Mi17_DZ: Mi17_base { }; }; class Mi17_DZE: Mi17_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; class BackTurret : BackTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; @@ -113,12 +116,15 @@ class Mi17_TK_EP1_DZ: Mi17_base { }; }; }; -class Mi17_TK_EP1_DZE: Mi17_TK_EP1_DZ { +class Mi17_TK_EP1_DZE: Mi17_TK_EP1_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; class BackTurret : BackTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; @@ -188,12 +194,15 @@ class Mi17_UN_CDF_EP1_DZ: Mi17_base { }; }; }; -class Mi17_UN_CDF_EP1_DZE: Mi17_UN_CDF_EP1_DZ { +class Mi17_UN_CDF_EP1_DZE: Mi17_UN_CDF_EP1_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; class BackTurret : BackTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; @@ -264,11 +273,14 @@ class Mi17_CDF_DZ: Mi17_base { }; }; class Mi17_CDF_DZE: Mi17_CDF_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; class BackTurret : BackTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; @@ -469,8 +481,10 @@ class Mi171Sh_CZ_EP1_DZ: Mi17_base { }; class Mi171Sh_CZ_EP1_DZE: Mi171Sh_CZ_EP1_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class LeftTurret : MainTurret { + gunnerCompartments = "compartment3"; proxyIndex = 2; commanding = -1; primaryGunner = 0; @@ -484,6 +498,7 @@ class Mi171Sh_CZ_EP1_DZE: Mi171Sh_CZ_EP1_DZ { }; class BackTurret : BackTurret { + gunnerCompartments = "compartment3"; gunnerName = $STR_POSITION_REARGUNNER; primaryGunner = 1; commanding = -3; @@ -500,6 +515,7 @@ class Mi171Sh_CZ_EP1_DZE: Mi171Sh_CZ_EP1_DZ { }; class RightTurret : MainTurret { + gunnerCompartments = "compartment3"; proxyIndex = 1; gunnerName = $STR_POSITION_CREWCHIEF; body = "Turret_3"; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1H.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1H.hpp index b1923f6ee..a69305ab4 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1H.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1H.hpp @@ -51,11 +51,14 @@ class UH1H_DZ: UH1H_base }; class UH1H_DZE: UH1H_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { + gunnerCompartments = "compartment3"; magazines[] = {}; }; class LeftDoorGun : LeftDoorGun { + gunnerCompartments = "compartment3"; magazines[] = {}; }; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp index 923ef9089..932b2c1d1 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp @@ -139,18 +139,21 @@ class UH1Y_DZ: UH1_Base { }; }; class UH1Y_DZE: UH1Y_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; enableManualFire = 0; class Turrets : Turrets { class MainTurret: MainTurret { //gunnerOpticsModel = "\ca\Weapons\optika_empty"; magazines[] = {}; + gunnerCompartments = "Compartment3"; }; class RightDoorGun: RightDoorGun { //gunnerOpticsModel = "\ca\Weapons\optika_empty"; visionMode[] = {"Normal","NVG"}; magazines[] = {}; + gunnerCompartments = "Compartment3"; }; class CoPilotObs: CoPilotObs { diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH60.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH60.hpp index 58253daf0..e2404c685 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH60.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH60.hpp @@ -28,11 +28,12 @@ class MH60S_DZ : MH60S { }; class MH60S_DZE : MH60S_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; class Turrets : Turrets { class MainTurret : MainTurret { discreteDistance[] = {100, 200, 300, 400, 500, 600, 700, 800}; discreteDistanceInitIndex = 2; - gunnerCompartments = "Compartment1"; + gunnerCompartments = "compartment3"; initElev = 5; initTurn = 80; body = "mainTurret"; @@ -69,6 +70,7 @@ class MH60S_DZE : MH60S_DZ { }; class RightDoorGun : MainTurret { + gunnerCompartments = "compartment3"; body = "Turret_2"; gun = "Gun_2"; animationSourceBody = "Turret_2"; @@ -154,6 +156,7 @@ class UH60M_EP1_DZ: UH60M_EP1 { }; class UH60M_EP1_DZE: UH60M_EP1_DZ { + cargoCompartments[] = {"Compartment1","Compartment2","Compartment3"}; enableManualFire = 0; class Turrets: Turrets { class MainTurret: MainTurret { @@ -191,7 +194,7 @@ class UH60M_EP1_DZE: UH60M_EP1_DZ { minFov = 0.25; maxFov = 1.1; }; - gunnerCompartments = "Compartment2"; + gunnerCompartments = "compartment3"; }; class RightDoorGun: MainTurret { body = "Turret_2"; @@ -216,6 +219,7 @@ class UH60M_EP1_DZE: UH60M_EP1_DZ { primaryGunner = 0; memoryPointGun = "machinegun_1"; memoryPointGunnerOptics = "gunnerview_2"; + gunnerCompartments = "compartment3"; }; }; diff --git a/SQF/dayz_code/compile/fn_damageActions.sqf b/SQF/dayz_code/compile/fn_damageActions.sqf index 4df140990..c6f87db9c 100644 --- a/SQF/dayz_code/compile/fn_damageActions.sqf +++ b/SQF/dayz_code/compile/fn_damageActions.sqf @@ -30,7 +30,7 @@ if (_inVehicle) then { r_player_lastSeat = _assignedRole; local _action = []; - if (_vehicle isKindOf "helicopter" || {_inVehicle && {{(isPlayer _x) && (alive _x)} count (crew _vehicle) > 1}}) then { + if ((_vehicle isKindOf "helicopter") || {_inVehicle && {{(isPlayer _x) && (alive _x)} count (crew _vehicle) > 1}}) then { //allow switch to pilot if (((_assignedRole select 0) != "driver") && {(!alive _driver) || {(_vehicle emptyPositions "Driver") > 0}}) then { if (_vehicle isKindOf "helicopter") then { @@ -42,23 +42,25 @@ if (_inVehicle) then { r_action2 = true; }; //allow switch to cargo - if (((_assignedRole select 0) != "cargo") && {(_vehicle emptyPositions "Cargo") > 0}) then { - _action = _vehicle addAction [localize "str_actions_helibackseat", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToCargo",_driver], 0, false, true]; - r_player_actions2 set [count r_player_actions2,_action]; - r_action2 = true; - }; - //allow switch to gunner - if (((_assignedRole select 0) != "Turret") && {(_vehicle emptyPositions "Gunner") > 0}) then { - _action = _vehicle addAction [localize "str_actions_heligunnerseat", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true]; - r_player_actions2 set [count r_player_actions2,_action]; - r_action2 = true; - }; - //allow switch to commander - if (((assignedCommander _vehicle) != player) && {(_vehicle emptyPositions "Commander") > 0}) then { - _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true]; - r_player_actions2 set [count r_player_actions2,_action]; - r_action2 = true; - }; + if !(_vehicle isKindOf "helicopter") then { + if (((_assignedRole select 0) != "cargo") && {(_vehicle emptyPositions "Cargo") > 0}) then { + _action = _vehicle addAction [localize "str_actions_helibackseat", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToCargo",_driver], 0, false, true]; + r_player_actions2 set [count r_player_actions2,_action]; + r_action2 = true; + }; + //allow switch to gunner + if ((_assignedRole select 0) != "Turret" && {(_vehicle emptyPositions "Gunner") > 0}) then { + _action = _vehicle addAction [localize "str_actions_heligunnerseat", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true]; + r_player_actions2 set [count r_player_actions2,_action]; + r_action2 = true; + }; + //allow switch to commander + if (((assignedCommander _vehicle) != player) && {(_vehicle emptyPositions "Commander") > 0}) then { + _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true]; + r_player_actions2 set [count r_player_actions2,_action]; + r_action2 = true; + }; + }; }; if ((count _assignedRole) > 1 || {(_assignedRole select 0) == "driver"}) then { local _turret = [-1];