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]);
// }
}
}
}