summaryrefslogtreecommitdiffstats
path: root/Client/Module/Skill/Skill_Engineer.sqf
blob: ec65cde5f59ce2ccc3b9a91bca5f86c27d76f72f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
	Script: Engineer Skill System by Benny.
	Description: Add special skills to the defined engineer.
*/
Private ['_dammages','_skip','_sorted','_vehicle','_vehicles','_z'];


private ["_x","_skip","_dammages","_vehicles","_sorted","_vehicle"];
_vehicles = player nearEntities [["Car","Motorcycle","Tank","Ship","Air","StaticWeapon"],5];
if (count _vehicles < 1) exitWith {};

_sorted = [player,_vehicles] Call SortByDistance;
_vehicle = _sorted select 0;

_dammages = getDammage _vehicle;
if (_dammages <= 0) exitWith {};
WFBE_SK_V_LastUse_Repair = time;

_skip = false;
for [{_z = 0},{_z < 5},{_z = _z + 1}] do {
	sleep 0.5;
	player playMove "AinvPknlMstpSlayWrflDnon_medic";
	sleep 0.5;
	waitUntil {animationState player == "ainvpknlmstpslaywrfldnon_amovpknlmstpsraswrfldnon" || !alive player || vehicle player != player || !alive _vehicle || _vehicle distance player > 5};
	if (!alive player || vehicle player != player || !alive _vehicle || _vehicle distance player > 5) exitWith {_skip = true};
};

if (!_skip) then {
	_dammages = _dammages - 0.15;
	if (_dammages < 0) then {_dammages = 0};
	_vehicle setDammage _dammages;
};