using Common.Utility.CombatEvent;
using Fort23.Core;
using GameLogic.Combat.CombatTool;
using GameLogic.Combat.Hero;
namespace GameLogic.Combat.Skill
{
///
/// 启动期间每使用一个功法生命恢复2%
///
public class S60103 : SkillBasic
{
private DS60101 ds60101;
protected override void ProActiveSkill()
{
ds60101 = CombatHeroEntity.CombatHeroSkillControl.GetSkillBasic();
CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill);
}
private void UseSkill(IEventData iEventData)
{
if (ds60101 == null || !ds60101.isSkillActive)
{
return;
}
// SkillFeaturesData mySkillFeaturesData = null;
CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;
if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity)
{
long hp = CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(hp, effectValue[0]);
CombatCalculateTool.Instance.Recover(CombatHeroEntity,
CombatHeroEntity.GetMainHotPoin(), v, AttType.Skill, HarmType.Default,
triggerData);
}
}
protected override void ProDispose()
{
CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
}
protected override void ProUseSkill()
{
}
}
}