DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionDefibrilateBase.c
См. документацию.
2{
3 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
4 {
5 Defibrillator defib;
6 Class.CastTo(defib, item);
7
8 return CanDefibrillate(defib);
9 }
10
11 bool CanDefibrillate(Defibrillator defib)
12 {
13 if ( defib.IsCharged() )
14 {
15 return true;
16 }
17 else
18 {
19 return false;
20 }
21 }
22
23 void DefibrillateClient(PlayerBase player, Defibrillator defib)
24 {
25 defib.DischargeClient(player);
26 }
27
28 void DefibrillateServer(PlayerBase player, Defibrillator defib)
29 {
30 if ( defib.IsCharged() )
31 {
32 defib.DischargeServer(player);
33
34
35 float regain_energy = defib.GetEnergyNeededToCharge();
36 regain_energy = defib.GetEnergyNeededToCharge() - regain_energy;
37
38 ItemBase battery;
39
40 if (Class.CastTo(battery, defib.GetCompEM().GetEnergySource()))
41 {
42 battery.GetCompEM().AddEnergy( regain_energy );
43 }
44 else
45 {
46 DPrint("ERROR! Defibrillator has no battery! Defibrillator softskill bonus can't be applied!");
47 }
48 }
49 }
50};
class ActionTargets ActionTarget
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionDefibrilateBase.c:3
void DefibrillateClient(PlayerBase player, Defibrillator defib)
Определения ActionDefibrilateBase.c:23
void DefibrillateServer(PlayerBase player, Defibrillator defib)
Определения ActionDefibrilateBase.c:28
bool CanDefibrillate(Defibrillator defib)
Определения ActionDefibrilateBase.c:11
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
proto void DPrint(string var)
Prints content of variable to console/log. Should be used for critical messages so it will appear in ...
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.