Files
DayZ-Epoch/SQF/dayz_code/actions/repair.sqf
2016-03-21 17:58:23 -04:00

58 lines
1.9 KiB
Plaintext

private["_id","_array","_vehicle","_part","_hitpoint","_type","_hasToolbox","_section","_nameType","_namePart","_damage","_selection","_dis","_sfx","_hitpoints","_allFixed"];
if (DZE_ActionInProgress) exitWith {cutText [localize "str_epoch_player_92","PLAIN DOWN"];};
DZE_ActionInProgress = true;
_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";
uisleep 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;
uisleep 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!
cutText [format [localize "str_player_04",_namePart,_nameType], "PLAIN DOWN"];
} else {
player addMagazine _part;
};
} else {
cutText [format [localize "str_player_03",_namePart], "PLAIN DOWN"];
};
DZE_ActionInProgress = false;