using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.Buff; using GameLogic.Combat.CombatTool; using GameLogic.Player; namespace GameLogic.Combat.Skill { /// /// 崩脉决 前方功法照成伤害时有5%概率施加一层对应属性的伤势 /// public class S2003 : SkillBasic { protected override void ProUseSkill() { } protected override void ProReplace() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured); } protected override void ProActiveSkill() { CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured); } private void HeroInjured(IEventData iEventData) { HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData; if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity) { SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic; if (skillBasic != null && IsPassiveActivateSkill(skillBasic)) { int odds = CombatCalculateTool.Instance.GetOdd(0, 100); if (odds < 5) { BuffInfo buffInfo = null; switch (skillBasic.wuXingType) { case WuXingType.Gold: buffInfo = BuffInfo.GetBuffInfo(10291, 1, this); break; case WuXingType.Fire: buffInfo = BuffInfo.GetBuffInfo(10321, 1, this); break; case WuXingType.Wood: buffInfo = BuffInfo.GetBuffInfo(10301, 1, this); break; case WuXingType.Earth: buffInfo = BuffInfo.GetBuffInfo(10331, 1, this); break; case WuXingType.Water: buffInfo = BuffInfo.GetBuffInfo(10311, 1, this); break; } heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff( CombatHeroEntity, buffInfo); } } } } } }