Files
DayZ-Epoch/SQF/dayz_code/actions/repair.sqf
ebayShopper 78fbd7ac53 Remove some unnecessary translations
Using "Wait for the previous action to complete to perform another" is
more accurate in these cases, because dayz_actionInProgress could have
been set by any action, not necessarily the same one.
2017-04-15 14:19:26 -04:00

58 lines
1.9 KiB
Plaintext

if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_array","_vehicle","_part","_hitpoint","_type","_hasToolbox","_section","_nameType","_namePart","_damage","_selection","_dis","_sfx","_hitpoints","_allFixed","__FILE__"];
_id = _this select 2;
_array = _this select 3;
_vehicle = _array select 0;
_part = _array select 1;
_hitpoint = _array select 2;
_type = typeOf _vehicle;
{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
dayz_myCursorTarget = objNull;
//diag_log(format["%1 %2", __FILE__, _this]);
_hasToolbox = "ItemToolbox" in items player;
_section = _part in magazines player;
//moving this here because we need to know which part needed if we don't have it
_nameType = getText(configFile >> "cfgVehicles" >> _type >> "displayName");
_namePart = getText(configFile >> "cfgMagazines" >> _part >> "displayName");
if (_section and _hasToolbox) then {
player removeMagazine _part;
player playActionNow "Medic";
sleep 1;
_dis=20;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
// Added Nutrition-Factor for work
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
sleep 5;
_damage = [_vehicle,_hitpoint] call object_getHit;
_vehicle removeAction _id;
//dont waste loot on undamaged parts
if (_damage > 0) then {
//Fix the part
_selection = getText(configFile >> "cfgVehicles" >> _type >> "HitPoints" >> _hitpoint >> "name");
[_vehicle, _selection, 0, true] call fnc_veh_handleRepair;
_vehicle setvelocity [0,0,1];
//Success!
format[localize "str_player_04",_namePart,_nameType] call dayz_rollingMessages;
} else {
player addMagazine _part;
};
} else {
format[localize "str_player_03",_namePart] call dayz_rollingMessages;
};
dayz_actionInProgress = false;