protected override void Game_OnGameUpdate(EventArgs args) { //check if player is dead if (Player.IsDead) { return; } SpellCastManager.CastBestLine(false, E, E2, (int)(E2.Range / 2), menu); AutoR(); if (menu.Item("ComboActive", true).GetValue <KeyBind>().Active) { Combo(); } else { if (menu.Item("LastHitQQ", true).GetValue <KeyBind>().Active) { LastHit(); } if (menu.Item("LaneClearActive", true).GetValue <KeyBind>().Active) { Farm(); } if (menu.Item("HarassActive", true).GetValue <KeyBind>().Active || menu.Item("HarassActiveT", true).GetValue <KeyBind>().Active) { Harass(); } } }
private void Harass() { var range = E.IsReady() ? E.Range + E2.Range : Q.Range; var target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical); if (!target.IsValidTarget(range)) { return; } var dmg = GetComboDamage(target); if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady()) { SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), Menu, 1, false); } if (Menu.Item("QAARange", true).GetValue <bool>()) { if (Menu.Item("UseQHarass", true).GetValue <bool>() && target != null && Q.IsReady() && Player.ServerPosition.Distance(target.ServerPosition) <= Player.AttackRange) // Q only in AA range for guaranteed AutoAttack { Q.Cast(target); } } else if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady() && Player.ServerPosition.Distance(target.ServerPosition) <= Q.Range) { Q.Cast(target); } }
protected override void Game_OnGameUpdate(EventArgs args) { if (Player.IsDead) { return; } SpellCastManager.CastBestLine(false, R, R2, (int)(R2.Range / 2), Menu, .9f); if (Menu.Item("Stay_Danger", true).GetValue <KeyBind>().Active) { StayInDangerZone(); } if (Menu.Item("FarmT", true).GetValue <KeyBind>().Active) { Harass(); } switch (Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LastHit: LastHit(); break; case Orbwalking.OrbwalkingMode.LaneClear: Farm(); break; case Orbwalking.OrbwalkingMode.Freeze: break; case Orbwalking.OrbwalkingMode.CustomMode: break; case Orbwalking.OrbwalkingMode.None: if (Menu.Item("UseMecR", true).GetValue <KeyBind>().Active) { SpellCastManager.CastBestLine(true, R, R2, (int)(R2.Range / 2 + 100), Menu, .9f); } break; case Orbwalking.OrbwalkingMode.Flee: break; default: throw new ArgumentOutOfRangeException(); } }
private void Combo() { var range = E.IsReady() ? E.Range + E2.Range : Q.Range; var target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical); if (!target.IsValidTarget(range)) { return; } var dmg = GetComboDamage(target); if (Menu.Item("UseECombo", true).GetValue <bool>() && E.IsReady()) { SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), Menu, 1, false); } if (Menu.Item("UseWCombo", true).GetValue <bool>() && W.IsReady() && ShouldW(target, dmg)) { W.Cast(target); } if (Menu.Item("QAARange", true).GetValue <bool>()) { if (Menu.Item("UseQCombo", true).GetValue <bool>() && target != null && Q.IsReady() && Player.ServerPosition.Distance(target.ServerPosition) <= Player.AttackRange) { Q.Cast(target); return; } } else if (Menu.Item("UseQCombo", true).GetValue <bool>() && Q.IsReady() && Player.ServerPosition.Distance(target.ServerPosition) <= Q.Range) { Q.Cast(target); return; } if (Menu.Item("UseRCombos", true).GetValue <bool>() && R.IsReady() && _rObj == null && ShouldR(target, dmg) && R.GetPrediction(target).Hitchance >= HitChance.VeryHigh) { if (target != null) { R.Cast(target.Position); } } }
protected override void Game_OnGameUpdate(EventArgs args) { if (Player.IsDead) { return; } SpellCastManager.CastBestLine(false, R, R2, (int)(R2.Range / 2), menu, .9f); if (menu.Item("ComboActive", true).GetValue <KeyBind>().Active) { Combo(); } else { if (menu.Item("UseMecR", true).GetValue <KeyBind>().Active) { SpellCastManager.CastBestLine(true, R, R2, (int)(R2.Range / 2 + 100), menu, .9f); } if (menu.Item("LastHitE", true).GetValue <KeyBind>().Active) { LastHit(); } if (menu.Item("LaneClearActive", true).GetValue <KeyBind>().Active) { Farm(); } if (menu.Item("HarassActiveT", true).GetValue <KeyBind>().Active) { Harass(); } if (menu.Item("HarassActive", true).GetValue <KeyBind>().Active) { Harass(); } } //stay in dangerzone if (menu.Item("Stay_Danger", true).GetValue <KeyBind>().Active) { StayInDangerZone(); } }
private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source) { var range = E.IsReady() ? (E.Range + E2.Range) : Q.Range; Obj_AI_Hero target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical); if (!target.IsValidTarget(range)) { return; } var dmg = GetComboDamage(target); if (useE && E.IsReady()) { SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), menu, 1, false); } if (useW && W.IsReady() && ShouldW(target, dmg)) { W.Cast(target); } if (menu.Item("QAARange", true).GetValue <bool>()) { if (useQ && target != null && Q.IsReady() && Player.Distance(target) <= Player.AttackRange) // Q only in AA range for guaranteed AutoAttack { Q.Cast(target); return; } } else if (useQ && Q.IsReady() && Player.Distance(target) <= Q.Range) { Q.Cast(target); return; } if (useR && R.IsReady() && _rObj == null && ShouldR(target, dmg) && R.GetPrediction(target).Hitchance >= HitChanceManager.GetRHitChance(source)) { if (target != null) { R.Cast(target.Position); } } }