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 { /// /// 随机为一名队友恢复{0}%生命值 /// 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 currTarget = new BetterList(); if (target != null) { currTarget.Add(target.GetMainHotPoin()); } 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 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]); // } } } }