1234567891011121314151617181920212223242526272829303132333435 |
- class ActionTurnOffWhileOnGround: ActionInteractBase
- {
- void ActionTurnOffWhileOnGround()
- {
- m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_INTERACTONCE;
- m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
- m_Text = "#switch_off";
- }
- override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
- {
- EntityAI target_entity = EntityAI.Cast( target.GetObject() );
-
- InventoryLocation loc = new InventoryLocation;
- target_entity.GetInventory().GetCurrentInventoryLocation(loc);
-
- return ( player.IsAlive() && target_entity.HasEnergyManager() && target_entity.GetCompEM().CanSwitchOff()) && loc.GetType() == InventoryLocationType.GROUND );
- }
- override void OnExecuteServer( ActionData action_data )
- {
- EntityAI target_entity = EntityAI.Cast( action_data.m_Target.GetObject() );
-
- if ( target_entity.GetCompEM().CanSwitchOff() )
- {
- target_entity.GetCompEM().SwitchOff();
-
- InformPlayers( action_data.m_Player, action_data.m_Target, UA_FINISHED ); //Success
- }
- else
- {
- InformPlayers( action_data.m_Player, action_data.m_Target, UA_FAILED ); //Already turned off
- }
- }
- }
|