| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | using Fort23.Core;using GameLogic.Combat.Buff;using GameLogic.Combat.CombatTool;using GameLogic.Combat.Hero;using UnityEngine;using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;namespace GameLogic.Combat.Skill.MagicSkill{    /// <summary>    /// 对敌人照成伤害,使敌人五行混乱。敌人的功法每次使用功法都将使用最低灵根属性作为伤害计算,持续{0}秒    /// 使敌人的所有灵根降低10%持续5秒    /// </summary>    public class S3101 : MagicSkillBasic    {        private CombatHeroEntity target;        protected override void ProMagicUseSkill()        {            // StraightLineShow straightLineShow = new StraightLineShow();            // straightLineShow.Init(this);            CombatHeroEntity[] allHero =                CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);            if (allHero == null || allHero.Length <= 0)            {                SkillPlayFinish();                return;            }            target = allHero[0];            MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish);            SetMagicAttShowBasic(magicAttShowBasic);        }        protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(            TimeLineEventLogicBasic timeLineEventLogicBasic)        {            ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];            lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();            return lifetCycleHitPoints;        }        private void Finish()        {            BuffInfo buffInfo = BuffInfo.GetBuffInfo(10091, effectValue[0], 1);            BuffBasic buffBasic = target.BuffControl.AddBuff(CombatHeroEntity, buffInfo);            if (buffBasic != null && SelfSkillConfig.level > 5)            {                float v = effectValue[0];                target.CurrCombatHeroInfo.Metal -= v;                target.CurrCombatHeroInfo.Wood -= v;                target.CurrCombatHeroInfo.Water -= v;                target.CurrCombatHeroInfo.Fire -= v;                target.CurrCombatHeroInfo.Earth -= v;                buffBasic.buffFinish=delegate ()                {                    target.CurrCombatHeroInfo.Metal += v;                    target.CurrCombatHeroInfo.Wood += v;                    target.CurrCombatHeroInfo.Water += v;                    target.CurrCombatHeroInfo.Fire += v;                    target.CurrCombatHeroInfo.Earth += v;                };            }            //             Debug.Log("法宝对敌人照成伤害");            ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();            if (lifetCycleHitPoint == null)            {                SkillPlayFinish();                return;            }                        BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);            cBetterList.Add(lifetCycleHitPoint);            ActivationTimeLineData("gongji", currTarget: cBetterList);            SkillPlayFinish();                        // HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();            // harmReturnInfo.source = CombatHeroEntity;            // harmReturnInfo.target = target.GetMainHotPoin<CombatHeroHitPoint>();            // harmReturnInfo.att = 200;            // harmReturnInfo.attType = AttType.Normal;            // harmReturnInfo.harmType = HarmType.Default;            // harmReturnInfo.triggerData = triggerData;            // target.HeroHurt(harmReturnInfo);            CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity, lifetCycleHitPoint as CombatHeroHitPoint, 1, AttType.FaBao, triggerData,wuXingType,null,                HarmType.Default);        }    }}
 |