using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; namespace GameLogic.Combat.Skill { /// /// 碧霄回春术 功法在经过木系区域时会触发生机,为角色治疗{0}生命值 /// public class S2010 : SkillBasic { protected override void ProUseSkill() { } protected override void ProActiveSkill() { CombatEventManager.Instance.AddEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots); } protected override void ProDispose() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots); } private void TriggerSkillSlots(IEventData ieventData) { TriggerSkillSlotsEventData triggerSkillSlotsEventData = ieventData as TriggerSkillSlotsEventData; if (triggerSkillSlotsEventData.SkillBasic == this) { if (triggerSkillSlotsEventData.triggerType == 2) //触发到木的位置 { long maxHp = CombatHeroEntity.CurrCombatHeroInfo.attack.Value; float addBl = effectValue[0]; if (effectValue.Length > 1) { if (CombatHeroEntity.HpBl < effectValue[1]) { addBl += effectValue[2]; } } long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxHp, addBl); Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin(true), v, AttType.Skill); } } } } }