本文整理汇总了C#中Obj_AI_Base.IsKillable方法的典型用法代码示例。如果您正苦于以下问题:C# Obj_AI_Base.IsKillable方法的具体用法?C# Obj_AI_Base.IsKillable怎么用?C# Obj_AI_Base.IsKillable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Obj_AI_Base
的用法示例。
在下文中一共展示了Obj_AI_Base.IsKillable方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Cast
public static void Cast(this Spell.Skillshot spell, Obj_AI_Base target, bool value = true)
{
if (target != null && value && spell.IsReady() && target.IsKillable(spell.Range))
{
spell.Cast(spell.GetPrediction(target).CastPosition);
}
}
示例2: Interrupter_OnInterruptableSpell
public static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
{
if (!sender.IsEnemy || sender == null || e == null || !sender.IsKillable(R.Range) || e.DangerLevel < Common.danger(MiscMenu) || !MiscMenu.checkbox("Rint") || !R.IsReady())
{
return;
}
R.Cast(sender);
}
示例3: Dash_OnDash
public static void Dash_OnDash(Obj_AI_Base sender, Dash.DashEventArgs e)
{
if (!sender.IsEnemy || !R.IsReady() || sender == null || !sender.IsKillable(R.Range) || !MiscMenu.checkbox("Rgap"))
{
return;
}
R.Cast(sender);
}
示例4: Q
public static void Q(Obj_AI_Base target, bool q1, bool Q2 = false, bool insec = false)
{
if (LeeSin.Q.IsReady() && target.IsKillable(LeeSin.Q.Range))
{
if (Q1 && q1 && Qtimer > 1500)
{
if (MiscMenu.checkbox("smiteq") && Smite != null && Smite.IsReady() && LeeSin.Q.GetPrediction(target).HitChance >= HitChance.High
&& LeeSin.Q.GetPrediction(target)
.CollisionObjects.Count(
o => o.NetworkId != target.NetworkId && (o.IsMinion || o.IsMonster || o.IsMinion()) && o.IsKillable(Smite.Range - 10) && Smite.GetDamage(o) >= o.Health) == 1
&& !(Common.orbmode(Orbwalker.ActiveModes.LaneClear) || Common.orbmode(Orbwalker.ActiveModes.JungleClear)))
{
Smite.Cast(
LeeSin.Q.GetPrediction(target)
.CollisionObjects.FirstOrDefault(o => o.NetworkId != target.NetworkId && (o.IsMinion || o.IsMonster) && o.IsKillable(Smite.Range) && Smite.GetDamage(o) >= o.Health));
LeeSin.Q.Cast(target);
LastQ = Core.GameTickCount;
return;
}
LeeSin.Q.Cast(target, HitChance.Low);
LastQ = Core.GameTickCount;
return;
}
if (!Q1 && Q2)
{
if (insec)
{
var qhero = EntityManager.Heroes.Enemies.Where(e => e.Buffs.Any(b => b.Name.ToLower().Contains("qone") && b.Caster.IsMe)).Any(e => e.IsInRange(target, Insec.Range() - 50));
var qminion =
EntityManager.MinionsAndMonsters.EnemyMinions.Where(e => e.Buffs.Any(b => b.Name.ToLower().Contains("qone") && b.Caster.IsMe))
.Any(e => e.IsInRange(target, Insec.Range() - 50));
var qmob =
EntityManager.MinionsAndMonsters.GetJungleMonsters()
.Where(e => e.Buffs.Any(b => b.Name.ToLower().Contains("qone") && b.Caster.IsMe))
.Any(e => e.IsInRange(target, Insec.Range() - 50));
if (qhero || qminion || qmob)
{
LeeSin.Q2.Cast();
LastQ = Core.GameTickCount;
}
}
else
{
LeeSin.Q2.Cast();
LastQ = Core.GameTickCount;
}
}
}
}
示例5: Execute
private static void Execute(Obj_AI_Base target)
{
if (!R.IsReady() || target == null || !target.IsKillable() || Pos == null || user.Mana < 80)
{
Step = Steps.Nothing;
Chat.Print("leesin debug: Return");
Orbwalker.OrbwalkTo(Game.CursorPos);
return;
}
Orbwalker.OrbwalkTo(Game.CursorPos);
if (user.Distance(Pos) < 200)
{
Step = Steps.UseR;
}
else if (Step == Steps.Nothing && WardR)
{
Step = Steps.UseW;
}
else if (Step == Steps.Nothing && user.Distance(Pos) > 400
&& ((Qtarget(Pos) != null && user.Distance(Qtarget(Pos)) < Q.Range) || (LeeSin.Qtarget() != null && LeeSin.Qtarget().Distance(Pos) < 500)) && WardJump.IsReady(Pos)
&& Q.IsReady())
{
Step = Steps.UseQ;
}
else if (Step == Steps.Nothing && WardFlashR && SpellsManager.Wtimer > 1000 && SpellsManager.Qtimer > 500 && SpellsManager.Qtimer < 2000)
{
Step = Steps.UseWF;
}
else if (Step == Steps.Nothing && user.Distance(Pos) < Flash.Range && !user.IsInRange(Pos, 200) && Flash != null && Flash.IsReady() && SpellsManager.Wtimer > 1000)
{
Step = Steps.UseF;
}
else
{
Step = Steps.Nothing;
}
Chat.Print("leesin debug:" + Step);
switch (Step)
{
case Steps.UseR:
R.Cast(target);
return;
case Steps.UseW:
WardJump.Jump(Pos);
return;
case Steps.UseWF:
if (user.IsInRange(Pos.Extend(user, 400).To3D(), 50))
{
WardJump.Jump(Pos.Extend(user, 400).To3D(), false, true);
}
return;
case Steps.UseF:
Flash?.Cast(Pos);
break;
case Steps.UseQ:
SpellsManager.Q(Qtarget(Pos), true, true, true);
return;
}
Orbwalker.OrbwalkTo(Game.CursorPos);
}
示例6: Orbwalker_OnUnkillableMinion
private static void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args)
{
if (target == null || !Common.orbmode(Orbwalker.ActiveModes.LaneClear))
{
return;
}
var Eready = LaneClearMenu.checkbox("E") && E.IsReady() && target.IsKillable(E.Range) && E.Mana(LaneClearMenu);
if (Eready && E.GetDamage(target) >= Prediction.Health.GetPrediction(target, E.CastDelay))
{
E.Cast(target);
}
}
示例7: Interrupter_OnInterruptableSpell
private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
{
if (!sender.IsEnemy || !AutoMenu.checkbox("Int") || sender == null || e == null)
{
return;
}
if (e.DangerLevel >= Common.danger(AutoMenu) && sender.IsKillable(Q.Range))
{
if (sender.brandpassive())
{
if (Q.IsReady())
{
Q.Cast(sender, Q.hitchance(Menuini));
}
}
else
{
if (E.IsReady() && Q.IsReady())
{
if (E.Cast(sender))
{
if (sender.brandpassive())
{
Q.Cast(sender, Q.hitchance(Menuini));
}
}
}
}
}
}
示例8: Orbwalker_OnUnkillableMinion
public static void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args)
{
if (!Common.orbmode(Orbwalker.ActiveModes.LaneClear) || !Common.orbmode(Orbwalker.ActiveModes.LastHit) || target == null)
{
return;
}
var useQ = LaneClearMenu.checkbox(Q.Slot.ToString()) && Q.IsReady() && target.IsKillable(Q.Range) && Q.GetDamage(target) > Prediction.Health.GetPrediction(target, Q.CastDelay);
if (useQ)
{
Q.Cast(target);
}
}
示例9: Qlogic
public static void Qlogic(Menu m, Obj_AI_Base target, bool Draw = false)
{
var pos = new Vector3();
var danger = target.CountEnemeis(600) > 3;
switch (m.combobox("Qmode"))
{
case 0:
{
if (danger)
{
var ally = EntityManager.Heroes.Allies.OrderByDescending(a => a.CountAllies(750)).FirstOrDefault(a => a.IsKillable(1000) && !a.IsMe);
if (ally != null)
{
pos = ally.ServerPosition;
}
}
if (target.IsKillable(user.GetAutoAttackRange() - 100))
{
pos = user.ServerPosition.Extend(target.ServerPosition, -400).To3D();
}
if (!target.IsKillable(user.GetAutoAttackRange()))
{
pos = Q.GetPrediction(target).CastPosition;
}
}
break;
case 1:
{
if (target.IsKillable(user.GetAutoAttackRange() - 100))
{
pos = user.ServerPosition.Extend(target.ServerPosition, -400).To3D();
}
}
break;
case 2:
{
if (!target.IsKillable(user.GetAutoAttackRange()))
{
pos = Q.GetPrediction(target).CastPosition;
}
}
break;
case 3:
{
pos = Game.CursorPos;
}
break;
}
if (!Draw)
{
Q.Cast(pos);
}
if (Draw)
{
Circle.Draw(SharpDX.Color.White, 100, pos);
}
}