private static void OnAfterAttack(Orbwalker.OrbwalkerActionArgs e) { if (e.Target.IsValidTarget() && (e.Target is Obj_AI_Base)) { switch (Orbwalker.ActiveMode) { case OrbwalkerMode.Orbwalk: if (e.Target is Obj_AI_Hero) { PreliminaryQCheck((Obj_AI_Hero)e.Target, OrbwalkerMode.Orbwalk); } break; case OrbwalkerMode.Hybrid: if (e.Target is Obj_AI_Hero) { PreliminaryQCheck((Obj_AI_Hero)e.Target, OrbwalkerMode.Hybrid); } TryEThird((Obj_AI_Base)e.Target); break; case OrbwalkerMode.LaneClear: OnFarm(e); break; } if (VHRMenu["dz191.vhr.misc"]["dz191.vhr.misc.condemn"]["enextauto"].GetValue <MenuKeyBind>().Active&& spells[SpellSlot.E].IsReady() && (e.Target is Obj_AI_Hero)) { spells[SpellSlot.E].Cast((Obj_AI_Hero)e.Target); VHRMenu["dz191.vhr.misc"]["dz191.vhr.misc.condemn"]["enextauto"].Toggled = false; } } }
private static void BeforeAttackFake(Orbwalker.OrbwalkerActionArgs e) { if (StreamMenu["模拟方式"].GetValue <MenuList>().Index == 1) { Hud.ShowClick(ClickType.Attack, RandomizePosition(e.Target.Position)); attacking = true; } }
private void Orbwalker_OnAction(object sender, Orbwalker.OrbwalkerActionArgs e) { var target = e.Target; if (e.Type == OrbwalkerType.BeforeAttack) { BeforeAttackFake(e); } if (e.Type == OrbwalkerType.AfterAttack) { AfterAttack(sender, e.Target); } }
private static void OnAction(object sender, Orbwalker.OrbwalkerActionArgs orbwalk) { var target = orbwalk.Target; if (!target.IsValidTarget()) { return; } if (orbwalk.Type == OrbwalkerType.AfterAttack && spells[Spells.Q].IsReady() && target.IsValidTarget() && Felicity == 0x5 && ActiveMode == OrbwalkerMode.Hybrid || ActiveMode == OrbwalkerMode.Orbwalk) { spells[Spells.Q].Cast(); } }
private static void Orbwalker_OnAction(object sender, Orbwalker.OrbwalkerActionArgs e) { switch (e.Type) { case OrbwalkerType.AfterAttack: //AfterAttack Delegate. Q Spells Usage Here. OnAfterAttack(e); break; case OrbwalkerType.BeforeAttack: //BeforeAttack Delegate, focus target with W stacks here. OnBeforeAttack(e); break; } }
private static void OnAction(object sender, Orbwalker.OrbwalkerActionArgs orbwalk) { var target = TargetSelector.GetTarget(Q.Range * 2); if (Player.IsWindingUp) { return; } var UseE = Config["combo"]["UseE"].GetValue <MenuBool>().Value; var UseQ = Config["combo"]["UseQ"].GetValue <MenuBool>().Value; var harrQ = Config["harass"]["harrQ"].GetValue <MenuBool>().Value; var harrE = Config["harass"]["harrE"].GetValue <MenuBool>().Value; var gapclose = Config["spell"]["qgapcloseonly"].GetValue <MenuBool>().Value; if (orbwalk.Type == OrbwalkerType.AfterAttack && Q1 == 1 && Orbwalker.ActiveMode == OrbwalkerMode.Orbwalk && UseE && !target.IsDead || orbwalk.Type == OrbwalkerType.AfterAttack && Q1 == 1 && Orbwalker.ActiveMode == OrbwalkerMode.Hybrid && harrE) { E.Cast(); Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (orbwalk.Type == OrbwalkerType.AfterAttack && Q1 == 1 && Orbwalker.ActiveMode == OrbwalkerMode.Orbwalk && !E.IsReady()) { Q1 = 0; } if (Q1 == 0 && !E.IsReady() && Orbwalker.ActiveMode == OrbwalkerMode.Orbwalk && Qcast2() && orbwalk.Type == OrbwalkerType.AfterAttack && !gapclose && UseQ || Q1 == 0 && !E.IsReady() && Orbwalker.ActiveMode == OrbwalkerMode.Hybrid && Qcast2() && orbwalk.Type == OrbwalkerType.AfterAttack && !gapclose && harrQ) { Q.Cast(target); Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (orbwalk.Type == OrbwalkerType.AfterAttack && Q1 == 0 && !Q.IsReady() && Orbwalker.ActiveMode == OrbwalkerMode.Orbwalk && UseE && !target.IsDead || orbwalk.Type == OrbwalkerType.AfterAttack && Q1 == 0 && !Q.IsReady() && Orbwalker.ActiveMode == OrbwalkerMode.Hybrid && harrE) { E.Cast(); } if (orbwalk.Type == OrbwalkerType.AfterAttack && !E.IsReady() && !Q.IsReady() && Orbwalker.ActiveMode == OrbwalkerMode.Orbwalk && Config["spell"]["forceR"].GetValue <MenuKeyBind>().Active) { R.Cast(target); } }
private static void OnFarm(Orbwalker.OrbwalkerActionArgs e) { return; //TODO Redo this using OnNonKillableMinion //TODO Reenable once GetSpellDamage for Vayne is bik if (spells[SpellSlot.Q].IsEnabledAndReady(OrbwalkerMode.LaneClear)) { //TODO Change here var minionsInRange = GameObjects.EnemyMinions.Where(m => m.DistanceSquared(ObjectManager.Player.ServerPosition) <= ObjectManager.Player.AttackRange * ObjectManager.Player.AttackRange && m.Health <= ObjectManager.Player.GetAutoAttackDamage(m) + SpellSlot.Q.GetVHRSpellDamage(m)).ToList(); if (!minionsInRange.Any()) { return; } if (minionsInRange.Count > 1) { var firstMinion = minionsInRange.OrderBy(m => m.HealthPercent).First(); UseTumble(firstMinion); } } }
private static void OnBeforeAttack(Orbwalker.OrbwalkerActionArgs e) { }