| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.CombatTool;using GameLogic.Combat.Hero;using UnityEngine;using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;namespace GameLogic.Combat.Skill{    /// <summary>    /// 木灵分身    /// 生命低于{0}%时触发,木灵的根须快速在自身周围生出2个木灵之子,木灵之子之有普通攻击,木灵之子拥有boss的{1}最大生命值的生命    ///(等级跟随boss的等级走)    /// </summary>    public class S9062 : SkillBasic    {        private bool _isTrigger;        protected override void ProUseSkill()        {        }        protected override void ProActiveSkill()        {            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);        }        protected override void ProDispose()        {            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);        }        private void HeroInjured(IEventData data)        {            if (_isTrigger)            {                return;            }            HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;            if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)            {                if (CombatHeroEntity.HpBl < effectValue[0])                {                    _isTrigger = true;                    ZhaoHuan();                }            }        }        private void ZhaoHuan()        {            for (int i = 0; i < 2; i++)            {                CombatHeroEntity heroEntity = new CombatHeroEntity();                heroEntity.IsEnemy = true;                CombatHeroInfo combatHeroInfo = new CombatHeroInfo();                combatHeroInfo.InitMonster(1000, 1);                // testHeroInfoConfig.CopyToCombatHeroInfo((combatHeroInfo));                Vector3 pos = Vector3.forward;                heroEntity.Init(new CombatHeroAi(), combatHeroInfo, pos,                    delegate(CombatHeroEntity entity)                    {                        CombatController.currActiveCombat.CombatHeroController.AddHero(entity);                    });            }        }        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,            ITimelineFxLogic timelineFxLogic,            TriggerData triggerData, ISkillFeatures skillFeatures)        {            // float harmBl = 0;            // b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();            // if (b1018 != null) //消耗一层感电,额外照成伤害            // {            //     harmBl += b1018.buffCount * effectValue[1];            // }            //            // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,            //     harmBl);            //            // HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,            //     AttType.Skill, triggerData,            //     wuXingType, skillFeatures,            //     HarmType.Default);        }    }}
 |