| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;using GameLogic.Combat.Buff;using GameLogic.Combat.CombatTool;using UnityEngine;using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;namespace GameLogic.Combat.Skill.MagicSkill{    /// <summary>    /// 混沌珠 使用后短时间内大幅提升所有灵根{0}%,一场战斗有使用{1}次    /// 使用后额外对敌人照成的功法伤害提升10%    /// </summary>    public class S3202 : MagicSkillBasic    {        private CombatHeroEntity target;        private bool isUpdate = false;        private float _currTime;        private int _useCount;        protected override void ProInitSkill()        {        }        private Vector3 GetTargetPos()        {            SpecialDotInfo specialDotInfo =                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.GetSpecialDotInfo("toupos1");            return specialDotInfo.GetWorlPos();        }        protected override void ProMagicUseSkill()        {            TimeLineEventLogicGroupBasic sk1_show = ActivationTimeLineData("sk1_show");            sk1_show.TimeLineUpdateEnd = ShowFinish;            _useCount++;        }        private void ShowFinish()        {            isUpdate = true;            _currTime = 0;            float v = SelfSkillConfig.effectValue[0];            CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Metal += v;            CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Wood += v;            CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Water += v;            CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Fire += v;            CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Earth += v;            CombatMagicWeaponEntity.combatHeroGameObject.SetPosition(GetTargetPos());            TimeLineEventLogicGroupBasic sk1 = ActivationTimeLineData("sk1");            sk1.TimeLineUpdateEnd = Skill1Finish;        }        private void Skill1Finish()        {            ActivationTimeLineData("sk1_xiaoshi");            SkillPlayFinish();        }        public override bool IsCanUse()        {            if (_useCount >= SelfSkillConfig.effectValue[1])            {                return false;            }            return true;        }        protected override void MagicSkillUpdate(float time)        {            if (!isUpdate)            {                return;            }            _currTime += time;            if (_currTime >= SelfSkillConfig.effectValue[2])            {                isUpdate = false;                float v = SelfSkillConfig.effectValue[0];                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Metal -= v;                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Wood -= v;                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Water -= v;                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Fire -= v;                CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Earth -= v;            }        }        protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(            TimeLineEventLogicBasic timeLineEventLogicBasic)        {            ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];            lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();            return lifetCycleHitPoints;        }    }}
 |