diff --git a/SQF/dayz_code/compile/fn_damageActions.sqf b/SQF/dayz_code/compile/fn_damageActions.sqf
index 0d23043f6..de9c5c6f2 100644
--- a/SQF/dayz_code/compile/fn_damageActions.sqf
+++ b/SQF/dayz_code/compile/fn_damageActions.sqf
@@ -1,24 +1,20 @@
scriptName "Functions\misc\fn_damageActions.sqf";
#include "\z\addons\dayz_code\util\array.hpp";
+
/***********************************************************
ADD ACTIONS FOR A CASUALTY
- Function
- [] call fnc_usec_damageActions;
************************************************************/
-private ["_action","_weaponName","_turret","_weapons","_assignedRole","_driver","_action1","_action2","_vehicle","_unit","_vehType","_type","_typeVeh","_isDisallowRefuel","_vehClose","_hasVehicle","_unconscious","_lowBlood","_injured","_inPain","_legsBroke","_armsBroke","_charID","_friendlies","_playerMagazines","_hasBandage","_hasEpi","_hasMorphine","_hasBlood","_hasJerry","_hasBarrel","_hasJerryE","_hasBarrelE","_hasPainkillers","_unconscious_crew","_patients","_crew","_menClose","_hasPatient","_inVehicle","_isClose"];
-
-disableSerialization;
-
-if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running.
+if (DZE_ActionInProgress) exitWith {};
+private ["_action","_weaponName","_turret","_weapons","_assignedRole","_driver","_action1","_action2","_vehicle","_unit","_vehType","_vehClose","_hasVehicle","_unconscious","_lowBlood","_injured","_inPain","_legsBroke","_armsBroke","_charID","_friendlies","_playerMagazines","_hasBandage","_hasEpi","_hasMorphine","_hasBlood","_hasPainkillers","_unconscious_crew","_patients","_crew","_menClose","_hasPatient","_inVehicle","_isClose","_transfuse"];
_menClose = cursorTarget;
_hasPatient = alive _menClose;
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
_isClose = ((player distance _menClose) < ((sizeOf typeOf _menClose) / 2));
-//_bag = unitBackpack player;
-//_classbag = typeOf _bag;
if (_inVehicle) then {
r_player_lastVehicle = _vehicle;
@@ -27,13 +23,13 @@ if (_inVehicle) then {
if (str (_assignedRole) != str (r_player_lastSeat)) then {
call r_player_removeActions2;
};
- if (!r_player_unconscious && !r_action2) then {
- r_player_lastSeat = _assignedRole;
+ if (!r_player_unconscious && !r_action2) then {
+ r_player_lastSeat = _assignedRole;
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 (((_assignedRole select 0) != "driver") && ((!alive _driver) or ((_vehicle emptyPositions "Driver") > 0))) then {
if (_vehicle isKindOf "helicopter") then {
- _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308A", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true];
+ _action = _vehicle addAction [localize "str_actions_helipilotseat", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToPilot",_driver], 0, false, true];
} else {
_action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true];
};
@@ -42,13 +38,13 @@ if (_inVehicle) then {
};
//allow switch to cargo
if (((_assignedRole select 0) != "cargo") && ((_vehicle emptyPositions "Cargo") > 0)) then {
- _action = _vehicle addAction [localize "STR_EPOCH_PLAYER_309", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToCargo",_driver], 0, false, true];
+ _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_EPOCH_PLAYER_310", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true];
+ _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;
};
@@ -64,7 +60,7 @@ if (_inVehicle) then {
_weapons = _vehicle weaponsTurret _turret;
{
_weaponName = getText (configFile >> "cfgWeapons" >> _x >> "displayName");
- _action = _vehicle addAction [format["Add AMMO to %1",_weaponName], "\z\addons\dayz_code\actions\ammo.sqf",[_vehicle,_x,_turret], 0, false, true];
+ _action = _vehicle addAction [format[localize "str_actions_addammo",_weaponName], "\z\addons\dayz_code\actions\ammo.sqf",[_vehicle,_x,_turret], 0, false, true];
r_player_actions2 set [count r_player_actions2,_action];
r_action2 = true;
} count _weapons;
@@ -79,7 +75,7 @@ if (_inVehicle) then {
_unconscious_crew set [(count _unconscious_crew), _x]
};
} forEach _crew;
- _patients = (count _unconscious_crew);
+ _patients = count _unconscious_crew;
if (_patients > 0) then {
if (!r_action_unload) then {
r_action_unload = true;
@@ -100,16 +96,17 @@ if (_inVehicle) then {
r_player_lastSeat = [];
};
+//Lets make sure the player is looking at the target
if (isPlayer cursorTarget) then {
- if (!r_drag_sqf and !r_action and !_inVehicle and !r_player_unconscious and (player distance _menClose < 3)) then {
- _unit = cursorTarget;
+ if (!r_drag_sqf && !r_action && !_inVehicle && !r_player_unconscious && (player distance _menClose < 3)) then {
+ _unit = cursorTarget;
player reveal _unit;
- _isDisallowRefuel = typeOf _unit in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"];
+
+ //Arrays
_antibiotics =["ItemAntibiotic","ItemAntibiotic1","ItemAntibiotic2","ItemAntibiotic3","ItemAntibiotic4","ItemAntibiotic5","ItemAntibiotic6"];
_bloodBags = ["ItemBloodbag","bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS"];
-
- _vehClose = (getPosATL player) nearEntities [["Car","Tank","Helicopter","Plane","StaticWeapon","Ship"],5]; //nearestObjects [player, ["Car","Tank","Helicopter","Plane","StaticWeapon","Ship"], 5];
- _hasVehicle = ({alive _x} count _vehClose > 0);
+
+ //Var checks
_unconscious = _unit getVariable ["NORRN_unconscious", false];
_lowBlood = _unit getVariable ["USEC_lowBlood", false];
_injured = _unit getVariable ["USEC_injured", false];
@@ -118,28 +115,26 @@ if (isPlayer cursorTarget) then {
_legsBroke = _unit getVariable ["hit_legs", 0] >= 1;
_armsBroke = _unit getVariable ["hit_hands", 0] >= 1;
_infected = _unit getVariable ["USEC_infected", false];
- _charID = _unit getVariable ["CharacterID", 0];
- _friendlies = player getVariable ["friendlies", []];
+
+ //Magazine checks
_playerMagazines = magazines player;
- _hasBandage = "ItemBandage" in magazines player;
- _hasSepsisBandage = "ItemSepsisBandage" in magazines player;
- _hasEpi = "ItemEpinephrine" in magazines player;
- _hasMorphine = "ItemMorphine" in magazines player;
- _hasSplint = "equip_woodensplint" in magazines player;
- _hasPainkillers = "ItemPainkiller" in magazines player;
- _hasAntibiotics = Array_Any(magazines player, {_this in _antibiotics});
- _hasBloodBag = Array_Any(magazines player, {_this in _bloodBags});
- //_hasToolbox = "ItemToolbox" in items player;
- _hasJerry = "ItemJerrycan" in _playerMagazines;
- _hasBarrel = "ItemFuelBarrel" in _playerMagazines;
- _hasJerryE = "ItemJerrycanEmpty" in _playerMagazines;
- _hasBarrelE = "ItemFuelBarrelEmpty" in _playerMagazines;
- //_hasEtool = "ItemEtool" in weapons player;
- //_hasWire = "ItemWire" in _playerMagazines;
- _hasPainkillers = "ItemPainkiller" in _playerMagazines;
+ _hasBandage = "ItemBandage" in _playerMagazines;
+ _hasSepsisBandage = "ItemSepsisBandage" in _playerMagazines;
+ _hasEpi = "ItemEpinephrine" in _playerMagazines;
+ _hasMorphine = "ItemMorphine" in _playerMagazines;
+ _hasSplint = "equip_woodensplint" in _playerMagazines;
+ _hasPainkillers = "ItemPainkiller" in _playerMagazines;
+ //_hasEmptyBag = "emptyBloodBag" in _playerMagazines;
+ //_hasTester = "bloodTester" in _playerMagazines;
+
+ _hasAntibiotics = Array_Any(_playerMagazines, {_this in _antibiotics});
+ _hasBloodBag = Array_Any(_playerMagazines, {_this in _bloodBags});
+
+ _vehClose = (getPosATL player) nearEntities [["Car","Tank","Helicopter","Plane","StaticWeapon","Ship"],5];
+ _hasVehicle = ({alive _x} count _vehClose > 0);
- //Allow player to drag
if (_hasPatient) then {
+ //Allow player to drag
if(_unconscious) then {
r_action = true;
_action1 = _unit addAction [localize "STR_UI_GEAR", "\z\addons\dayz_code\actions\openGear.sqf",_unit, 0, true, true];
@@ -151,12 +146,12 @@ if (isPlayer cursorTarget) then {
r_player_actions set [count r_player_actions, _action3];
};
//Load Vehicle
- if (_hasVehicle and _unconscious) then {
+ if (_hasVehicle && _unconscious) then {
_y = 0;
r_action = true;
_unit = _unit;
- _vehicle = (_vehClose select _y);
- while{((!alive _vehicle) and (_y < (count _vehClose)))} do {
+ _vehicle = _vehClose select _y;
+ while{((!alive _vehicle) && (_y < (count _vehClose)))} do {
_y = _y + 1;
_vehicle = (_vehClose select _y);
_vehType = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName");
@@ -172,7 +167,7 @@ if (isPlayer cursorTarget) then {
r_player_actions set [count r_player_actions,_action];
};
//Sepsis
- if(_hasSepsis and _hasSepsisBandage) then {
+ if(_hasSepsis && _hasSepsisBandage) then {
r_action = true;
_action = _unit addAction [localize "str_actions_medical_04", "\z\addons\dayz_code\medical\bandage.sqf",[_unit,"ItemSepsisBandage"], 0, true, true, "", "'ItemBandage' in magazines player"];
r_player_actions set [count r_player_actions,_action];
@@ -184,14 +179,13 @@ if (isPlayer cursorTarget) then {
r_player_actions set [count r_player_actions,_action];
};
//Allow player to give Morphine
- if((_legsBroke || _armsBroke) && _hasMorphine) then {
+ if((_legsBroke or _armsBroke) && _hasMorphine) then {
r_action = true;
- //_action = _unit addAction [localize "str_actions_medical_06", "\z\addons\dayz_code\medical\morphine.sqf",[_unit], 0, true, true, "", ""];
_action = _unit addAction [localize "str_actions_medical_06", "\z\addons\dayz_code\medical\brokeBones.sqf",[_unit,"ItemMorphine"], 0, true, true, "", "'ItemMorphine' in magazines player"];
r_player_actions set [count r_player_actions,_action];
};
//Allow player to give equip_woodensplint
- if((_legsBroke or _armsBroke) and _hasSplint) then {
+ if((_legsBroke or _armsBroke) && _hasSplint) then {
r_action = true;
_action = _unit addAction [localize "str_actions_medical_06_splint", "\z\addons\dayz_code\medical\brokeBones.sqf",[_unit,"equip_woodensplint"], 0, true, true, "", "'equip_woodensplint' in magazines player"];
r_player_actions set [count r_player_actions,_action];
@@ -204,47 +198,26 @@ if (isPlayer cursorTarget) then {
};
//Allow player to transfuse blood
if(_lowBlood && _hasBlood) then {
- if (DZE_UseBloodTypes) then {
- r_action = true;
- _action = _unit addAction [localize "str_actions_medical_08", "\z\addons\dayz_code\medical\transfusion.sqf",[_unit], 0, true, true];
- r_player_actions set [count r_player_actions,_action];
- } else {
- r_action = true;
- _action = _unit addAction [localize "str_actions_medical_08", "\z\addons\dayz_code\medical\transfusion_NoBloodTypes.sqf",[_unit], 0, true, true, "", ""];
- r_player_actions set [count r_player_actions,_action];
- };
+ _transfuse = if (DZE_UseBloodTypes) then {"\z\addons\dayz_code\medical\transfusion.sqf"} else {"\z\addons\dayz_code\medical\transfusion_NoBloodTypes.sqf"};
+ r_action = true;
+ _action = _unit addAction [localize "str_actions_medical_08",_transfuse,[_unit], 0, true, true];
+ r_player_actions set [count r_player_actions,_action];
};
//Allow player to give antibiotics
- if (_infected and _hasAntibiotics) then {
+ if (_infected && _hasAntibiotics) then {
r_action = true;
_action = _unit addAction [localize "str_actions_medical_give_antibiotics", "\z\addons\dayz_code\medical\antibiotics.sqf",[_unit], 0, true, true];
r_player_actions set [count r_player_actions, _action];
};
- //Repairs
- if ((_unit isKindOf "AllVehicles") && !(_unit isKindOf "Man") && !_isDisallowRefuel) then {
- _type = TypeOf(_unit);
- _typeVeh = getText(configFile >> "cfgVehicles" >> _type >> "displayName");
-
- //CAN WE REFUEL THE OBJECT?
- if ((fuel _unit < 1) && (_hasJerry || _hasBarrel)) then {
+ if (_unit isKindOf "Man") then {
+ // should only fire if cursor target is man and not vehicle
+ _charID = _unit getVariable ["CharacterID", 0];
+ _friendlies = player getVariable ["friendlies", []];
+ if !(_charID in _friendlies) then {
r_action = true;
- _action = _unit addAction [format[localize "str_actions_medical_10",_typeVeh], "\z\addons\dayz_code\actions\refuel.sqf",[], 0, true, true, "", ""];
+ _action = _unit addAction ["Tag as friendly", "\z\addons\dayz_code\actions\player_tagFriendly.sqf", [], 0, false, true];
r_player_actions set [count r_player_actions,_action];
- };
- //CAN WE siphon fuel from THE OBJECT?
- if ((fuel _unit > 0) && (_hasJerryE || _hasBarrelE)) then {
- r_action = true;
- _action = _unit addAction [format["Siphon fuel from %1",_typeVeh], "\z\addons\dayz_code\actions\siphonFuel.sqf",[], 0, true, true, "", ""];
- r_player_actions set [count r_player_actions,_action];
- };
- } else {
- // should only fire if cursor target is man && not vehicle
- if ((isPlayer _unit) && !(_charID in _friendlies)) then {
- r_action = true;
- _action = _unit addAction ["Tag as friendly", "\z\addons\dayz_code\actions\player_tagFriendly.sqf", [], 0, false, true, "", ""];
- r_player_actions set [count r_player_actions,_action];
- };
-
+ };
};
if (r_action) then {
r_action_targets set [(count r_action_targets), _unit];
@@ -257,57 +230,11 @@ if (isPlayer cursorTarget) then {
};
};
-/*
-if ((r_player_vehicle != _vehicle) && r_action) then {
- //Player is in a new vehicle
- r_action = false;
- call fnc_usec_medic_removeActions;
-};
-*/
-
-if (_inVehicle) then {
- //Check if patients
- _crew = crew _vehicle;
- if (count _crew > 0) then {
- _unconscious_crew = [];
- {
- if (_x getVariable "NORRN_unconscious") then {
- _unconscious_crew = _unconscious_crew + [_x]
- };
- } count _crew;
- _patients = (count _unconscious_crew);
- if (_patients > 0) then {
- if (!r_action_unload) then {
- r_action_unload = true;
- _vehType = typeOf _vehicle;
- _action = _vehicle addAction [format[localize "str_actions_medical_14",_vehType], "\z\addons\dayz_code\medical\load\unLoad_act.sqf",[player,_vehicle], 0, false, true];
- r_player_actions set [count r_player_actions,_action];
- };
- } else {
- if (r_action_unload) then {
- call fnc_usec_medic_removeActions;
- r_action_unload = false;
- };
- };
- };
- //hintSilent format["Crew: %1\nPatients: %2\nAction: %3",(count _crew),_patients,r_action_unload];
-} else {
- if (r_action_unload) then {
- r_action_unload = false;
- call fnc_usec_medic_removeActions;
- };
-};
-
//Remove Actions
-if ((!_isClose || !_hasPatient) && r_action) then {
+if ((!_isClose or !_hasPatient) && r_action) then {
call fnc_usec_medic_removeActions;
r_action = false;
};
//Monitor
-player setVariable ["damageActions", diag_ticktime, false];
-//Pain Effects
-//if (r_player_inpain && !r_player_unconscious) then {
-// playSound "breath_1";
-// addCamShake [2, 1, 25];
-//};
+player setVariable ["damageActions", diag_ticktime, false];
\ No newline at end of file
diff --git a/SQF/dayz_epoch_b/stringtable.xml b/SQF/dayz_epoch_b/stringtable.xml
index a8fece360..16863764b 100644
--- a/SQF/dayz_epoch_b/stringtable.xml
+++ b/SQF/dayz_epoch_b/stringtable.xml
@@ -2957,33 +2957,6 @@
-
- To pilot's seat
- Al asiento de piloto
- На место пилота
- Vers la place conducteur
- Na místo pilota
-
-
-
-
- To back seat
- Al asiento trasero
- На сиденье пассажира
- Vers une place passager
- Na zadní sedadlo
-
-
-
-
- To gunner's seat
- Al asiento del artillero
- На место стрелка
- Vers la place du tireur
- Na sedadlo střelce
-
-
-
To commander's seat
Para el asiento del comandante