mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Merge pull request #2050 from worldwidesorrow/master
Add option to give another player an antibacterial wipe.
This commit is contained in:
@@ -19,7 +19,7 @@ call {
|
||||
if (_item == "ItemPainkiller") exitWith {[0,0,0,[player]] execVM "\z\addons\dayz_code\medical\painkiller.sqf";};
|
||||
if (_item == "ItemAntibiotic") exitWith {[player,"ItemAntibiotic"] execVM "\z\addons\dayz_code\medical\antibiotics.sqf";};
|
||||
if (_item == "ItemBloodbag") exitWith {[player,"ItemBloodbag"] execVM "\z\addons\dayz_code\medical\selfbloodbag.sqf";};
|
||||
if (_item == "ItemAntibacterialWipe") exitWith {execVM "\z\addons\dayz_code\medical\wipes.sqf";};
|
||||
if (_item == "ItemAntibacterialWipe") exitWith {[0,0,0,[player]] execVM "\z\addons\dayz_code\medical\wipes.sqf";};
|
||||
if (_item == "ItemHeatPack") exitWith {player removeMagazine "ItemHeatPack"; r_player_warming_heatpack = [true, diag_tickTime]; localize "str_player_27" call dayz_rollingMessages;}; //dayz_temperatur = (dayz_temperatur + 5) min dayz_temperaturmax;
|
||||
if (_item == "equip_woodensplint") exitWith {[0,0,0,[player,"equip_woodensplint"]] execVM "\z\addons\dayz_code\medical\brokeBones.sqf";};
|
||||
if (_item == "ItemSepsisBandage") exitWith {[0,0,0,[player,"ItemSepsisBandage"]] execVM "\z\addons\dayz_code\medical\bandage.sqf";};
|
||||
|
||||
@@ -8,7 +8,7 @@ scriptName "Functions\misc\fn_damageActions.sqf";
|
||||
- [] call fnc_usec_damageActions;
|
||||
************************************************************/
|
||||
|
||||
private ["_dragged","_menClose","_hasPatient","_vehicle","_inVehicle","_isClose","_assignedRole","_driver","_action","_turret","_weapons","_weaponName","_crew","_unconscious_crew","_patients","_vehType","_unit","_antibiotics","_bloodBags","_unconscious","_lowBlood","_injured","_hasSepsis","_inPain","_legsBroke","_armsBroke","_infected","_hasBandage","_hasSepsisBandage","_hasEpi","_hasMorphine","_hasSplint","_hasPainkillers","_hasAntibiotics","_hasBloodBag","_vehClose","_action1","_action2","_action3","_playerMagazines","_isFriendly"];
|
||||
private ["_hasABWipes","_dragged","_menClose","_hasPatient","_vehicle","_inVehicle","_isClose","_assignedRole","_driver","_action","_turret","_weapons","_weaponName","_crew","_unconscious_crew","_patients","_vehType","_unit","_antibiotics","_bloodBags","_unconscious","_lowBlood","_injured","_hasSepsis","_inPain","_legsBroke","_armsBroke","_infected","_hasBandage","_hasSepsisBandage","_hasEpi","_hasMorphine","_hasSplint","_hasPainkillers","_hasAntibiotics","_hasBloodBag","_vehClose","_action1","_action2","_action3","_playerMagazines","_isFriendly"];
|
||||
|
||||
_menClose = cursorTarget;
|
||||
_hasPatient = alive _menClose;
|
||||
@@ -141,6 +141,7 @@ if (isPlayer cursorTarget) then {
|
||||
_hasSplint = "equip_woodensplint" in _playerMagazines;
|
||||
_hasPainkillers = "ItemPainkiller" in _playerMagazines;
|
||||
_hasAntibiotics = Array_Any(_playerMagazines, {_this in _antibiotics});
|
||||
_hasABWipes = "ItemAntibacterialWipe" in _playerMagazines;
|
||||
if (dayz_classicBloodBagSystem) then {
|
||||
_hasBloodBag = "ItemBloodbag" in _playerMagazines;
|
||||
} else {
|
||||
@@ -177,12 +178,18 @@ if (isPlayer cursorTarget) then {
|
||||
_action = _unit addAction [localize "str_actions_medical_04", "\z\addons\dayz_code\medical\bandage.sqf",[_unit,"ItemBandage"], 0, true, true];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Sepsis
|
||||
//Allow player to give sepsis bandage
|
||||
if((_injured || {_hasSepsis}) && {_hasSepsisBandage}) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [localize "str_actions_medical_04_sepsis", "\z\addons\dayz_code\medical\bandage.sqf",[_unit,"ItemSepsisBandage"], 0, true, true];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Allow player to give antibacterial wipe
|
||||
if(_hasSepsis && {_hasABWipes}) then {
|
||||
r_action = true;
|
||||
_action = _unit addAction [format[localize "str_actions_medical_08a",localize "STR_ITEM_DESC_WIPES"], "\z\addons\dayz_code\medical\wipes.sqf",[_unit], 0, true, true];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
};
|
||||
//Allow player to give Epinephrine
|
||||
if(_unconscious && {_hasEpi}) then {
|
||||
r_action = true;
|
||||
@@ -217,7 +224,7 @@ if (isPlayer cursorTarget) then {
|
||||
} else {
|
||||
_tempArray = [];
|
||||
{ // This was a TODO by the Vanilla Mod devs.
|
||||
if (_x in magazines player && {!(_x in _tempArray)}) then {
|
||||
if (_x in _playerMagazines && {!(_x in _tempArray)}) then {
|
||||
_displayName = getText(configFile >> "cfgMagazines" >> _x >> "displayName");
|
||||
_action = _unit addAction [format[localize "str_actions_medical_08a",_displayName], "\z\addons\dayz_code\medical\transfusion.sqf",[_unit,_x], 0, true, true];
|
||||
r_player_actions set [count r_player_actions,_action];
|
||||
|
||||
@@ -79,6 +79,7 @@ if (!isDedicated) then {
|
||||
player_medMorphine = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";
|
||||
player_medPainkiller = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf";
|
||||
player_medAntiBiotics = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medAntibiotics.sqf";
|
||||
player_medABWipe = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medABwipe.sqf";
|
||||
|
||||
//actions
|
||||
userActionConditions = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\userActionConditions.sqf";
|
||||
|
||||
@@ -255,6 +255,7 @@ if (!isDedicated) then {
|
||||
"PVCDZ_hlt_Transfuse" addPublicVariableEventHandler {(_this select 1) spawn player_medTransfuse; };
|
||||
"PVCDZ_hlt_PainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
|
||||
"PVCDZ_hlt_AntiB" addPublicVariableEventHandler {(_this select 1) call player_medAntiBiotics};
|
||||
"PVCDZ_hlt_Wipe" addPublicVariableEventHandler {(_this select 1) call player_medABWipe};
|
||||
"PVCDZ_OpenTarget_Reset" addPublicVariableEventHandler { OpenTarget_Time = diag_tickTime; }; //reset OpenTarget timer
|
||||
|
||||
"PVCDZ_plr_Legs" addPublicVariableEventHandler {
|
||||
|
||||
12
SQF/dayz_code/medical/publicEH/medABwipe.sqf
Normal file
12
SQF/dayz_code/medical/publicEH/medABwipe.sqf
Normal file
@@ -0,0 +1,12 @@
|
||||
private ["_unit","_medic"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_medic = _this select 1;
|
||||
|
||||
r_player_Sepsis = [false, 0];
|
||||
_unit setVariable ["USEC_Sepsis", false, true];
|
||||
_unit setVariable ["sepsisStarted", nil];
|
||||
|
||||
if (_medic != player) then {
|
||||
format [localize "str_actions_medical_general_received",(name _medic),localize "STR_ITEM_DESC_WIPES"] call dayz_rollingMessages;
|
||||
};
|
||||
@@ -1,4 +1,6 @@
|
||||
private "_finished";
|
||||
private ["_finished","_unit"];
|
||||
|
||||
_unit = (_this select 3) select 0;
|
||||
|
||||
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
|
||||
dayz_actionInProgress = true;
|
||||
@@ -18,10 +20,23 @@ if (vehicle player == player) then {
|
||||
};
|
||||
|
||||
if (_finished) then {
|
||||
r_player_Sepsis = [false, 0];
|
||||
player setVariable ["USEC_Sepsis", false, true];
|
||||
player setVariable ["sepsisStarted", nil];
|
||||
localize "str_actions_medical_wipe_self" call dayz_rollingMessages;
|
||||
if (_unit == player) then {
|
||||
// Self healing
|
||||
r_player_Sepsis = [false, 0];
|
||||
_unit setVariable ["USEC_Sepsis", false, true];
|
||||
_unit setVariable ["sepsisStarted", nil];
|
||||
|
||||
localize "str_actions_medical_wipe_self" call dayz_rollingMessages;
|
||||
} else {
|
||||
// Heal another player
|
||||
PVDZ_send = [_unit,"AntiBacterialWipe",[_unit,player]];
|
||||
publicVariableServer "PVDZ_send";
|
||||
|
||||
// Give humanity
|
||||
[20,0] call player_humanityChange;
|
||||
|
||||
format[localize "str_actions_medical_general_give",localize "STR_ITEM_DESC_WIPES",(name _unit)] call dayz_rollingMessages;
|
||||
};
|
||||
} else {
|
||||
player addMagazine "ItemAntibacterialWipe";
|
||||
};
|
||||
|
||||
@@ -6124,12 +6124,12 @@
|
||||
<German>Desinfektionstücher</German>
|
||||
</Key>
|
||||
<Key ID="STR_ITEM_DESC_WIPES">
|
||||
<English>Antibacterial Wipe.</English>
|
||||
<Russian>Антибактериальные салфетки.</Russian>
|
||||
<Spanish>Gasa estéril con plata antibacteriana.</Spanish>
|
||||
<English>Antibacterial Wipe</English>
|
||||
<Russian>Антибактериальные салфетки</Russian>
|
||||
<Spanish>Gasa estéril con plata antibacteriana</Spanish>
|
||||
<French>Lingette antibactérienne</French>
|
||||
<Czech>Antibakteriální ubrousky</Czech>
|
||||
<German>Antibakterielle Desinfektionstücher, mit welchen Wunden gereinigt und desinfiziert werden können.</German>
|
||||
<German>Antibakterielle Desinfektionstücher, mit welchen Wunden gereinigt und desinfiziert werden können</German>
|
||||
</Key>
|
||||
<Key ID="STR_ITEM_NAME_FISHINGPOLE">
|
||||
<English>Fishing Pole</English>
|
||||
|
||||
@@ -108,6 +108,11 @@ call {
|
||||
_owner publicVariableClient "PVCDZ_hlt_AntiB";
|
||||
};
|
||||
|
||||
if (_variable == "AntiBacterialWipe") exitWith {
|
||||
PVCDZ_hlt_Wipe = _arraytosend;
|
||||
_owner publicVariableClient "PVCDZ_hlt_Wipe";
|
||||
};
|
||||
|
||||
if (_variable == "Legs") exitWith {
|
||||
PVCDZ_plr_Legs = _arraytosend;
|
||||
_owner publicVariableClient "PVCDZ_plr_Legs";
|
||||
|
||||
Reference in New Issue
Block a user