private static void Harass() { var t = AssassinManager.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } var useQ = Config.Item("UseQHarass").GetValue <bool>(); var useE = Config.Item("UseEHarass").GetValue <bool>(); var useQDontUnderTurret = Config.Item("UseQHarassDontUnderTurret").GetValue <bool>(); if (Q.IsReady() && useQ) { if (useQDontUnderTurret) { if (!t.UnderTurret()) { Q.Cast(t); } } else { Q.Cast(t); } } if (E.IsReady() && useE) { E.Cast(); } }
private static void ComboFlashQ() { ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); var t = AssassinManager.GetTarget(Q.Range + FlashRange - 20, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } if (Player.Distance(t) > Q.Range) { if (FlashSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(FlashSlot) == SpellState.Ready) { if (Q.IsCharging && Q.Range >= Q.ChargedMaxRange) { Player.Spellbook.CastSpell(FlashSlot, t.ServerPosition); Q.Cast(t.ServerPosition); } else { Q.StartCharging(); } } } }
public static void Game_OnProcessSpell(Obj_AI_Base unit, GameObjectProcessSpellCastEventArgs spell) { if (!unit.IsMe) { return; } var t = AssassinManager.GetTarget(Orbwalking.GetRealAutoAttackRange(Player) + 65, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } foreach (var xbuff in t.Buffs) { canUseE = !xbuff.Name.Contains("viq") && !xbuff.Name.Contains("knock"); } var useE = canUseE && E.IsReady(); if (useE) { E.Cast(true); } }
private static void UseSpells() { var t = AssassinManager.GetTarget(Program.Q.Range, TargetSelector.DamageType.Magical); if (!t.IsValidTarget()) { return; } if (SmiteSlot != SpellSlot.Unknown && Program.Player.Spellbook.CanUseSpell(SmiteSlot) == SpellState.Ready) { SmiteOnTarget(t); } if (IgniteSlot != SpellSlot.Unknown && Program.Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready) { IgniteOnTarget(t); } }
private static void Game_OnLoad(EventArgs args) { if (Player.ChampionName != "Vi") { return; } Q = new Spell(SpellSlot.Q, 860f); E = new Spell(SpellSlot.E); E2 = new Spell(SpellSlot.E, 600f); R = new Spell(SpellSlot.R, 800f); Q.SetSkillshot(0.5f, 75f, float.MaxValue, false, SkillshotType.SkillshotLine); Q.SetCharged("ViQ", "ViQ", 100, 860, 1f); E.SetSkillshot(0.15f, 150f, float.MaxValue, false, SkillshotType.SkillshotLine); R.SetTargetted(0.15f, 1500f); SpellList.Add(Q); SpellList.Add(E); SpellList.Add(R); FlashSlot = Player.GetSpellSlot("SummonerFlash"); ItemBilge = new Items.Item(3144, 450f); ItemBlade = new Items.Item(3153, 450f); ItemHydra = new Items.Item(3074, 250f); ItemLotis = new Items.Item(3190, 590f); ItemRand = new Items.Item(3143, 490f); ItemTiamat = new Items.Item(3077, 250f); //Create the menu Config = new Menu("xQx | Vi", "Vi", true); var targetSelectorMenu = new Menu("Target Selector", "Target Selector"); TargetSelector.AddToMenu(targetSelectorMenu); Config.AddSubMenu(targetSelectorMenu); AssassinManager.Initiliaze(); Config.AddSubMenu(new Menu("Orbwalking", "Orbwalking")); Orbwalker = new Orbwalking.Orbwalker(Config.SubMenu("Orbwalking")); Orbwalker.SetAttack(true); // Combo Config.AddSubMenu(new Menu("Combo", "Combo")); /* [ Don't Use Ult ] */ Config.SubMenu("Combo").AddSubMenu(new Menu("Don't use Ult on", "DontUlt")); foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(enemy => enemy.Team != Player.Team)) { Config.SubMenu("Combo") .SubMenu("DontUlt") .AddItem(new MenuItem("DontUlt" + enemy.CharData.BaseSkinName, enemy.CharData.BaseSkinName).SetValue(false)); } PlayerSpells.Initialize(); /* [ Find Him in Team Fight ] */ Config.SubMenu("Combo").AddSubMenu(new Menu("Focus in TF", "FindHim")); Config.SubMenu("Combo") .SubMenu("FindHim") .AddItem(new MenuItem("ForceFocusActive", "Force Focus Active").SetValue(false)); foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(enemy => enemy.Team != Player.Team)) { Config.SubMenu("Combo") .SubMenu("FindHim") .AddItem(new MenuItem("FindHim" + enemy.CharData.BaseSkinName, enemy.CharData.BaseSkinName).SetValue(false)); } Config.SubMenu("Combo") .AddItem( new MenuItem("ComboFlashQActive", "Combo Flash+Q!").SetValue( new KeyBind("T".ToCharArray()[0], KeyBindType.Press))); Config.SubMenu("Combo") .AddItem( new MenuItem("ComboActive", "Combo!").SetValue( new KeyBind(Config.Item("Orbwalk").GetValue <KeyBind>().Key, KeyBindType.Press))); // Harass Config.AddSubMenu(new Menu("Harass", "Harass")); Menu harassUseQ = new Menu("Q Settings", "harassUseQ"); Config.SubMenu("Harass").AddSubMenu(harassUseQ); harassUseQ.AddItem(new MenuItem("UseQHarass", "Use Q").SetValue(true)); harassUseQ.AddItem(new MenuItem("UseQHarassDontUnderTurret", "Don't Under Turret Q").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("UseEHarass", "Use E").SetValue(true)); Config.SubMenu("Harass") .AddItem(new MenuItem("HarassMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("Harass") .AddItem( new MenuItem("HarassActive", "Harass").SetValue( new KeyBind("C".ToCharArray()[0], KeyBindType.Press))); // Lane Clear Config.AddSubMenu(new Menu("LaneClear", "LaneClear")); Config.SubMenu("LaneClear").AddItem(new MenuItem("UseQLaneClear", "Use Q").SetValue(false)); Config.SubMenu("LaneClear").AddItem(new MenuItem("UseELaneClear", "Use E").SetValue(false)); Config.SubMenu("LaneClear") .AddItem(new MenuItem("LaneClearMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("LaneClear") .AddItem( new MenuItem("LaneClearActive", "LaneClear").SetValue( new KeyBind("V".ToCharArray()[0], KeyBindType.Press))); // Jungling Farm Config.AddSubMenu(new Menu("JungleFarm", "JungleFarm")); Config.SubMenu("JungleFarm").AddItem(new MenuItem("UseQJungleFarm", "Use Q").SetValue(true)); Config.SubMenu("JungleFarm").AddItem(new MenuItem("UseEJungleFarm", "Use E").SetValue(false)); Config.SubMenu("JungleFarm") .AddItem(new MenuItem("JungleFarmMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("JungleFarm") .AddItem( new MenuItem("JungleFarmActive", "JungleFarm").SetValue( new KeyBind("V".ToCharArray()[0], KeyBindType.Press))); var menuRun = new Menu("Flee", "Flee"); { menuRun.AddItem( new MenuItem("FleeActive", "Flee!").SetValue(new KeyBind("A".ToCharArray()[0], KeyBindType.Press))); Config.AddSubMenu(menuRun); } // Extras -> Use Items MenuExtras = new Menu("Extras", "Extras"); Config.AddSubMenu(MenuExtras); MenuExtras.AddItem(new MenuItem("InterruptSpells", "Interrupt Spells").SetValue(true)); Menu menuUseItems = new Menu("Use Items", "menuUseItems"); Config.SubMenu("Extras").AddSubMenu(menuUseItems); // Extras -> Use Items -> Targeted Items _menuTargetedItems = new Menu("Targeted Items", "menuTargetItems"); menuUseItems.AddSubMenu(_menuTargetedItems); _menuTargetedItems.AddItem(new MenuItem("item3153", "Blade of the Ruined King").SetValue(true)); _menuTargetedItems.AddItem(new MenuItem("item3144", "Bilgewater Cutlass").SetValue(true)); _menuTargetedItems.AddItem(new MenuItem("item3146", "Hextech Gunblade").SetValue(true)); _menuTargetedItems.AddItem(new MenuItem("item3184", "Entropy ").SetValue(true)); // Extras -> Use Items -> AOE Items _menuNonTargetedItems = new Menu("AOE Items", "menuNonTargetedItems"); menuUseItems.AddSubMenu(_menuNonTargetedItems); _menuNonTargetedItems.AddItem(new MenuItem("item3143", "Randuin's Omen").SetValue(true)); _menuNonTargetedItems.AddItem(new MenuItem("item3180", "Odyn's Veil").SetValue(true)); _menuNonTargetedItems.AddItem(new MenuItem("item3131", "Sword of the Divine").SetValue(true)); _menuNonTargetedItems.AddItem(new MenuItem("item3074", "Ravenous Hydra").SetValue(true)); _menuNonTargetedItems.AddItem(new MenuItem("item3077", "Tiamat ").SetValue(true)); _menuNonTargetedItems.AddItem(new MenuItem("item3142", "Youmuu's Ghostblade").SetValue(true)); // Drawing Config.AddSubMenu(new Menu("Drawings", "Drawings")); Config.SubMenu("Drawings") .AddItem( new MenuItem("QRange", "Q Range").SetValue( new Circle(true, System.Drawing.Color.FromArgb(255, 255, 255, 255)))); Config.SubMenu("Drawings") .AddItem( new MenuItem("ERange", "E Range").SetValue( new Circle(false, System.Drawing.Color.FromArgb(255, 255, 255, 255)))); Config.SubMenu("Drawings") .AddItem( new MenuItem("RRange", "R Range").SetValue( new Circle(false, System.Drawing.Color.FromArgb(255, 255, 255, 255)))); Config.SubMenu("Drawings") .AddItem( new MenuItem("FQRange", "Flash+Q Range").SetValue( new Circle(false, System.Drawing.Color.FromArgb(0xFF, 0xCC, 0x00)))); new PotionManager(); Config.AddToMainMenu(); Utility.HpBarDamageIndicator.DamageToUnit = GetComboDamage; Utility.HpBarDamageIndicator.Enabled = true; Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Interrupter2.OnInterruptableTarget += Interrupter2_OnInterruptableTarget; Obj_AI_Base.OnProcessSpellCast += Game_OnProcessSpell; Notifications.AddNotification("xQx | Vi Loaded!", 4000); }
private static void Combo() { var t = AssassinManager.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (!t.IsValidTarget()) { return; } if (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65) && shennBuffActive) { return; } var comboDamage = GetComboDamage(t); if (Q.IsReady() && t.IsValidTarget(Q.Range)) { if (Q.IsCharging) { Q.Cast(t); } else { Q.StartCharging(); } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { UseItems(t); } if (R.IsReady()) { var useR = (Config.Item("DontUlt" + t.CharData.BaseSkinName) != null && Config.Item("DontUlt" + t.CharData.BaseSkinName).GetValue <bool>() == false); var qDamage = Player.GetSpellDamage(t, SpellSlot.Q); var eDamage = Player.GetSpellDamage(t, SpellSlot.E) * E.Instance.Ammo; var rDamage = Player.GetSpellDamage(t, SpellSlot.R); if (Q.IsReady() && t.Health < qDamage) { return; } if (E.IsReady() && Orbwalking.InAutoAttackRange(t) && t.Health < eDamage) { return; } if (Q.IsReady() && E.IsReady() && t.Health < qDamage + eDamage) { return; } if (useR) { if (t.Health > rDamage) { if (Q.IsReady() && E.IsReady() && t.Health < rDamage + qDamage + eDamage) { R.CastOnUnit(t); } else if (E.IsReady() && t.Health < rDamage + eDamage) { R.CastOnUnit(t); } else if (Q.IsReady() && t.Health < rDamage + qDamage) { R.CastOnUnit(t); } } else { if (!Orbwalking.InAutoAttackRange(t)) { R.CastOnUnit(t); } } } } }