本文整理汇总了C#中SFXChallenger.Wrappers.Spell.IsKillable方法的典型用法代码示例。如果您正苦于以下问题:C# SFXChallenger.Wrappers.Spell.IsKillable方法的具体用法?C# SFXChallenger.Wrappers.Spell.IsKillable怎么用?C# SFXChallenger.Wrappers.Spell.IsKillable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SFXChallenger.Wrappers.Spell
的用法示例。
在下文中一共展示了SFXChallenger.Wrappers.Spell.IsKillable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Farm
public static void Farm(Spell spell,
int minHit = 3,
float overrideWidth = -1f,
bool chargeMax = true,
List<Obj_AI_Base> minions = null)
{
if (!spell.IsReady())
{
return;
}
var spellWidth = overrideWidth > 0 ? overrideWidth : spell.Width;
if (minions == null)
{
minions =
MinionManager.GetMinions(
(((chargeMax && spell.IsChargedSpell ? spell.ChargedMaxRange : spell.Range) + spellWidth) * 1.5f),
MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);
}
if (minions.Count == 0)
{
return;
}
if (minHit > 1)
{
var nearest = minions.OrderBy(m => m.Distance(ObjectManager.Player)).FirstOrDefault();
if (nearest != null && nearest.Team == GameObjectTeam.Neutral)
{
minHit = 1;
}
}
if (spell.IsSkillshot)
{
if (spell.Type == SkillshotType.SkillshotCircle)
{
CircleFarm(spell, minions, minHit, overrideWidth);
}
else if (spell.Type == SkillshotType.SkillshotLine)
{
LineFarm(spell, minions, minHit, overrideWidth);
}
else if (spell.Type == SkillshotType.SkillshotCone)
{
ConeFarm(spell, minions, minHit, overrideWidth);
}
}
else
{
var minion =
minions.OrderBy(m => spell.IsKillable(m))
.FirstOrDefault(
m =>
spell.IsInRange(m) && spell.GetDamage(m) > m.Health ||
m.Health - spell.GetDamage(m) > m.MaxHealth * 0.25f);
if (minion != null)
{
spell.CastOnUnit(minion);
}
}
}
示例2: Farm
public static void Farm(Spell spell,
List<Obj_AI_Base> minions,
int minHit = 3,
float overrideWidth = -1f,
bool chargeMax = true)
{
if (!spell.IsReady() || minions.Count == 0)
{
return;
}
if (spell.IsSkillshot)
{
if (spell.Collision)
{
minHit = 1;
}
if (spell.Type == SkillshotType.SkillshotCircle)
{
CircleFarm(spell, minions, minHit, overrideWidth);
}
else if (spell.Type == SkillshotType.SkillshotLine)
{
LineFarm(spell, minions, minHit, overrideWidth);
}
else if (spell.Type == SkillshotType.SkillshotCone)
{
ConeFarm(spell, minions, minHit, overrideWidth);
}
}
else
{
var minion =
minions.OrderBy(m => spell.IsKillable(m))
.FirstOrDefault(
m =>
spell.IsInRange(m) && spell.GetDamage(m) > m.Health ||
m.Health - spell.GetDamage(m) > m.MaxHealth * 0.25f);
if (minion != null)
{
spell.CastOnUnit(minion);
}
}
}