1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- class ActionDefibrilateBase: ActionContinuousBase
- {
- override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
- {
- Defibrillator defib;
- Class.CastTo(defib, item);
-
- return CanDefibrillate(defib);
- }
- bool CanDefibrillate(Defibrillator defib)
- {
- if ( defib.IsCharged() )
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- void DefibrillateClient(PlayerBase player, Defibrillator defib)
- {
- defib.DischargeClient(player);
- }
-
- void DefibrillateServer(PlayerBase player, Defibrillator defib)
- {
- if ( defib.IsCharged() )
- {
- defib.DischargeServer(player);
-
-
- float regain_energy = defib.GetEnergyNeededToCharge();
- regain_energy = defib.GetEnergyNeededToCharge() - regain_energy;
-
- ItemBase battery;
-
- if (Class.CastTo(battery, defib.GetCompEM().GetEnergySource()))
- {
- battery.GetCompEM().AddEnergy( regain_energy );
- }
- else
- {
- DPrint("ERROR! Defibrillator has no battery! Defibrillator softskill bonus can't be applied!");
- }
- }
- }
- };
|