本文整理汇总了C#中SFXChallenger.Wrappers.Spell类的典型用法代码示例。如果您正苦于以下问题:C# SFXChallenger.Wrappers.Spell类的具体用法?C# SFXChallenger.Wrappers.Spell怎么用?C# SFXChallenger.Wrappers.Spell使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SFXChallenger.Wrappers.Spell类属于命名空间,在下文中一共展示了SFXChallenger.Wrappers.Spell类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 825f, DamageType.Magical);
Q.SetSkillshot(0.13f, 115f, 1400f, false, SkillshotType.SkillshotCircle);
W = new Spell(SpellSlot.W, float.MaxValue, DamageType.Magical);
W.SetSkillshot(0f, 220f, float.MaxValue, false, SkillshotType.SkillshotCircle);
E = new Spell(SpellSlot.E, 1095f, DamageType.Magical);
E.SetSkillshot(0.25f, 125f, 1700f, false, SkillshotType.SkillshotLine);
R = new Spell(SpellSlot.R, float.MaxValue, DamageType.Magical);
R.SetSkillshot(0.75f, 375f, float.MaxValue, false, SkillshotType.SkillshotCircle);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = true,
Required = true,
Force = true,
Gapcloser = false,
GapcloserDelay = false,
Interrupt = true,
InterruptDelay = false,
Spells = Spells,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, resMulti, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.w").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.e").GetValue<bool>(), true)
};
}
示例2: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 925f);
Q.SetSkillshot(0.25f, 70f, 1800f, false, SkillshotType.SkillshotLine);
Q.SetCharged("VarusQ", "VarusQ", 925, 1700, 1.5f);
W = new Spell(SpellSlot.W, 0f, DamageType.Magical);
E = new Spell(SpellSlot.E, 950f);
E.SetSkillshot(0.25f, 250f, 1500f, false, SkillshotType.SkillshotCircle);
R = new Spell(SpellSlot.R, 1075f);
R.SetSkillshot(0.25f, 120f, 1950f, false, SkillshotType.SkillshotLine);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = false,
Required = true,
Force = true,
Gapcloser = true,
GapcloserDelay = false,
Interrupt = false,
InterruptDelay = false,
Spells = Spells,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, resMulti, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.e").GetValue<bool>(), true)
};
}
示例3: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 850f);
Q.SetSkillshot(0.25f, 60f, 2000f, false, SkillshotType.SkillshotLine);
W = new Spell(SpellSlot.W, 900f, DamageType.Magical);
W.SetSkillshot(0.35f, 250f, 1650f, false, SkillshotType.SkillshotCircle);
E = new Spell(SpellSlot.E, 425f);
R = new Spell(SpellSlot.R, 1100f);
R.SetSkillshot(0.25f, 110f, 2100f, false, SkillshotType.SkillshotLine);
R2 = new Spell(SpellSlot.R, 700f);
R2.SetSkillshot(0f, 110f, 1500f, false, SkillshotType.SkillshotCone);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = false,
Required = true,
Force = true,
Gapcloser = false,
GapcloserDelay = false,
Interrupt = false,
InterruptDelay = false,
Spells = Spells,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, resMulti, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(), true)
};
}
示例4: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 600f, DamageType.Magical);
Q.Range += GameObjects.EnemyHeroes.Select(e => e.BoundingRadius).DefaultIfEmpty(50).Min();
Q.SetTargetted(0.25f, Q.Instance.SData.MissileSpeed);
W = new Spell(SpellSlot.W, 175f, DamageType.Magical);
E = new Spell(SpellSlot.E, 600f, DamageType.Magical) { Delay = 0.25f, Width = 600f };
R = new Spell(SpellSlot.R, 700f, DamageType.Magical);
R.SetSkillshot(0.25f, 175f, float.MaxValue, false, SkillshotType.SkillshotCircle);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = false,
Required = true,
Force = true,
Gapcloser = false,
GapcloserDelay = false,
Interrupt = false,
InterruptDelay = false,
Spells = Spells,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.e").GetValue<bool>(), true)
};
}
示例5: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, Player.BoundingRadius + 600f, DamageType.Magical);
Q.Range += GameObjects.EnemyHeroes.Select(e => e.BoundingRadius).DefaultIfEmpty(25).Min();
Q.SetTargetted(0.15f, 2050f);
W = new Spell(SpellSlot.W, 700f, DamageType.Magical);
W.SetSkillshot(1f, 300f, float.MaxValue, false, SkillshotType.SkillshotCircle);
E = new Spell(SpellSlot.E, 525f, DamageType.Magical);
E.SetSkillshot(0f, 90f, 800f, false, SkillshotType.SkillshotLine);
R = new Spell(SpellSlot.R, 700f, DamageType.Magical);
R.SetSkillshot(0.2f, 300f, float.MaxValue, false, SkillshotType.SkillshotCircle);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = false,
Required = true,
Force = true,
Gapcloser = false,
GapcloserDelay = false,
Interrupt = true,
InterruptDelay = true,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, resMulti, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.e").GetValue<bool>(), true)
};
}
示例6: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 850f);
Q.SetSkillshot(0.25f, 90f, 1350f, false, SkillshotType.SkillshotLine);
W = new Spell(SpellSlot.W, 800f);
E = new Spell(SpellSlot.E);
R = new Spell(SpellSlot.R, 1100f);
}
示例7: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 1450f, DamageType.Magical);
Q.SetSkillshot(0.25f, 40f, 1000f, false, SkillshotType.SkillshotLine);
W = new Spell(SpellSlot.W, 550f, DamageType.Magical);
W.SetSkillshot(0.5f, 100f, Player.BasicAttack.MissileSpeed, false, SkillshotType.SkillshotCircle);
E = new Spell(SpellSlot.E);
R = new Spell(SpellSlot.R, 5500f);
}
示例8: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 980f, DamageType.Magical);
Q.SetSkillshot(0.25f, 50f, 2000f, true, SkillshotType.SkillshotLine);
W = new Spell(
SpellSlot.W,
Player.AttackRange + Player.BoundingRadius +
GameObjects.EnemyHeroes.Select(e => e.BoundingRadius).DefaultIfEmpty(30).Min(), DamageType.Magical);
E = new Spell(SpellSlot.E, 1200f, DamageType.Magical);
E.SetSkillshot(0.25f, 120f, 1400f, false, SkillshotType.SkillshotLine);
R = new Spell(SpellSlot.R, 1200f, DamageType.Magical);
R.SetSkillshot(1.5f, 200f, float.MaxValue, false, SkillshotType.SkillshotCircle);
}
示例9: 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.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);
}
}
示例10: Check
public static bool Check(string uniqueId, Spell spell, Obj_AI_Hero hero)
{
try
{
if (hero == null || !Enabled(uniqueId))
{
return true;
}
var bestTarget = TargetSelector.GetTarget(spell);
if (bestTarget == null || hero.NetworkId.Equals(bestTarget.NetworkId))
{
return true;
}
}
catch (Exception ex)
{
Global.Logger.AddItem(new LogItem(ex));
}
return false;
}
示例11: Add
public static void Add(Spell spell, bool readyCheck = true)
{
try
{
if (_menu == null)
{
return;
}
_menu.AddItem(
new MenuItem(_menu.Name + "." + spell.Slot, spell.Slot.ToString().ToUpper()).SetValue(false));
if (readyCheck)
{
Functions.Add(spell.Slot.ToString(), hero => spell.IsReady() ? spell.GetDamage(hero) : 0);
}
else
{
Functions.Add(spell.Slot.ToString(), hero => spell.GetDamage(hero));
}
}
catch (Exception ex)
{
Global.Logger.AddItem(new LogItem(ex));
}
}
示例12: SetupSpells
protected override void SetupSpells()
{
Q = new Spell(SpellSlot.Q, 850f, DamageType.Magical);
Q.SetSkillshot(0.3f, 50f, float.MaxValue, false, SkillshotType.SkillshotCircle);
W = new Spell(SpellSlot.W, 850f, DamageType.Magical);
W.SetSkillshot(0.5f, 125f, 2500f, false, SkillshotType.SkillshotCircle);
E = new Spell(SpellSlot.E, 700f, DamageType.Magical);
E.SetTargetted(0.2f, 1700f);
E.Collision = true;
R = new Spell(SpellSlot.R, 825f, DamageType.Magical);
R.SetSkillshot(0.8f, (float) (80 * Math.PI / 180), float.MaxValue, false, SkillshotType.SkillshotCone);
Ultimate = new UltimateManager
{
Combo = true,
Assisted = true,
Auto = true,
Flash = true,
Required = true,
Force = true,
Gapcloser = true,
GapcloserDelay = false,
Interrupt = true,
InterruptDelay = false,
Spells = Spells,
DamageCalculation =
(hero, resMulti, rangeCheck) =>
CalcComboDamage(
hero, resMulti, rangeCheck, Menu.Item(Menu.Name + ".combo.q").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.w").GetValue<bool>(),
Menu.Item(Menu.Name + ".combo.e").GetValue<bool>(), true)
};
}
示例13: SkillShot
public static void SkillShot(Obj_AI_Hero target,
Spell spell,
HitChance hitChance,
bool boundingRadius = true,
bool maxRange = true)
{
if (!spell.IsReady() || target == null)
{
return;
}
if (spell.Type == SkillshotType.SkillshotLine)
{
var prediction = CPrediction.Line(spell, target, hitChance, boundingRadius, maxRange);
if (prediction.TotalHits >= 1)
{
spell.Cast(prediction.CastPosition);
}
}
else if (spell.Type == SkillshotType.SkillshotCircle)
{
var prediction = CPrediction.Circle(spell, target, hitChance);
if (prediction.TotalHits >= 1)
{
spell.Cast(prediction.CastPosition);
}
}
else
{
var prediction = spell.GetPrediction(target);
if (prediction.Hitchance >= hitChance)
{
spell.Cast(prediction.CastPosition);
}
}
}
示例14: CircleFarm
private static void CircleFarm(Spell spell, List<Obj_AI_Base> minions, int min, float overrideWidth = -1f)
{
var spellWidth = (overrideWidth > 0 ? overrideWidth : spell.Width) + minions.Average(m => m.BoundingRadius);
var points = (from minion in minions
select spell.GetPrediction(minion)
into pred
where pred.Hitchance >= HitChance.Medium
select pred.UnitPosition.To2D()).ToList();
if (points.Any())
{
var possibilities = ListExtensions.ProduceEnumeration(points).Where(p => p.Count >= min).ToList();
if (possibilities.Any())
{
var hits = 0;
var radius = float.MaxValue;
var pos = Vector3.Zero;
foreach (var possibility in possibilities)
{
var mec = MEC.GetMec(possibility);
if (mec.Radius < spellWidth)
{
if (possibility.Count > hits || possibility.Count == hits && radius > mec.Radius)
{
hits = possibility.Count;
radius = mec.Radius;
pos = mec.Center.To3D();
}
}
}
if (hits >= min && !pos.Equals(Vector3.Zero))
{
spell.Cast(pos);
}
}
}
}
示例15: TargetSkill
public static void TargetSkill(Obj_AI_Base target, Spell spell)
{
if (!spell.IsReady() || target == null)
{
return;
}
spell.CastOnUnit(target);
}