public static List <Geometry.Polygon> DangerZone() { var polygons = new List <Geometry.Polygon>(); foreach ( var enemy in ObjectManager.Player.GetEnemiesInRange(1400) .OrderBy(e => e.Distance(ObjectManager.Player.Position)).Where(e => e.IsVisible && e.IsValidTarget())) { if (enemy.IsDead) { continue; } var highestSpellRange = 0; foreach (var slot in SpellSlots) { var spell = enemy.Spellbook.GetSpell(slot); if (enemy.Spellbook.CanUseSpell(slot) != SpellState.NotLearned && (enemy.Spellbook.CanUseSpell(slot) != SpellState.Cooldown || spell.IsReady())) { var sd = SpellDb.GetByName(spell.Name); if (sd != null) { if (sd.Range > highestSpellRange && sd.Range < 2000) { highestSpellRange = (int)sd.Range; } } } } polygons.Add(new Geometry.Circle(enemy.Position.To2D(), highestSpellRange).ToPolygon()); } return(polygons); }
public static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.Distance(Player) > 1400) { return; } var qss = ItemId.Quicksilver_Sash; if (Items.HasItem((int)ItemId.Mercurial_Scimitar)) { qss = ItemId.Mercurial_Scimitar; } if (sender.IsValid <Obj_AI_Hero>() && sender.IsEnemy && args.Target == Player) { var sData = SpellDb.GetByName(args.SData.Name); if (sData != null && sData.ChampionName.ToLower() == "syndra" && sData.Spellslot == Utils.SpellSlot.R) { Utility.DelayAction.Add(150, () => UseItem(qss)); } if (args.SData.Name == "summonerdot" && sender.GetSpellDamage(Player, "summonerdot") < Player.Health + sender.GetAutoAttackDamage(Player)) { UseItem(qss); } } if (!Program.ActivatorMenu.Item("exploits").GetValue <bool>()) { return; } if (sender.Name.ToLower() == "cassiopeia" && args.SData.Name.ToLower().Contains("petrifying") && Player.IsFacing(sender) && Player.ServerPosition.Distance(sender.ServerPosition) + Player.BoundingRadius <= 1000) { if (exploitEndTime < Environment.TickCount) { exploitEndTime = Environment.TickCount + 1000; } Player.IssueOrder(GameObjectOrder.MoveTo, sender.ServerPosition.Extend(Player.ServerPosition, Player.ServerPosition.Distance(sender.ServerPosition) + 100)); } if (sender.Name.ToLower() == "shaco" && args.SData.Name.ToLower().Contains("twoshiv") && !Player.IsFacing(sender) && args.Target.IsMe && !Player.IsFacing(sender)) { if (exploitEndTime < Environment.TickCount) { exploitEndTime = Environment.TickCount + 300; } Player.IssueOrder(GameObjectOrder.MoveTo, sender.ServerPosition.Extend(Player.ServerPosition, Player.ServerPosition.Distance(sender.ServerPosition) - 100)); } if (sender.Name.ToLower() == "tryndamere" && args.SData.Name.ToLower().Contains("mockingshout") && !Player.IsFacing(sender) && Player.ServerPosition.Distance(sender.ServerPosition) + Player.BoundingRadius <= 900) { if (exploitEndTime < Environment.TickCount) { exploitEndTime = Environment.TickCount + 800; } Player.IssueOrder(GameObjectOrder.MoveTo, sender.ServerPosition.Extend(Player.ServerPosition, Player.ServerPosition.Distance(sender.ServerPosition) - 100)); } }
public static void OnProcessSpellcast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (Program.ComboMenu.Item("WCombo").GetValue <bool>() && sender.IsEnemy && args.Target.IsMe) { if (SpellDb.GetByName(args.SData.Name).Dangerous) { Program.W.Cast(); } } }
public static int EnemyCC() { var i = 0; foreach ( var enemy in HeroManager.Enemies.Where(h => !h.IsDead && h.Distance(ObjectManager.Player) < 1400 && h.IsMeele)) { foreach (var slot in SpellSlots) { var spell = enemy.Spellbook.GetSpell(slot); if (enemy.Spellbook.CanUseSpell(slot) != SpellState.NotLearned && (enemy.Spellbook.CanUseSpell(slot) != SpellState.Cooldown || spell.IsReady())) { var sd = SpellDb.GetByName(spell.Name); if (sd == null) { continue; } var cct = sd.CcType; if (ObjectManager.Player.BaseSkinName == "Katarina") { if (cct != CcType.No && cct != CcType.Slow && cct != CcType.Snare) { i++; } } else { if (cct != CcType.No && cct != CcType.Slow && sd.Type == SpellType.Targeted) { i++; } } } } } return(i); }
public static void OnProcessSpellcast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { try { #region ward brush after condemn if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn") && args.Target.IsValid <AIHeroClient>()) { var target = (AIHeroClient)args.Target; if (Program.ComboMenu.Item("EQ").GetValue <bool>() && target.IsVisible && !target.HasBuffOfType(BuffType.Stun) && Program.Q.IsReady()) //#TODO: fix { var tumblePos = target.GetTumblePos(); Tumble.Cast(tumblePos); } if (NavMesh.IsWallOfGrass(args.End, 100)) { var blueTrinket = ItemId.Farsight_Alteration; if (Items.HasItem((int)ItemId.Farsight_Alteration, Heroes.Player) && Items.CanUseItem((int)ItemId.Farsight_Alteration)) { blueTrinket = ItemId.Farsight_Alteration; } var yellowTrinket = ItemId.Warding_Totem_Trinket; if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Heroes.Player)) { yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; } if (Items.CanUseItem((int)blueTrinket)) { Items.UseItem((int)blueTrinket, args.End.Randomize(0, 100)); } if (Items.CanUseItem((int)yellowTrinket)) { Items.UseItem((int)yellowTrinket, args.End.Randomize(0, 100)); } } } #endregion #region Anti-Stealth if (args.SData.Name.ToLower().Contains("talonshadow")) //#TODO get the actual buff name { if (Items.HasItem((int)ItemId.Oracle_Alteration) && Items.CanUseItem((int)ItemId.Oracle_Alteration)) { Items.UseItem((int)ItemId.Oracle_Alteration, Heroes.Player.Position); } else if (Items.HasItem((int)ItemId.Control_Ward, Heroes.Player)) { Items.UseItem((int)ItemId.Control_Ward, Heroes.Player.Position.Randomize(0, 125)); } } #endregion if (MyWizard.ShouldSaveCondemn()) { return; } if (sender.Distance(Heroes.Player) > 1500 || !args.Target.IsMe || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); if (spellData != null && !Heroes.Player.UnderTurret(true) && !Lists.UselessChamps.Contains(sender.BaseSkinName)) { if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun || spellData.CcType == CcType.Knockback || spellData.CcType == CcType.Suppression) { Program.E.Cast(sender); } } } catch (Exception exception) { //normal } }
public static void OnProcessSpellcast(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args) { if (args.Target == null) { return; } #region ward brush after condemn /*if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn") && args.Target.IsValid<AIHeroClient>()) * { * var target = (AIHeroClient)args.Target; * if (Program.ComboMenu.Item("EQ").GetValue<bool>() && target.IsVisible && * !target.HasBuffOfType(BuffType.Stun) && Program.Q.IsReady()) //#TODO: fix * { * var tumblePos = target.GetTumblePos(); * Tumble.Cast(tumblePos); * } * * if (NavMesh.IsWallOfGrass(args.End, 100)) * { * var blueTrinket = ItemId.Farsight_Alteration; * if (Items.HasItem((int)ItemId.Farsight_Alteration, Heroes.Player) && * Items.CanUseItem((int)ItemId.Farsight_Alteration)) * blueTrinket = ItemId.Farsight_Alteration; * * var yellowTrinket = ItemId.Warding_Totem; * if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Heroes.Player)) * yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; * * if (Items.CanUseItem((int)blueTrinket)) * Items.UseItem((int)blueTrinket, args.End.Randomize(0, 100)); * if (Items.CanUseItem((int)yellowTrinket)) * Items.UseItem((int)yellowTrinket, args.End.Randomize(0, 100)); * } * }*/ #endregion ward brush after condemn // need to fix "ward brush after condemn + Anti-Stealth" #region Anti-Stealth if (args.SData.Name.ToLower().Contains("talonshadow")) //#TODO get the actual buff name { /* if (Items.HasItem((int)ItemId.Oracle_Alteration) && * Items.CanUseItem((int)ItemId.Oracle_Alteration)) * Items.UseItem((int)ItemId.Oracle_Alteration, Heroes.Player.Position); * else if (Items.HasItem((int)ItemId.Control_Ward, Heroes.Player)) * Items.UseItem((int)ItemId.Control_Ward, Heroes.Player.Position.Randomize(0, 125));*/ } #endregion Anti-Stealth if (MyWizard.ShouldSaveCondemn()) { return; } if (sender.Distance(Heroes.Player) > 1500 || !args.Target.IsMe || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); /* if (spellData != null && !Heroes.Player.IsUnderEnemyTurret(true) && * !Lists.UselessChamps.Contains(sender.CharacterName)) * if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun || * spellData.CcType == CcType.Knockback || spellData.CcType == CcType.Suppression) * Program.E.Cast(sender);*/ }
public static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.Distance(Player) > 1400) { return; } var qss = ItemId.Quicksilver_Sash; if (Items.HasItem((int)ItemId.Mercurial_Scimitar)) { qss = ItemId.Mercurial_Scimitar; } if (sender.IsValid <Obj_AI_Hero>() && sender.IsEnemy && args.Target == Player) { var sData = SpellDb.GetByName(args.SData.Name); if (sData != null && sData.ChampionName.ToLower() == "syndra" && sData.Spellslot == SpellSlot.R) { Utility.DelayAction.Add(150, () => UseItem(qss)); } if (args.SData.Name == "summonerdot" && sender.GetSpellDamage(Player, "summonerdot") < Player.Health + sender.GetAutoAttackDamage(Player)) { UseItem(qss); } } if (!ChallengerPlugin.ActivatorMenu.Item("exploits").GetValue <bool>()) { return; } if (sender.Name.ToLower() == "cassiopeia" && args.SData.Name.ToLower().Contains("petrifying") && Player.Distance(sender) < 750 && Player.IsFacing(sender)) { ChallengerPlugin.Orbwalker.SetMovement(false); ChallengerPlugin.Orbwalker.SetAttack(false); Player.IssueOrder(GameObjectOrder.MoveTo, sender.Position.To2D().Extend(Player.ServerPosition.To2D(), Player.Distance(sender) + 100).To3D()); Utility.DelayAction.Add(300, () => { ChallengerPlugin.Orbwalker.SetMovement(true); ChallengerPlugin.Orbwalker.SetAttack(true); }); } if (sender.Name.ToLower() == "shaco" && args.SData.Name.ToLower().Contains("twoshiv") && args.Target.IsMe && !Player.IsFacing(sender)) { ChallengerPlugin.Orbwalker.SetMovement(false); ChallengerPlugin.Orbwalker.SetAttack(false); Player.IssueOrder(GameObjectOrder.MoveTo, sender.Position.To2D().Extend(Player.ServerPosition.To2D(), Player.Distance(sender) - 100).To3D()); Utility.DelayAction.Add(250, () => { ChallengerPlugin.Orbwalker.SetMovement(true); ChallengerPlugin.Orbwalker.SetAttack(true); }); } if (sender.Name.ToLower() == "tryndamere" && args.SData.Name.ToLower().Contains("mockingshout") && args.Target.IsMe && !Player.IsFacing(sender)) { ChallengerPlugin.Orbwalker.SetMovement(false); ChallengerPlugin.Orbwalker.SetAttack(false); Player.IssueOrder(GameObjectOrder.MoveTo, sender.Position.To2D().Extend(Player.ServerPosition.To2D(), Player.Distance(sender) - 100).To3D()); Utility.DelayAction.Add(250, () => { ChallengerPlugin.Orbwalker.SetMovement(true); ChallengerPlugin.Orbwalker.SetAttack(true); }); } }
public static void OnProcessSpellcast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { try { #region ward brush after E /*if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn") && args.Target.IsValid<Obj_AI_Hero>()) * { * var target = (Obj_AI_Hero)args.Target; * if (NavMesh.IsWallOfGrass(args.End, 100)) * { * var blueTrinket = ItemId.Scrying_Orb_Trinket; * if (Items.HasItem((int)ItemId.Farsight_Orb_Trinket, Heroes.Player) && Items.CanUseItem((int)ItemId.Farsight_Orb_Trinket)) blueTrinket = ItemId.Farsight_Orb_Trinket; * * var yellowTrinket = ItemId.Warding_Totem_Trinket; * if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Heroes.Player)) yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; * * if (Items.CanUseItem((int)blueTrinket)) * Items.UseItem((int)blueTrinket, args.End.Randomize(0, 100)); * if (Items.CanUseItem((int)yellowTrinket)) * Items.UseItem((int)yellowTrinket, args.End.Randomize(0, 100)); * } * }*/ #endregion #region Anti-Stealth if (args.SData.Name.ToLower().Contains("talonshadow")) //#TODO get the actual buff name { if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket)) { Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Heroes.Player.Position); } else if (Items.HasItem((int)ItemId.Vision_Ward, Heroes.Player)) { Items.UseItem((int)ItemId.Vision_Ward, Heroes.Player.Position.Randomize(0, 125)); } } #endregion if (MyWizard.ShouldSaveCondemn()) { return; } if (sender.Distance(Heroes.Player) > 1500 || !args.Target.IsMe || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); if (spellData != null && !Heroes.Player.UnderTurret(true) && !Lists.UselessChamps.Contains(sender.CharData.BaseSkinName)) { if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun || spellData.CcType == CcType.Knockback || spellData.CcType == CcType.Suppression) { Program.E.Cast(sender); } } } catch (Exception exception) { //normal } }
public static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (args.SData == null) { return; } if (sender.IsMe && args.SData.Name == "summonerflash") { FlashTime = Environment.TickCount; } #region ward brush after condemn if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn") && args.Target.IsValid <Obj_AI_Hero>()) { var target = (Obj_AI_Hero)args.Target; if (ComboMenu.Item("EQ").GetValue <bool>() && target.IsVisible && !target.HasBuffOfType(BuffType.Stun) && Q.IsReady()) //#TODO: fix { TumbleOrder = target.GetTumblePos(); Q.Cast(TumbleOrder); } if (NavMesh.IsWallOfGrass(_condemnEndPos, 100)) { var blueTrinket = ItemId.Scrying_Orb_Trinket; if (Items.HasItem((int)ItemId.Farsight_Orb_Trinket, Player) && Items.CanUseItem((int)ItemId.Farsight_Orb_Trinket)) { blueTrinket = ItemId.Farsight_Orb_Trinket; } var yellowTrinket = ItemId.Warding_Totem_Trinket; if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Player)) { yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; } if (Items.CanUseItem((int)blueTrinket)) { Items.UseItem((int)blueTrinket, _condemnEndPos.Randomize(0, 100)); } if (Items.CanUseItem((int)yellowTrinket)) { Items.UseItem((int)yellowTrinket, _condemnEndPos.Randomize(0, 100)); } } } #endregion #region Anti-Stealth if (args.SData.Name.ToLower().Contains("talonshadow")) //#TODO get the actual buff name { if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket)) { Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position); } else if (Items.HasItem((int)ItemId.Vision_Ward, Player)) { Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125)); } } #endregion if (ShouldSaveCondemn()) { return; } if (sender.Distance(Player) > 1500 || !args.Target.IsMe || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); if (spellData != null && !Heroes.Player.UnderTurret(true) && !Lists.UselessChamps.Contains(sender.CharData.BaseSkinName)) { if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun || spellData.CcType == CcType.Knockback || spellData.CcType == CcType.Suppression) { E.Cast(sender); } } }
protected override void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { #region ward brush after condemn if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn")) { if (NavMesh.IsWallOfGrass(_condemnEndPos, 150)) { var blueTrinket = ItemId.Scrying_Orb_Trinket; if (Items.HasItem((int)ItemId.Farsight_Orb_Trinket, Player)) { blueTrinket = ItemId.Farsight_Orb_Trinket; } var yellowTrinket = ItemId.Warding_Totem_Trinket; if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Player)) { yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; } if (Items.CanUseItem((int)blueTrinket)) { Items.UseItem((int)blueTrinket, _condemnEndPos.Randomize(0, 150)); } if (Items.CanUseItem((int)yellowTrinket)) { Items.UseItem((int)yellowTrinket, _condemnEndPos.Randomize(0, 150)); } } } #endregion if (ShouldSaveCondemn()) { return; } if (sender.Distance(Player) > 700 || !sender.IsMelee() || !args.Target.IsMe || sender.Distance(Player) > 700 || !sender.IsValid <Obj_AI_Hero>() || !sender.IsEnemy || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); if (spellData != null) { if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun) { if (E.CanCast(sender)) { E.Cast(sender); } } } if (args.SData.Name.ToLower().Contains("talonshadow")) { if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket)) { Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position); } else if (Items.HasItem((int)ItemId.Vision_Ward, Player)) { Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125)); } } }
public static void OnProcessSpellcast(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args) { if (args.Target == null) { return; } #region ward brush after condemn if (sender.IsMe && args.SData.Name.ToLower().Contains("condemn") && args.Target.IsValid) { var target = (AIBaseClient)args.Target; if (target != null) { if (Program.MainMenu.GetMenuBool("Combo Settings", "EQ") && target.IsVisible && !target.HasBuffOfType(BuffType.Stun) && Program.Q.IsReady()) //#TODO: fix { var tumblePos = target.GetTumblePos(); Tumble.Cast(tumblePos); } } /*if (NavMesh.IsWallOfType(args.End, 100)) * { * var blueTrinket = ItemId.Farsight_Alteration; * if (Items.HasItem((int)ItemId.Farsight_Alteration, Heroes.Player) && * Items.CanUseItem((int)ItemId.Farsight_Alteration)) * blueTrinket = ItemId.Farsight_Alteration; * * var yellowTrinket = ItemId.Warding_Totem; * if (Items.HasItem((int)ItemId.Greater_Stealth_Totem_Trinket, Heroes.Player)) * yellowTrinket = ItemId.Greater_Stealth_Totem_Trinket; * * if (Items.CanUseItem((int)blueTrinket)) * Items.UseItem((int)blueTrinket, args.End.Randomize(0, 100)); * if (Items.CanUseItem((int)yellowTrinket)) * Items.UseItem((int)yellowTrinket, args.End.Randomize(0, 100)); * }*/ } #endregion ward brush after condemn #region Anti-Stealth if (args.SData.Name.ToLower().Contains("talonshadow")) //#TODO get the actual buff name { if (ObjectManager.Player.HasItem((int)ItemId.Oracle_Alteration) && ObjectManager.Player.CanUseItem((int)ItemId.Oracle_Alteration)) { ObjectManager.Player.UseItem((int)ItemId.Oracle_Alteration, Heroes.Player.Position); } else if (ObjectManager.Player.HasItem((int)ItemId.Control_Ward)) { ObjectManager.Player.UseItem((int)ItemId.Control_Ward, Heroes.Player.Position.Randomize()); } } #endregion Anti-Stealth if (MyWizard.ShouldSaveCondemn()) { return; } if (sender.Distance(Heroes.Player) > 1000 || !args.Target.IsMe || args.SData == null) { return; } //how to milk alistar/thresh/everytoplaner var spellData = SpellDb.GetByName(args.SData.Name); if (spellData != null && !Lists.UselessChamps.Contains(sender.CharacterName)) { if (spellData.CcType == CcType.Knockup || spellData.CcType == CcType.Stun || spellData.CcType == CcType.Knockback || spellData.CcType == CcType.Suppression) { Program.E.Cast(sender); } } }