actionstripcarriervest.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. class ActionStripCarrierVestCB : ActionContinuousBaseCB
  2. {
  3. override void CreateActionComponent()
  4. {
  5. m_ActionData.m_ActionComponent = new CAContinuousTime(UATimeSpent.DEFAULT);
  6. }
  7. };
  8. //!DEPRECATED
  9. class ActionStripCarrierVest: ActionContinuousBase
  10. {
  11. void ActionStripCarrierVest()
  12. {
  13. m_CallbackClass = ActionStripCarrierVestCB;
  14. m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
  15. m_FullBody = true;
  16. m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
  17. m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
  18. m_Text = "#strip_vest";
  19. }
  20. override void CreateConditionComponents()
  21. {
  22. m_ConditionItem = new CCINonRuined;
  23. m_ConditionTarget = new CCTNone;
  24. }
  25. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  26. {
  27. if ( item.GetNumberOfItems() > 0 )
  28. {
  29. return false;
  30. }
  31. return true;
  32. }
  33. override bool HasTarget()
  34. {
  35. return false;
  36. }
  37. override void OnFinishProgressServer( ActionData action_data )
  38. {
  39. if ( action_data.m_MainItem && action_data.m_MainItem.GetHierarchyRootPlayer() == action_data.m_Player )
  40. {
  41. TStringArray results;
  42. Class.CastTo(results, new TStringArray);
  43. string itemName = action_data.m_MainItem.GetType();
  44. EntityAI object;
  45. results.Insert("PlateCarrierBlank");
  46. switch (itemName)
  47. {
  48. case "PlateCarrierHolster":
  49. results.Insert("CarrierHolsterSolo");
  50. break
  51. case "PlateCarrierPouches":
  52. results.Insert("CarrierPouches");
  53. break
  54. case "PlateCarrierComplete":
  55. results.Insert("CarrierPouches");
  56. results.Insert("CarrierHolsterSolo");
  57. break
  58. }
  59. for ( int i = 0; i < results.Count(); i++ )
  60. {
  61. object = EntityAI.Cast( GetGame().CreateObjectEx(results.Get(i), action_data.m_Player.GetPosition(), ECE_PLACE_ON_SURFACE) );
  62. object.SetHealth("","",action_data.m_MainItem.GetHealth("",""));
  63. }
  64. action_data.m_MainItem.Delete();
  65. action_data.m_MainItem = NULL;
  66. }
  67. }
  68. };