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);
}
}
}
}
}