| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | using System.Collections.Generic;using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;using GameLogic.Combat.Buff;using GameLogic.Combat.CombatTool;using GameLogic.Combat.Hero;using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;namespace GameLogic.Combat.Skill{    /// <summary>    /// 随机为一名队友恢复{0}%生命值    /// </summary>    public class S9092 : SkillBasic    {        protected override void ProUseSkill()        {            CombatHeroEntity[] allHero =                CombatController.currActiveCombat.CombatHeroController.GetHero(CombatHeroEntity.IsEnemy,out int maxCount);            CombatHeroEntity target = null;            float minHp = 9999;            for (int i = 0; i < maxCount; i++)            {                CombatHeroEntity t = allHero[i];                if (t.HpBl < minHp)                {                    minHp = t.HpBl;                    target = t;                }            }            BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();            if (target != null)            {                currTarget.Add(target.GetMainHotPoin<CombatHeroHitPoint>());            }            ActivationTimeLineData("9092", currTarget: currTarget);        }        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,            ITimelineFxLogic timelineFxLogic,            TriggerData triggerData, ISkillFeatures skillFeatures)        {            long att = CombatHeroEntity.CurrCombatHeroInfo.attack.Value;            long v=CombatCalculateTool.Instance.GetVlaueRatioForLong(att,effectValue[0]);            CombatCalculateTool.Instance.Recover(CombatHeroEntity, targetEntity, v, AttType.Skill, HarmType.Default,                triggerData);            // List<BuffBasic> allBuff = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForBuffType(2, 1);            // if (allBuff.Count > 0)            // {            //     int index = CombatCalculateTool.Instance.GetOdd(0, allBuff.Count);            //     targetEntity.combatHeroEntity.BuffControl.RemoveBuff(allBuff[index]);            // }        }    }}
 |