private static void OnLoadingComplete() { try { switch (GameObjects.Player.CharacterName) { case "Ashe": Ashe.GameOn(); Game.Print("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " Loaded <font color='#1dff00'>by FrOnDaL</font>"); Console.WriteLine("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " loaded"); break; case "Katarina": Katarina.GameOn(); Game.Print("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " Loaded <font color='#1dff00'>by FrOnDaL</font>"); Console.WriteLine("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " loaded"); break; case "Orianna": Orianna.GameOn(); Game.Print("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " Loaded <font color='#1dff00'>by FrOnDaL</font>"); Console.WriteLine("FrOnDaL AIO " + ObjectManager.Player.CharacterName + " loaded"); break; default: Game.Print("<font color='#b756c5' size='25'>FrOnDaL AIO Does Not Support " + ObjectManager.Player.CharacterName + " - By FrOnDaL</font>"); Console.WriteLine("FrOnDaL AIO Does Not Support " + ObjectManager.Player.CharacterName + " - By FrOnDaL"); break; } } catch (Exception) { Game.Print("Error in loading - By FrOnDaL"); Console.WriteLine("Error in loading - By FrOnDaL"); } }
public static void GameOnOnGameLoad() { enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy); Q = new Spell(SpellSlot.Q); E = new Spell(SpellSlot.E); W = new Spell(SpellSlot.W); R = new Spell(SpellSlot.R); Config = MainMenu.AddMenu("OneKeyToWin AIO", "OneKeyToWin_AIO" + ObjectManager.Player.ChampionName); #region MENU ABOUT OKTW Config.Add("debug", new CheckBox("Debug", false)); Config.Add("debugChat", new CheckBox("Debug Chat", false)); Config.Add("print", new CheckBox("OKTW NEWS in chat")); #endregion Config.Add("AIOmode", new Slider("AIO mode (0 : Util & Champ | 1 : Only Champ | 2 : Only Util)", 0, 0, 2)); AIOmode = getSliderItem("AIOmode"); Config.Add("PredictionMODE", new Slider("Prediction MODE (0 : Common Pred | 1 : OKTW© PREDICTION | 2 : SPrediction | 3 : SDK)", 0, 0, 3)); Config.Add("HitChance", new Slider("AIO mode (0 : Very High | 1 : High | 2 : Medium)", 0, 0, 2)); Config.Add("debugPred", new CheckBox("Draw Aiming OKTW© PREDICTION", false)); Config.Add("harassLaneclear", new CheckBox("Skill-Harass in lane clear")); if (getSliderItem("PredictionMODE") == 2) { SPrediction.Prediction.Initialize(Config); SPredictionLoad = true; } else { Config.AddLabel("SPREDICTION NOT LOADED"); } if (AIOmode != 2) { Config.Add("supportMode", new CheckBox("Support Mode", false)); Config.Add("comboDisableMode", new CheckBox("Disable auto-attack in combo mode", false)); Config.Add("manaDisable", new CheckBox("Disable mana manager in combo")); Config.Add("collAA", new CheckBox("Disable auto-attack if Yasuo wall collision")); #region LOAD CHAMPIONS switch (Player.ChampionName) { case "Anivia": PortAIO.Champion.Anivia.Anivia.LoadOKTW(); break; case "Annie": PortAIO.Champion.Annie.Program.LoadOKTW(); break; case "Ashe": PortAIO.Champion.Ashe.Program.LoadOKTW(); break; case "Braum": PortAIO.Champion.Braum.Program.LoadOKTW(); break; case "Caitlyn": new Caitlyn().LoadOKTW(); break; case "Ekko": PortAIO.Champion.Ekko.Program.LoadOKTW(); break; case "Ezreal": Ezreal.LoadOKTW(); break; case "Graves": Graves.LoadOKTW(); break; case "Jayce": OneKeyToWin_AIO_Sebby.Champions.Jayce.LoadOKTW(); break; case "Jinx": Jinx.LoadOKTW(); break; case "Karthus": Karthus.LoadOKTW(); break; case "MissFortune": MissFortune.LoadOKTW(); break; case "Malzahar": Malzahar.LoadOKTW(); break; case "Orianna": Orianna.LoadOKTW(); break; case "Sivir": Sivir.LoadOKTW(); break; case "Twitch": Twitch.LoadOKTW(); break; case "Syndra": Syndra.LoadOKTW(); break; case "Velkoz": Velkoz.LoadOKTW(); break; case "Xerath": Xerath.LoadOKTW(); break; case "Swain": Swain.LoadOKTW(); break; case "Urgot": Urgot.LoadOKTW(); break; case "Ahri": Ahri.LoadOKTW(); break; case "Thresh": Thresh.LoadOKTW(); break; case "Brand": Brand.LoadOKTW(); break; case "Blitzcrank": Blitzcrank.LoadOKTW(); break; case "Corki": Corki.LoadOKTW(); break; case "Darius": Darius.LoadOKTW(); break; case "Evelynn": OneKeyToWin_AIO_Sebby.Champions.Evelynn.LoadOKTW(); break; case "Jhin": Jhin.LoadOKTW(); break; case "Kindred": Kindred.LoadOKTW(); break; case "KogMaw": OneKeyToWin_AIO_Sebby.KogMaw.LoadOKTW(); break; case "Lux": Lux.LoadOKTW(); break; case "Morgana": Morgana.LoadOKTW(); break; case "Quinn": Quinn.LoadOKTW(); break; case "TwistedFate": OneKeyToWin_AIO_Sebby.Champions.TwistedFate.LoadOKTW(); break; } } #endregion foreach (var hero in HeroManager.Enemies) { if (hero.IsEnemy && hero.Team != Player.Team) { Enemies.Add(hero); if (IsJungler(hero)) { jungler = hero; } } } foreach (var hero in HeroManager.Allies) { if (hero.IsAlly && hero.Team == Player.Team) { Allies.Add(hero); } } if (AIOmode != 1) { new OKTWward().LoadOKTW(); new OKTWtracker().LoadOKTW(); } Game.OnUpdate += OnUpdate; Orbwalker.OnPreAttack += Orbwalking_BeforeAttack; Drawing.OnDraw += OnDraw; }
public PluginLoader() { if (!_loaded) { switch (ObjectManager.Player.ChampionName.ToLower()) { case "ahri": var ahri = new Ahri(); _loaded = true; break; case "akali": var akali = new Akali(); _loaded = true; break; case "anivia": var anivia = new Anivia(); break; case "cassiopeia": var cassiopeia = new Cassiopeia(); _loaded = true; break; case "ashe": var ashe = new Ashe(); _loaded = true; break; case "azir": var azir = new Azir(); _loaded = true; break; case "chogath": var chogath = new Chogath(); _loaded = true; break; case "corki": var corki = new Corki(); _loaded = true; break; case "ekko": var ekko = new Ekko(); _loaded = true; break; case "ezreal": var ezreal = new Ezreal(); _loaded = true; break; case "irelia": var irelia = new Irelia(); _loaded = true; break; case "jinx": var jinx = new Jinx(); _loaded = true; break; case "karthus": var karthus = new Karthus(); _loaded = true; break; case "katarina": var katarina = new Katarina(); _loaded = true; break; case "kogmaw": var kogMaw = new KogMaw(); _loaded = true; break; case "lissandra": var lissandra = new Lissandra(); _loaded = true; break; case "lucian": var lucian = new Lucian(); _loaded = true; break; case "jayce": var jayce = new Jayce(); _loaded = true; break; case "orianna": var orianna = new Orianna(); _loaded = true; break; case "rumble": var rumble = new Rumble(); _loaded = true; break; case "syndra": var syndra = new Syndra(); _loaded = true; break; case "vayne": var vayne = new Vayne(); _loaded = true; break; case "viktor": var viktor = new Viktor(); _loaded = true; break; case "vladimir": var vladimir = new Vladimir(); _loaded = true; break; case "urgot": var urgot = new Urgot(); _loaded = true; break; case "zyra": var zyra = new Zyra(); _loaded = true; break; default: Notifications.AddNotification(ObjectManager.Player.ChampionName + " not supported!!", 10000); break; } } }
public static void GameOnOnGameLoad() { enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy); Q = new Spell(SpellSlot.Q); E = new Spell(SpellSlot.E); W = new Spell(SpellSlot.W); R = new Spell(SpellSlot.R); Config = MainMenu.AddMenu("一键制胜 合集", "OneKeyToWin_AIO" + ObjectManager.Player.ChampionName); #region MENU ABOUT OKTW Config.Add("debug", new CheckBox("调试", false)); Config.Add("debugChat", new CheckBox("调试信息", false)); Config.Add("print", new CheckBox("OKTW更新信息")); #endregion Config.Add("AIOmode", new Slider("合集模式 (0 : 功能集 & 英雄 | 1 : 只载入英雄 | 2 : 只载入功能集)", 0, 0, 2)); AIOmode = getSliderItem("AIOmode"); Config.Add("PredictionMODE", new Slider("预判库 (0 : 库预判 | 1 : OKTW© 预判 | 2 : S预判)", 0, 0, 2)); Config.Add("HitChance", new Slider("AIO 预判模式 (0 : 非常高 | 1 : 高 | 2 : 中)", 0, 0, 2)); Config.Add("debugPred", new CheckBox("显示 瞄准OKTW©预判", false)); Config.Add("harassLaneclear", new CheckBox("清线时技能骚扰")); if (getSliderItem("PredictionMODE") == 2) { SPrediction.Prediction.Initialize(Config); SPredictionLoad = true; } else { Config.AddLabel("S预判未加载"); } if (AIOmode != 2) { Config.Add("supportMode", new CheckBox("辅助模式", false)); Config.Add("comboDisableMode", new CheckBox("连招屏蔽普攻", false)); Config.Add("manaDisable", new CheckBox("连招时无视蓝量控制器")); Config.Add("collAA", new CheckBox("面对亚索风墙停止普攻")); #region LOAD CHAMPIONS switch (Player.ChampionName) { case "Anivia": PortAIO.Champion.Anivia.Anivia.LoadOKTW(); break; case "Annie": PortAIO.Champion.Annie.Program.LoadOKTW(); break; case "Ashe": PortAIO.Champion.Ashe.Program.LoadOKTW(); break; case "Braum": PortAIO.Champion.Braum.Program.LoadOKTW(); break; case "Caitlyn": new Caitlyn().LoadOKTW(); break; case "Ekko": PortAIO.Champion.Ekko.Program.LoadOKTW(); break; case "Ezreal": Ezreal.LoadOKTW(); break; case "Graves": Graves.LoadOKTW(); break; case "Jayce": OneKeyToWin_AIO_Sebby.Champions.Jayce.LoadOKTW(); break; case "Jinx": Jinx.LoadOKTW(); break; case "Karthus": Karthus.LoadOKTW(); break; case "MissFortune": MissFortune.LoadOKTW(); break; case "Malzahar": Malzahar.LoadOKTW(); break; case "Orianna": Orianna.LoadOKTW(); break; case "Sivir": Sivir.LoadOKTW(); break; case "Twitch": Twitch.LoadOKTW(); break; case "Syndra": Syndra.LoadOKTW(); break; case "Velkoz": Velkoz.LoadOKTW(); break; case "Xerath": Xerath.LoadOKTW(); break; case "Swain": Swain.LoadOKTW(); break; case "Urgot": Urgot.LoadOKTW(); break; case "Ahri": Ahri.LoadOKTW(); break; case "Thresh": Thresh.LoadOKTW(); break; case "Brand": Brand.LoadOKTW(); break; case "Blitzcrank": Blitzcrank.LoadOKTW(); break; case "Corki": Corki.LoadOKTW(); break; case "Darius": Darius.LoadOKTW(); break; case "Evelynn": OneKeyToWin_AIO_Sebby.Champions.Evelynn.LoadOKTW(); break; case "Jhin": Jhin.LoadOKTW(); break; case "Kindred": Kindred.LoadOKTW(); break; case "KogMaw": OneKeyToWin_AIO_Sebby.KogMaw.LoadOKTW(); break; case "Lux": Lux.LoadOKTW(); break; case "Morgana": Morgana.LoadOKTW(); break; case "Quinn": Quinn.LoadOKTW(); break; case "TwistedFate": OneKeyToWin_AIO_Sebby.Champions.TwistedFate.LoadOKTW(); break; } } #endregion foreach (var hero in HeroManager.Enemies) { if (hero.IsEnemy && hero.Team != Player.Team) { Enemies.Add(hero); if (IsJungler(hero)) { jungler = hero; } } } foreach (var hero in HeroManager.Allies) { if (hero.IsAlly && hero.Team == Player.Team) { Allies.Add(hero); } } if (AIOmode != 1) { new OKTWward().LoadOKTW(); new OKTWtracker().LoadOKTW(); } Game.OnUpdate += OnUpdate; Orbwalker.OnPreAttack += Orbwalking_BeforeAttack; Drawing.OnDraw += OnDraw; }
public static void GameOnOnGameLoad() { enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy); Q = new Spell(SpellSlot.Q); E = new Spell(SpellSlot.E); W = new Spell(SpellSlot.W); R = new Spell(SpellSlot.R); Config = MainMenu.AddMenu("OneKeyToWin AIO", "OneKeyToWin_AIO" + ObjectManager.Player.ChampionName); #region MENU ABOUT OKTW Config.Add("debug", new CheckBox("Debug", false)); Config.Add("debugChat", new CheckBox("Debug Chat", false)); Config.Add("print", new CheckBox("OKTW NEWS in chat")); #endregion Config.Add("AIOmode", new Slider("AIO mode (0 : Util & Champ | 1 : Only Champ | 2 : Only Util)", 0, 0, 2)); AIOmode = getSliderItem("AIOmode"); if (AIOmode != 2) { if (Player.ChampionName != "MissFortune") { new OktwTs().LoadOKTW(); } } Config.Add("PredictionMODE", new Slider("Prediction MODE (0 : Common Pred | 1 : OKTW© PREDICTION)", 0, 0, 1)); Config.Add("HitChance", new Slider("AIO mode (0 : Very High | 1 : High | 2 : Medium)", 0, 0, 2)); Config.Add("debugPred", new CheckBox("Draw Aiming OKTW© PREDICTION", false)); if (AIOmode != 2) { Config.Add("supportMode", new CheckBox("Support Mode", false)); Config.Add("comboDisableMode", new CheckBox("Disable auto-attack in combo mode", false)); Config.Add("manaDisable", new CheckBox("Disable mana manager in combo")); Config.Add("collAA", new CheckBox("Disable auto-attack if Yasuo wall collision")); #region LOAD CHAMPIONS switch (Player.ChampionName) { case "Anivia": PortAIO.Champion.Anivia.Program.LoadOKTW(); break; case "Annie": PortAIO.Champion.Annie.Program.LoadOKTW(); break; case "Ashe": PortAIO.Champion.Ashe.Program.LoadOKTW(); break; case "Braum": PortAIO.Champion.Braum.Program.LoadOKTW(); break; case "Caitlyn": PortAIO.Champion.Caitlyn.Program.LoadOKTW(); break; case "Ekko": PortAIO.Champion.Ekko.Program.LoadOKTW(); break; case "Ezreal": Ezreal.LoadOKTW(); break; case "Graves": Graves.LoadOKTW(); break; case "Jayce": Jayce.LoadOKTW(); break; case "Jinx": Jinx.LoadOKTW(); break; case "Karthus": Karthus.LoadOKTW(); break; case "MissFortune": MissFortune.LoadOKTW(); break; case "Malzahar": Malzahar.LoadOKTW(); break; case "Orianna": Orianna.LoadOKTW(); break; case "Sivir": Sivir.LoadOKTW(); break; case "Twitch": Twitch.LoadOKTW(); break; case "Syndra": Syndra.LoadOKTW(); break; case "Velkoz": Velkoz.LoadOKTW(); break; case "Xerath": Xerath.LoadOKTW(); break; case "Swain": Swain.LoadOKTW(); break; case "Urgot": Urgot.LoadOKTW(); break; case "Ahri": Ahri.LoadOKTW(); break; case "Thresh": Thresh.LoadOKTW(); break; } } #endregion foreach (var hero in HeroManager.Enemies) { if (hero.IsEnemy && hero.Team != Player.Team) { Enemies.Add(hero); if (IsJungler(hero)) { jungler = hero; } } } foreach (var hero in HeroManager.Allies) { if (hero.IsAlly && hero.Team == Player.Team) { Allies.Add(hero); } } Game.OnUpdate += OnUpdate; Orbwalker.OnPreAttack += Orbwalking_BeforeAttack; Drawing.OnDraw += OnDraw; }
private static void OnGameLoad() { try { player = ObjectManager.Player; //pred = new Menu("spred", "Prediction settings"); //SPrediction.Prediction.Initialize(pred); SPredictionMenu = SPrediction.Prediction.Initialize(); //new Menu("SPREDX", "SPrediction"); Game.Print("<font color=\"#05FAAC\"><b>XDreamms is just a kid stealing, disrespecting the source owner</b></font>"); Game.Print("<font color=\"#f54242\"><b>HappyMajor is son of bitch trying destroy discord ensoul</b></font>"); //SPredictionMenu.Attach(); //set default to common prediction //var type = Type.GetType("DaoHungAIO.Champions." + player.CharacterName); //Game.Print("Loading1"); //if (type != null) //{ // Game.Print("Loading"); // Helpers.DynamicInitializer.NewInstance(type); //} //else //{ // Game.Print("Loading2"); // var common = Type.GetType("DaoHungAIO.Champions." + "Other"); // if (common != null) // { // Game.Print("Loading3"); // Helpers.DynamicInitializer.NewInstance(common); // } //} //IncDamages = new IncomingDamage(); EnsoulSharp.SDK.Events.Tick.OnTick += DelayTime; Menu tick = new Menu("tick", "Tick Per Second", true); tickpersecond.ValueChanged += onTickChange; tick.Add(tickpersecond); tick.Add(new Menu("notice", "Decrease it will make script work better but you also has high chance get disconnect issues")); tick.Add(new Menu("notice2", "It should is higher than 30, increase it if you get disconnect issues")); tick.Attach(); //AIBaseClient.OnDoCast += OnProcessSpell; //AIBaseClient.OnBuffGain += BuffGain; //EnsoulSharp.SDK.Events.Tick.OnTick += TrashTalk; new Developer(); Game.Print(player.CharacterName); switch (player.CharacterName) { case "Ahri": new Ahri(); break; case "Akali": new Akali(); break; case "Azir": new Azir(); break; case "Camille": new Camille(); break; //case "Diana": // new Diana(); // break; case "Draven": new Draven(); break; case "Ekko": new Ekko(); break; case "Fiora": new Fiora(); break; case "Fizz": new Fizz(); break; case "Garen": new Garen(); break; case "Gragas": new Gragas(); break; case "Jax": new Jax(); break; case "Jayce": new Jayce(); break; case "Jhin": new Jhin(); break; case "Kennen": new Kennen(); break; case "Khazix": new Khazix(); break; case "Kayle": new Kayle(); break; case "KogMaw": new KogMaw(); break; case "LeeSin": new Leesin(); break; case "Lucian": new Lucian(); break; case "Malphite": new Malphite(); break; case "Nautilus": new Nautilus(); break; case "Nidalee": new Nidalee(); break; case "MasterYi": new MasterSharp(); break; case "Mordekaiser": new Mordekaiser(); break; case "Olaf": new Olaf(); break; case "Pantheon": new Pantheon(); break; case "Orianna": Orianna.initOrianna(); break; case "Qiyana": new Qiyana(); break; case "Riven": new RivenReborn(); break; //case "Rengar": // new Rengar(); //break; case "Renekton": new Renekton(); break; case "Rumble": new Rumble(); break; case "Ryze": new Ryze(); break; case "Sett": new Sett(); break; case "Syndra": new Syndra(); break; case "Tristana": new Tristana(); break; case "Varus": new Varus(); break; case "Velkoz": new Velkoz(); break; case "Viktor": new Viktor(); break; case "Yasuo": new Yasuo(); break; case "Zoe": new Zoe(); break; case "Zed": new Zed(); break; case "Ziggs": new Ziggs(); break; } } catch (Exception e) { Console.WriteLine("Failed To load: " + e); } }
private static void OnGameLoad() { try { player = ObjectManager.Player; //pred = new Menu("spred", "Prediction settings"); //SPrediction.Prediction.Initialize(pred); SPredictionMenu = SPrediction.Prediction.Initialize(); //new Menu("SPREDX", "SPrediction"); //SPredictionMenu.Attach(); //set default to common prediction //var type = Type.GetType("DaoHungAIO.Champions." + player.CharacterName); //Chat.Print("Loading1"); //if (type != null) //{ // Chat.Print("Loading"); // Helpers.DynamicInitializer.NewInstance(type); //} //else //{ // Chat.Print("Loading2"); // var common = Type.GetType("DaoHungAIO.Champions." + "Other"); // if (common != null) // { // Chat.Print("Loading3"); // Helpers.DynamicInitializer.NewInstance(common); // } //} //IncDamages = new IncomingDamage(); new Activator(); Game.OnTick += DelayTime; //AIBaseClient.OnDoCast += OnProcessSpell; //Game.OnUpdate += TrashTalk; switch (player.CharacterName) { //case "Azir": // new Azir(); // break; case "Draven": new Draven(); break; case "Fiora": new Fiora(); break; case "Fizz": new Fizz(); break; case "Garen": new Garen(); break; case "Jax": new Jax(); break; case "Jayce": new Jayce(); break; case "Jhin": new Jhin(); break; case "Kennen": new Kennen(); break; case "Khazix": new Khazix(); break; case "KogMaw": new KogMaw(); break; case "Lucian": new Lucian(); break; case "Nidalee": new Nidalee(); break; case "Orianna": Orianna.initOrianna(); break; case "Riven": new RivenReborn(); break; case "Renekton": new Renekton(); break; case "Ryze": new Ryze(); break; case "Syndra": new Syndra(); break; case "Tristana": new Tristana(); break; case "Varus": new Varus(); break; case "Velkoz": new Velkoz(); break; case "Yasuo": new Yasuo(); break; case "Zed": new Zed(); break; } } catch (Exception e) { Console.WriteLine("Failed To load: " + e); } }
public static bool WillHitMyHero(this EvaderArgs args, Vector3?vector = null) { SpellType spellType; switch (args.Spell.SData.TargettingType) { case SpellDataTargetType.Self: spellType = SpellType.Self; break; case SpellDataTargetType.Unit: if (args.Spell.Target != null || (args.Missile != null && args.Missile.IsValidMissile() && args.Missile.Target != null)) { spellType = SpellType.Targeted; } else { spellType = SpellType.Circular; } break; case SpellDataTargetType.LocationAoe: spellType = SpellType.Circular; break; case SpellDataTargetType.Cone: spellType = SpellType.Cone; break; case SpellDataTargetType.SelfAoe: spellType = SpellType.Self; break; case SpellDataTargetType.Location: spellType = SpellType.Linear; break; case SpellDataTargetType.SelfAndUnit: spellType = SpellType.Self; break; case SpellDataTargetType.Location2: spellType = SpellType.Linear; break; case SpellDataTargetType.LocationVector: spellType = SpellType.Linear; break; case SpellDataTargetType.LocationTunnel: spellType = SpellType.Linear; break; case SpellDataTargetType.LocationSummon: spellType = SpellType.Linear; break; case SpellDataTargetType.Location3: spellType = SpellType.Linear; break; default: spellType = SpellType.Self; break; } var currentPosition = vector ?? Player.Instance.Position; var missileIsValid = args.Missile != null && args.Missile.IsValidMissile(); var range = Math.Min(args.Spell.SData.CastRangeDisplayOverride > 0 ? args.Spell.SData.CastRangeDisplayOverride : args.Spell.SData.CastRange, args.SData.CastRangeDisplayOverride > 0 ? args.SData.CastRangeDisplayOverride : args.SData.CastRange); var startVector = missileIsValid ? args.Missile.Position : args.Spell.Start; var realEnd = args.Spell.Start + (args.Spell.End - args.Spell.Start).Normalized() * range; var endVector = missileIsValid ? args.Missile.EndPosition : realEnd; var width = AIO.MyHero.BoundingRadius * 1.5f; var willHit = false; var containsMissile = args.ContainsMissile; switch (spellType) { case SpellType.Self: break; case SpellType.Targeted: break; case SpellType.Linear: width += args.SData.LineWidth; break; case SpellType.Circular: width += Math.Max(args.SData.CastRadius, args.SData.CastRadiusSecondary) / 2f; //Math.Max(args.SData.CastRadius, args.SData.CastRadiusSecondary); break; case SpellType.Cone: width += args.SData.LineWidth; break; } if (missileIsValid) { if (spellType == SpellType.Targeted) { willHit = args.Spell.Target != null && args.Spell.Target.IsMe && args.Missile.IsInRange(currentPosition, 200f); } else if (spellType == SpellType.Linear || spellType == SpellType.Circular || spellType == SpellType.Cone) { var distance = spellType == SpellType.Circular ? currentPosition.Distance(endVector) : currentPosition.To2D().Distance(startVector.To2D(), endVector.To2D(), true, false); if (distance <= width && distance > 0 && distance < float.MaxValue) { var timeToEvade = (width - distance) / AIO.MyHero.MoveSpeed + Game.Ping / 2000f; var timeToArrive = args.SData.MissileFixedTravelTime > 0 ? args.SData.MissileFixedTravelTime : currentPosition.Distance(args.Missile) / args.Missile.SData.MissileSpeed; willHit = timeToEvade >= timeToArrive; } } } else if (!containsMissile) { switch (spellType) { case SpellType.Self: if (args.Sender.Hero == Champion.Orianna) { var ballObject = Orianna.OriannaBall(args.Sender); if (ballObject != null) { if (currentPosition.IsInRange(ballObject, range + width)) { willHit = true; } } } else { if (currentPosition.IsInRange(startVector, range + width)) { willHit = true; } } break; case SpellType.Targeted: willHit = args.Spell.Target != null && args.Spell.Target.IsMe; break; case SpellType.Linear: willHit = currentPosition.To2D().Distance(startVector.To2D(), endVector.To2D(), true, true) <= width.Pow(); break; case SpellType.Circular: if (currentPosition.IsInRange(endVector, width)) { willHit = true; } break; case SpellType.Cone: willHit = currentPosition.To2D().Distance(startVector.To2D(), endVector.To2D(), true, true) <= width.Pow(); break; } } return(willHit); }