123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 碧霄回春术 功法在经过木系区域时会触发生机,为角色治疗{0}生命值
- /// </summary>
- 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<CombatHeroHitPoint>(true), v,
- AttType.Skill);
- }
- }
- }
- }
- }
|