actionturnofftransmitter.c 959 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class ActionTurnOffTransmitterCB : ActionSingleUseBaseCB
  2. {
  3. override void CreateActionComponent()
  4. {
  5. m_ActionData.m_ActionComponent = new CASingleUse();
  6. }
  7. }
  8. class ActionTurnOffTransmitter: ActionTurnOffWhileInHands
  9. {
  10. void ActionTurnOffTransmitter()
  11. {
  12. m_CallbackClass = ActionTurnOffTransmitterCB;
  13. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ITEM_OFF;
  14. m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_ITEM_OFF;
  15. m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
  16. m_Text = "#turn_off";
  17. }
  18. override bool HasProneException()
  19. {
  20. return true;
  21. }
  22. override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
  23. {
  24. if (item.IsTransmitter())
  25. {
  26. return item.HasEnergyManager() && item.GetCompEM().IsWorking();
  27. }
  28. return false;
  29. }
  30. override void OnExecuteServer(ActionData action_data)
  31. {
  32. action_data.m_MainItem.GetCompEM().SwitchOff();
  33. }
  34. }