actionpin.c 902 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. class ActionPin extends ActionSingleUseBase
  2. {
  3. void ActionPin()
  4. {
  5. m_Text = "#pin";
  6. }
  7. override void CreateConditionComponents()
  8. {
  9. m_ConditionItem = new CCINonRuined;
  10. m_ConditionTarget = new CCTNone;
  11. }
  12. override bool HasTarget()
  13. {
  14. return false;
  15. }
  16. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  17. {
  18. /*
  19. if ( item.IsInherited(Grenade_Base) )
  20. {
  21. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PINGRENAGE;
  22. }
  23. else
  24. */
  25. {
  26. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ITEM_ON;
  27. }
  28. Grenade_Base grenade = Grenade_Base.Cast(item);
  29. if( grenade )
  30. {
  31. if( !grenade.IsPinned() && grenade.IsPinnable() )
  32. {
  33. return true;
  34. }
  35. }
  36. return false;
  37. }
  38. override void OnExecute( ActionData action_data )
  39. {
  40. Grenade_Base grenade = Grenade_Base.Cast(action_data.m_MainItem);
  41. if( grenade )
  42. {
  43. grenade.Pin();
  44. }
  45. }
  46. }