using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using GameLogic.Combat.Buff; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; using UnityEngine; using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface; namespace GameLogic.Combat.Skill { /// /// 飞出{0}道巨龙,对敌人照成{1}火系伤害 /// 如果敌人处于灼痛中对敌人照成胆摄,眩晕敌人2秒 /// 飞龙数量+1,并对敌人施加1层灼烧 ///飞龙命中目标后引发天雷,对敌人额外照成100%伤害 /// public class S1402 : SkillBasic { private static int[] zdPosIndex = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 }; protected override void ProUseSkill() { this.AddTriggerCallBack("lieyanjian_zd", ProDefaultTimeLineTrigger_ZD); ActivationTimeLineData("lieyanjian"); } protected override void ProTimelineFxLogicInit(string groupName, ITimelineFxLogic timelineFxLogic, TriggerData triggerData) { } protected void ProDefaultTimeLineTrigger_ZD(string groupName, CombatHeroHitPoint targetEntity, ITimelineFxLogic timelineFxLogic, TriggerData triggerData) { long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value, effectValue[1]); CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData, wuXingType, HarmType.Default); b_1010 b1010 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType(); if (b1010 != null) { BuffInfo buffInfo = BuffInfo.GetBuffInfo(10061, 1);//眩晕敌人 targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo); } // // BuffInfo buffInfo = BuffInfo.GetBuffInfo(10051, 1); // targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo); // // // if (SelfSkillConfig.level >= 5) //每个烈焰剑将会对敌人照成爆燃,爆燃额外受到100%伤害 // { // long v2 = CombatCalculateTool.Instance.GetVlaueRatioForLong( // CombatHeroEntity.CurrCombatHeroInfo.attack.Value, // effectValue[3]); // CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v2, AttType.Skill, triggerData, // wuXingType, // HarmType.Default); // } } protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity, ITimelineFxLogic timelineFxLogic, TriggerData triggerData) { for (int i = 0; i < effectValue[0]; i++) { CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget .GetThis() .GetMainHotPoin(); BetterList currTarget = new BetterList(1); currTarget.Add(combatHeroHitPoint); SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + zdPosIndex[i]); ActivationTimeLineData("lieyanjian_zd", currTarget: currTarget, customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i); } } } }