S2010.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.CombatTool;
  4. using GameLogic.Combat.Hero;
  5. namespace GameLogic.Combat.Skill
  6. {
  7. /// <summary>
  8. /// 碧霄回春术 功法在经过木系区域时会触发生机,为角色治疗{0}生命值
  9. /// </summary>
  10. public class S2010 : SkillBasic
  11. {
  12. protected override void ProUseSkill()
  13. {
  14. }
  15. protected override void ProActiveSkill()
  16. {
  17. CombatEventManager.Instance.AddEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
  18. }
  19. protected override void ProDispose()
  20. {
  21. CombatEventManager.Instance.RemoveEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
  22. }
  23. private void TriggerSkillSlots(IEventData ieventData)
  24. {
  25. TriggerSkillSlotsEventData triggerSkillSlotsEventData = ieventData as TriggerSkillSlotsEventData;
  26. if (triggerSkillSlotsEventData.SkillBasic == this)
  27. {
  28. if (triggerSkillSlotsEventData.triggerType == 2) //触发到木的位置
  29. {
  30. long maxHp = CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
  31. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxHp, effectValue[0]);
  32. Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true), v,
  33. AttType.Skill);
  34. }
  35. }
  36. }
  37. }
  38. }