| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | using System.Collections.Generic;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}个格子流动{1}秒    /// </summary>    public class S3203 : MagicSkillBasic    {        private CombatHeroEntity target;        protected override void ProMagicUseSkill()        {            // StraightLineShow straightLineShow = new StraightLineShow();            // straightLineShow.Init(this);            target=  CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CombatAIBasic.currFocusTarget;            if (target == null )            {                SkillPlayFinish();                return;            }                       MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(target, Finish);            SetMagicAttShowBasic(magicAttShowBasic);        }        protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(            TimeLineEventLogicBasic timeLineEventLogicBasic)        {            ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];            lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();            return lifetCycleHitPoints;        }        private void Finish()        {            //             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();            List<int> buffId = new List<int>() { 10191, 10201, 10211, 10221, 10231 };            for (int i = 0; i < effectValue[1]; i++)            {                int index = CombatCalculateTool.Instance.GetOdd(0, buffId.Count);                int id = buffId[index];                BuffInfo buffInfo = BuffInfo.GetBuffInfo(id, effectValue[2], 1,this);                BuffBasic buffBasic = target.BuffControl.AddBuff(CombatHeroEntity, buffInfo);                buffId.RemoveAt(index);            }            long att = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.attack.Value;            long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[0]);            CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,                lifetCycleHitPoint as CombatHeroHitPoint, harm, AttType.FaBao, triggerData, wuXingType, null,                HarmType.Default);        }    }}
 |