actionrepairwithtoolfromhands.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // This is just a test action!
  2. class ActionRepairWithToolFromHands: ActionSingleUseBase
  3. {
  4. void ActionRepairWithToolFromHands()
  5. {
  6. m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_HIGH;
  7. m_Text = "#repair";
  8. }
  9. override void CreateConditionComponents()
  10. {
  11. m_ConditionItem = new CCINonRuined;
  12. m_ConditionTarget = new CCTNonRuined(UAMaxDistances.DEFAULT);
  13. }
  14. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  15. {
  16. Object targetObject = target.GetObject();
  17. if ( targetObject /*&& targetObject.IsKindOf("ItemBase")*/ )
  18. {
  19. ItemBase item_to_repair = ItemBase.Cast( targetObject );
  20. bool can_repair = item_to_repair.CanRepair(item);
  21. return can_repair;
  22. }
  23. return false;
  24. }
  25. override void OnExecuteServer( ActionData action_data )
  26. {
  27. Object targetObject = action_data.m_Target.GetObject();
  28. if ( targetObject /* && targetObject.IsKindOf("ItemBase")*/ )
  29. {
  30. ItemBase item_to_repair = ItemBase.Cast( targetObject );
  31. Param1<float> nacdata = Param1<float>.Cast( action_data.m_ActionComponent.GetACData() );
  32. bool was_repaired = item_to_repair.Repair(action_data.m_Player, action_data.m_MainItem, nacdata.param1);
  33. }
  34. }
  35. };