diff --git a/Marksman/Vayne.cs b/Marksman/Vayne.cs index ff5d055..f9c7627 100644 --- a/Marksman/Vayne.cs +++ b/Marksman/Vayne.cs @@ -13,6 +13,9 @@ internal class Vayne : Champion { public Spell E; public Spell Q; + public string[] interrupt; + public string[] notarget; + public string[] gapcloser; public Vayne() { @@ -22,21 +25,7 @@ public Vayne() E = new Spell(SpellSlot.E, float.MaxValue); E.SetTargetted(0.25f, 2200f); - - AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser; - Interrupter.OnPosibleToInterrupt += Interrupter_OnPosibleToInterrupt; - } - - public void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) - { - if (E.IsReady() && gapcloser.Sender.IsValidTarget(E.Range)) - E.CastOnUnit(gapcloser.Sender); - } - - public void Interrupter_OnPosibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell) - { - if (GetValue("UseEInterrupt") && unit.IsValidTarget(550f)) - E.Cast(unit); + Obj_AI_Base.OnProcessSpellCast += Game_ProcessSpell; } public override void Game_OnGameUpdate(EventArgs args) @@ -77,12 +66,109 @@ public override void ComboMenu(Menu config) public override void MiscMenu(Menu config) { + config.AddItem( new MenuItem("UseET" + Id, "Use E (Toggle)").SetValue( new KeyBind("T".ToCharArray()[0], KeyBindType.Toggle))); config.AddItem(new MenuItem("UseEInterrupt" + Id, "Use E To Interrupt").SetValue(true)); config.AddItem( new MenuItem("PushDistance" + Id, "E Push Distance").SetValue(new Slider(425, 475, 300))); + config.AddItem(new MenuItem("UseEaa", "Use E after auto").SetValue(new KeyBind("G".ToCharArray()[0], KeyBindType.Press))); + config.AddSubMenu(new Menu("Gapcloser List", "gap")); + config.AddSubMenu(new Menu("Gapcloser List 2", "gap2")); + config.AddSubMenu(new Menu("Interrupt List", "int")); + gapcloser = new[] + { + "AkaliShadowDance", "Headbutt", "DianaTeleport", "IreliaGatotsu", "JaxLeapStrike", "JayceToTheSkies", + "MaokaiUnstableGrowth", "MonkeyKingNimbus", "Pantheon_LeapBash", "PoppyHeroicCharge", "QuinnE", + "XenZhaoSweep", "blindmonkqtwo", "FizzPiercingStrike", "RengarLeap" + }; + notarget = new[] + { + "AatroxQ", "GragasE", "GravesMove", "HecarimUlt", "JarvanIVDragonStrike", "JarvanIVCataclysm", "KhazixE", + "khazixelong", "LeblancSlide", "LeblancSlideM", "LeonaZenithBlade", "UFSlash", "RenektonSliceAndDice", + "SejuaniArcticAssault", "ShenShadowDash", "RocketJump", "slashCast" + }; + interrupt = new[] + { + "KatarinaR", "GalioIdolOfDurand", "Crowstorm", "Drain", "AbsoluteZero", "ShenStandUnited", "UrgotSwap2", + "AlZaharNetherGrasp", "FallenOne", "Pantheon_GrandSkyfall_Jump", "VarusQ", "CaitlynAceintheHole", + "MissFortuneBulletTime", "InfiniteDuress", "LucianR" + }; + for (int i=0; i().Active) + { + E.Cast(t); + } + + if (orbwalker.ActiveMode.ToString() == "Combo" && menu.Item("UseQC").GetValue()) + { + var after = ObjectManager.Player.Position + + Normalize(Game.CursorPos - ObjectManager.Player.Position)*300; + var disafter = Vector3.DistanceSquared(after, t.Position); + if (disafter < 630*630 && disafter > 175*175) + { + Q.Cast(Game.CursorPos); + } + if (Vector3.DistanceSquared(t.Position, ObjectManager.Player.Position) > 630*630 && + disafter < 630*630) + { + Q.Cast(Game.CursorPos); + } + } + + } + + + if (args.SData.Name == "VayneCondemnMissile") + { + Orbwalking.ResetAutoAttackTimer(); + } + } + + if (menu.Item("UseEInterrupt").GetValue() && hero.IsValidTarget(550f) && menu.Item(args.SData.Name).GetValue()) + { + if (interrupt.Any(str => str.Contains(args.SData.Name))) + { + E.Cast(hero); + } + } + + if (gapcloser.Any(str => str.Contains(args.SData.Name)) && args.Target == ObjectManager.Player && hero.IsValidTarget(550f) && menu.Item(args.SData.Name).GetValue()) + { + E.Cast(hero); + } + + if (notarget.Any(str => str.Contains(args.SData.Name)) && Vector3.Distance(args.End, ObjectManager.Player.Position) <= 300 && hero.IsValidTarget(550f) && menu.Item(args.SData.Name).GetValue()) + { + E.Cast(hero); + } + } + + public static Vector3 Normalize(Vector3 A) + { + double distance = Math.Sqrt(A.X * A.X + A.Y * A.Y); + return new Vector3(new Vector2((float) (A.X / distance)), (float) (A.Y / distance)); } } -} \ No newline at end of file +}