public FioraPassive(Obj_GeneralParticleEmitter emitter, AIHeroClient enemy) : base(emitter.Index, (uint)emitter.NetworkId, emitter as GameObject) { Target = enemy; if (emitter.Name.Contains("Base_R")) { Passive = PassiveType.UltPassive; Color = Color.White; } else if (emitter.Name.Contains("Warning")) { Passive = PassiveType.Prepassive; Color = Color.Blue; } else if (emitter.Name.Contains("Timeout")) { Passive = PassiveType.PassiveTimeout; Color = Color.Red; } else { Passive = PassiveType.Passive; Color = Color.Green; } PassiveDistance = Passive == PassiveType.UltPassive ? 400 : 200; }
public FioraPassive(Obj_GeneralParticleEmitter emitter, Obj_AI_Hero enemy) : base((ushort)emitter.Index, (uint)emitter.NetworkId) { Target = enemy; if (emitter.Name.Contains("Base_R")) { Passive = PassiveType.UltPassive; Color = Color.White; } else if (emitter.Name.Contains("Warning")) { Passive = PassiveType.Prepassive; Color = Color.Blue; } else if (emitter.Name.Contains("Timeout")) { PassiveManager.PassiveList.RemoveAll(p => p.Target.Equals(Target) && p.Type.Equals(PassiveType.Passive)); Passive = PassiveType.PassiveTimeout; Color = Color.Red; } else { Passive = PassiveType.Passive; Color = Color.Green; } //Console.WriteLine("[PASSIVE] Type: {0} Target: {2} Name: {1}", Passive, Name, Target.Name); PassiveDistance = Passive.Equals(PassiveType.UltPassive) ? 320 : 200; }
public FioraPassive(Obj_GeneralParticleEmitter emitter, Obj_AI_Hero enemy) : base((ushort) emitter.Index, (uint) emitter.NetworkId) { Target = enemy; if (emitter.Name.Contains("Base_R")) { //PassiveManager.PassiveList.RemoveAll( // p => p.Target.Equals(Target) && !p.Type.Equals(PassiveType.UltPassive)); Passive = PassiveType.UltPassive; Color = Color.White; } else if (emitter.Name.Contains("Warning")) { Passive = PassiveType.Prepassive; Color = Color.Blue; } else if (emitter.Name.Contains("Timeout")) { PassiveManager.PassiveList.RemoveAll(p => p.Target.Equals(Target) && p.Type.Equals(PassiveType.Passive)); Passive = PassiveType.PassiveTimeout; Color = Color.Red; } else { Passive = PassiveType.Passive; Color = Color.Green; } //Console.WriteLine("[PASSIVE] Type: {0} Target: {2} Name: {1}", Passive, Name, Target.Name); PassiveDistance = Passive.Equals(PassiveType.UltPassive) ? 320 : 200; }
private static void OnCreate(GameObject sender, EventArgs args) { var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && rShadow.IsValid() && deathMark == null) { deathMark = mark; } var shadow = sender as Obj_AI_Minion; if (shadow == null || !shadow.IsValid() || shadow.Name != "Shadow" || shadow.IsEnemy) { return; } if (wCasted) { wShadow = shadow; wCasted = false; rCasted = false; DelayAction.Add(4500, () => wShadow = null); } else if (rCasted) { rShadow = shadow; rCasted = false; wCasted = false; DelayAction.Add(7500, () => rShadow = null); } }
public static bool IsFioraPassive(this Obj_GeneralParticleEmitter emitter) { return(emitter.IsValid && (emitter.Name.Contains("Fiora_Base_R_Mark") || (emitter.Name.Contains("Fiora_Base_R") && emitter.Name.Contains("Timeout")) || (emitter.Name.Contains("Fiora_Base_Passive") && DirectionList.Any(emitter.Name.Contains)))); }
public FioraPassive(Obj_GeneralParticleEmitter emitter, AIHeroClient enemy) { Target = enemy; if (emitter.Name.Contains("Base_R")) { //PassiveManager.PassiveList.RemoveAll( // p => p.Target.Equals(Target) && !p.Type.Equals(PassiveType.UltPassive)); Passive = PassiveType.UltPassive; Color = Color.White; } else if (emitter.Name.Contains("Warning")) { Passive = PassiveType.Prepassive; Color = Color.Blue; } else if (emitter.Name.Contains("Timeout")) { //PassiveManager.PassiveList.RemoveAll(p => p.Target.Equals(Target) && p.Type.Equals(PassiveType.Passive)); Passive = PassiveType.PassiveTimeout; Color = Color.Red; } else { Passive = PassiveType.Passive; Color = Color.Green; } //Console.WriteLine("[PASSIVE] Type: {0} Target: {2} Name: {1}", Passive, Name, Target.Name); PassiveDistance = Passive.Equals(PassiveType.UltPassive) ? 400 : 200; }
public PassiveObject(string passiveName, Obj_GeneralParticleEmitter obj, PassiveType passiveType, PassiveDirection passiveDirection) { PassiveName = passiveName; Object = obj; PassiveType = passiveType; PassiveDirection = passiveDirection; }
public static void CastR(Obj_AI_Hero target, Spell spell, Obj_GeneralParticleEmitter ekkoUlt) { // if (count < Config.ComboRHit)return; //todo: add logic for if ult is effective: //todo: 1. will save my life //todo: 2. will get me closer for a kill }
public FioraPassive(Obj_GeneralParticleEmitter emitter, bool ultPassive = false) : base((ushort) emitter.Index, (uint) emitter.NetworkId) { SpawnTime = Utils.TickCount; IsUltPassive = ultPassive; MaxAliveTime = IsUltPassive ? 8000 : 15000; PassiveDistance = IsUltPassive ? 320 : 200; }
public FioraPassive(Obj_GeneralParticleEmitter emitter, bool ultPassive = false) : base((ushort)emitter.Index, (uint)emitter.NetworkId) { SpawnTime = Utils.TickCount; IsUltPassive = ultPassive; MaxAliveTime = IsUltPassive ? 8000 : 15000; PassiveDistance = IsUltPassive ? 320 : 200; }
private static void OnDelete(GameObject sender, EventArgs args) { var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && deathMark != null) { deathMark = null; } }
private static void GameObject_OnCreate(GameObject sender, EventArgs args) { var create = sender as Obj_GeneralParticleEmitter; if (create != null && create.Name.Equals("Viktor_ChaosStorm_green.troy", StringComparison.CurrentCultureIgnoreCase)) { ViktorRObj = create; } }
public static void GameObject_OnDelete(GameObject sender, EventArgs args) { var particle = sender as Obj_GeneralParticleEmitter; if (EkkoUlt != null && particle != null) { if (particle.Name.Equals("Ekko_Base_R_TrailEnd.troy")) { EkkoUlt = null; } } }
public static bool IsFioraPassive(this Obj_GeneralParticleEmitter emitter) { if (emitter == null || !emitter.IsValid) { return(false); } var name = emitter.Name; return(name.Contains("Fiora_Base_R_Mark") || (name.Contains("Fiora_Base_R") && name.Contains("Timeout")) || (name.Contains("Fiora_Base_Passive") && DirectionList.Any(name.Contains))); }
public static void GameObject_OnCreate(GameObject sender, EventArgs args) { var particle = sender as Obj_GeneralParticleEmitter; if (EkkoUlt == null && particle != null) { if (particle.Name.Equals("Ekko_Base_R_TrailEnd.troy")) { EkkoUlt = particle; } } }
private static void GameObject_OnDelete(GameObject sender, EventArgs args) { if (AhriQMissile != null && sender.NetworkId.Equals(AhriQMissile.NetworkId)) { AhriQMissile = null; } if (AhriQParticle != null && sender.NetworkId.Equals(AhriQParticle.NetworkId)) { AhriQParticle = null; } }
public override void Active() { if (ViktorRObj != null && (ViktorRObj.IsDead || !ViktorRObj.IsValid)) { ViktorRObj = null; } var target = TargetSelector.GetTarget(1250, DamageType.Magical) ?? EntityManager.Heroes.Enemies.OrderBy(e => e.Distance(ViktorRObj?.Position ?? Game.CursorPos)).FirstOrDefault(e => e.IsKillable()); if (IsCastingR && target != null) { Player.Instance.Spellbook.CastSpell(SpellSlot.R, target.PredictPosition(), true, true); } }
public static bool IsPassive(this Obj_GeneralParticleEmitter emitter) { if (emitter == null) { return(false); } if (!emitter.IsValid) { return(false); } return(PassiveName.Contains(emitter.Name)); }
public static void HandleParticle(GameObject ob) { Obj_GeneralParticleEmitter particle = ob as Obj_GeneralParticleEmitter; ParticleInfo info = ParticleDatabase.GetParticleInfo(ob.Name); if (info == null && MenuHandler.DebugMenu.GetCheckboxValue("Show Particles")) { Console.WriteLine("\"" + ob.Name + "\","); } else { //known particle //this is where the particle handler should be } }
internal static E_Status UpdateEStatus(Obj_GeneralParticleEmitter dagger, out float timerefund) { float percentrefund = player.Level >= 16 ? 0.96f : player.Level >= 11 ? 0.9f : player.Level >= 6 ? 0.84f : 0.78f; float Ebasic = new float[] { 0f, 10f, 9.5f, 9f, 8.5f, 8f }[E.Level]; float CurrentECooldown = Ebasic * (1 - Math.Abs(player.PercentCooldownMod / 100)); if (!Dagger.ContainsKey(dagger)) { timerefund = -1; return(E_Status.NoDagger); } else { if (!Dagger[dagger].Item1) { timerefund = -1; return(E_Status.StillAir); } if (E.IsReady()) { timerefund = CurrentECooldown * (1 - percentrefund); return(E_Status.EReady); } else { if (!Dagger.ContainsKey(dagger)) { Chat.Print("Has error with calculate E status. Report me"); timerefund = -1; return(E_Status.NoDagger); } if (player.Distance(dagger) - 150 < player.MoveSpeed * (Dagger[dagger].Item2 - Game.Time)) { var time = (E.Handle.CooldownExpires - Game.Time) - CurrentECooldown * percentrefund; timerefund = time > 0 ? time : 0; return(E_Status.CanWalk); } else { timerefund = -1; return(E_Status.CannotWalk); } } } }
public static PassiveDirection GetPassiveDirection(Obj_GeneralParticleEmitter x) { if (x.Name.Contains("NE")) { return(PassiveDirection.NE); } else if (x.Name.Contains("SE")) { return(PassiveDirection.SE); } else if (x.Name.Contains("NW")) { return(PassiveDirection.NW); } else { return(PassiveDirection.SW); } }
private static Vector3 VitalPos(Obj_GeneralParticleEmitter vital) { var pos = new Vector3(); if (vital.Name.Contains("_NE")) { pos = new Vector3(vital.Position.X, vital.Position.Y + 50, vital.Position.Z); } if (vital.Name.Contains("_NW")) { pos = new Vector3(vital.Position.X + 50, vital.Position.Y, vital.Position.Z); } if (vital.Name.Contains("_SE")) { pos = new Vector3(vital.Position.X - 50, vital.Position.Y, vital.Position.Z); } if (vital.Name.Contains("_SW")) { pos = new Vector3(vital.Position.X, vital.Position.Y + 50, vital.Position.Z); } return(pos); }
private static void GameObject_OnCreate(GameObject sender, EventArgs args) { var particle = sender as Obj_GeneralParticleEmitter; if (particle != null && particle.IsValid && (particle.Name.Contains("Ahri_Orb") || particle.Name.Contains("Ahri_Passive"))) { AhriQParticle = particle; return; } var missile = sender as MissileClient; if (missile == null || !missile.IsValid || !missile.SpellCaster.IsMe) { return; } if (missile.SData.Name.Equals("AhriOrbReturn") || missile.SData.Name.Equals("AhriOrbMissile")) { AhriQMissile = missile; } }
static void Load_OnLoad(EventArgs args) { if (Player.ChampionName != "Ekko") { return; } SpellManager.Initialize(); Config.Initialize(); Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; orbwalker = new Orbwalking.Orbwalker(Config.orbwalkMenu); foreach (var ult in ObjectManager.Get <Obj_GeneralParticleEmitter>()) { if (ult.Name.Equals("Ekko_Base_R_TrailEnd.troy")) { EkkoUlt = ult; } } }
public static bool CheckTeam(this Obj_GeneralParticleEmitter emitter) { return(emitter.Name.ToLower().Contains("red") || (emitter.Name.ToLower().Contains("green") || emitter.Name.ToLower().Contains("ally")) && Evade.devModeOn || !emitter.Name.ToLower().Contains("green") && !emitter.Name.ToLower().Contains("ally")); }
private static void OnCreate(GameObject sender, EventArgs args) { var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && rShadow.IsValid() && deathMark == null) { deathMark = mark; } var shadow = sender as Obj_AI_Minion; if (shadow == null || !shadow.IsValid || shadow.Name != "Shadow" || shadow.IsEnemy) { return; } if (wCasted) { wShadow = shadow; wCasted = false; rCasted = false; DelayAction.Add(4500, () => wShadow = null); } else if (rCasted) { rShadow = shadow; rCasted = false; wCasted = false; DelayAction.Add(7500, () => rShadow = null); } }
public Zed() { Q = new Spell(SpellSlot.Q, 950).SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine); Q2 = new Spell(SpellSlot.Q, 950).SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine); W = new Spell(SpellSlot.W, 1700).SetSkillshot(0, 50, 1750, false, SkillshotType.SkillshotLine); E = new Spell(SpellSlot.E, 290); R = new Spell(SpellSlot.R, 625); Q.DamageType = E.DamageType = R.DamageType = DamageType.Physical; Q.MinHitChance = HitChance.High; var comboMenu = MainMenu.Add(new Menu("Combo", "Combo")); { comboMenu.Separator("Q/E: Always On"); comboMenu.Separator("Sub Settings"); comboMenu.Bool("Ignite", "Use Ignite"); comboMenu.Bool("Item", "Use Item"); comboMenu.Separator("Swap Settings"); comboMenu.Bool("SwapIfKill", "Swap W/R If Mark Can Kill Target"); comboMenu.Slider("SwapIfHpU", "Swap W/R If Hp < (%)", 10); comboMenu.List("SwapGap", "Swap W/R To Gap Close", new[] { "OFF", "Smart", "Always" }, 1); comboMenu.Separator("W Settings"); comboMenu.Bool("WNormal", "Use For Non-R Combo"); comboMenu.List("WAdv", "Use For R Combo", new[] { "OFF", "Line", "Triangle", "Mouse" }, 1); comboMenu.Separator("R Settings"); comboMenu.Bool("R", "Use R"); comboMenu.Slider( "RStopRange", "Priorize If Ready And Distance <=", (int)(R.Range + 200), (int)R.Range, (int)(R.Range + RangeW)); comboMenu.Separator("Extra R Settings"); foreach (var enemy in GameObjects.EnemyHeroes) { comboMenu.Bool("RCast" + enemy.ChampionName, "Cast On " + enemy.ChampionName, false); } } var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid")); { hybridMenu.List("Mode", "Mode", new[] { "W-E-Q", "E-Q", "Q" }); hybridMenu.Separator("Auto Q Settings"); hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle); hybridMenu.Slider("AutoQMpA", "If Mp >=", 100, 0, 200); } var lhMenu = MainMenu.Add(new Menu("LastHit", "Last Hit")); { lhMenu.Bool("Q", "Use Q"); } var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal")); { ksMenu.Bool("Q", "Use Q"); ksMenu.Bool("E", "Use E"); } if (GameObjects.EnemyHeroes.Any()) { Evade.Init(); EvadeTarget.Init(); } var drawMenu = MainMenu.Add(new Menu("Draw", "Draw")); { drawMenu.Bool("Q", "Q Range", false); drawMenu.Bool("W", "W Range", false); drawMenu.Bool("E", "E Range", false); drawMenu.Bool("R", "R Range", false); drawMenu.Bool("Target", "Target", false); drawMenu.Bool("WPos", "W Shadow", false); drawMenu.Bool("RPos", "R Shadow", false); } MainMenu.KeyBind("FleeW", "Use W To Flee", Keys.C); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; GameObject.OnCreate += OnCreate; GameObject.OnDelete += (sender, args) => { var mark = sender as Obj_GeneralParticleEmitter; if (rShadow.IsValid() && mark.Compare(deathMark)) { deathMark = null; } }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe) { return; } if (args.SData.Name == "ZedW") { rCasted = false; wCasted = true; } if (args.SData.Name == "ZedR") { wCasted = false; rCasted = true; } }; }
static Lissandra() { Q = new Spell.Skillshot(SpellSlot.Q, DamageType.Magical) { AllowedCollisionCount = int.MaxValue, }; W = new Spell.Active(SpellSlot.W, 450) { CastDelay = 250, }; E = new Spell.Skillshot(SpellSlot.E, DamageType.Magical); R = new Spell.Targeted(SpellSlot.R, 550); #region Event DamageIndicator.DamageDelegate = HandleDamageIndicator; Obj_GeneralParticleEmitter.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("Lissandra_Base_E_End.troy")) { EEnd = missile; } } }; Obj_GeneralParticleEmitter.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("Lissandra_Base_E_End.troy")) { EEnd = null; } } }; MissileClient.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe) { if (missile.SData.Name.Equals("LissandraEMissile")) { EMissile = missile; } } }; MissileClient.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe && missile.SData.Name.Equals("LissandraEMissile")) { EMissile = null; } }; AIHeroClient.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (args.Slot.Equals(SpellSlot.E)) { LastETick = Core.GameTickCount; } }; Game.OnUpdate += delegate(EventArgs args) { if (!Gapclose || EMissile == null || EEnd == null || E.ToggleState == 1 || !player.HasBuff("LissandraE")) { return; } if (EMissile.Distance(EEnd) <= 25) { Player.CastSpell(SpellSlot.E); Gapclose = false; } }; Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!(sender is Obj_AI_Turret) || !(args.Target is AIHeroClient) || !sender.IsAlly || !args.Target.IsEnemy || sender == null || !R.IsReady() || !MenuValue.General.AutoR) { return; } var attacker = sender as Obj_AI_Turret; var target = args.Target as AIHeroClient; if (attacker != null && target != null) { if (target.IsValidTarget(R.Range) && (TargetSelector.GetPriority(target) >= 4 || target.Health < sender.GetAutoAttackDamage(target, true) * 2 + RDamage(target))) { R.Cast(); } } }; #endregion }
public DangerPos(Obj_GeneralParticleEmitter obj, AvoidType type, float radius) { this.Type = type; this.Emitter = obj; this.Radius = radius; }
private static void Game_OnGameLoad(EventArgs args) { Player = ObjectManager.Player; if (Player.ChampionName != ChampionName) return; Q = new Spell(SpellSlot.Q, 750f); W = new Spell(SpellSlot.W, 1620f); E = new Spell(SpellSlot.E, 400f); R = new Spell(SpellSlot.R, 400f); Q.SetSkillshot(0.25f, 60f, 2200f, false, SkillshotType.SkillshotLine); W.SetSkillshot(0.5f, 500f, 1000f, false, SkillshotType.SkillshotCircle); var ignite = Player.Spellbook.Spells.FirstOrDefault(spell => spell.Name == "summonerdot"); if (ignite != null) Ignite.Slot = ignite.Slot; SpellList.Add(Q); SpellList.Add(W); SpellList.Add(E); SpellList.Add(R); abilitySequence = new int[] { 1, 3, 1, 2, 1, 4, 1, 3, 1, 3, 4, 3, 3, 2, 2, 4, 2, 2 }; EkkoUlt = ObjectManager.Get<Obj_GeneralParticleEmitter>().FirstOrDefault(x => x.Name.Equals("Ekko_Base_R_TrailEnd.troy")); Config = new Menu(ChampionName + " By LuNi", ChampionName + " By LuNi", true); Config.AddSubMenu(new Menu("Orbwalking", "Orbwalking")); var targetSelectorMenu = new Menu("Target Selector", "Target Selector"); TargetSelector.AddToMenu(targetSelectorMenu); Config.AddSubMenu(targetSelectorMenu); Orbwalker = new Orbwalking.Orbwalker(Config.SubMenu("Orbwalking")); Config.AddSubMenu(new Menu("Combo", "Combo")); Config.SubMenu("Combo").AddSubMenu(new Menu("KS Mode", "KS Mode")); Config.SubMenu("Combo").SubMenu("KS Mode").AddItem(new MenuItem("Ekko.UseIgniteKS", "KS With Ignite").SetValue(true)); Config.SubMenu("Combo").SubMenu("KS Mode").AddItem(new MenuItem("Ekko.UseQKS", "KS With Q").SetValue(true)); Config.SubMenu("Combo").SubMenu("KS Mode").AddItem(new MenuItem("Ekko.UseEKS", "KS With E").SetValue(true)); Config.SubMenu("Combo").AddSubMenu(new Menu("Auto R", "Auto R")); Config.SubMenu("Combo").SubMenu("Auto R").AddItem(new MenuItem("Ekko.RAuto", "Use Auto R").SetValue(true)); Config.SubMenu("Combo").SubMenu("Auto R").AddSubMenu(new Menu("R Auto Settings", "R Auto Settings")); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.UseBurstRComboAuto", "Use Burst Mode R In Auto R").SetValue(true)); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.MinimumHPBurstRAuto", "Minimum HP Percent To Use Burst Mode R In Auto R").SetValue(new Slider(40, 0, 100))); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.MinimumEnemiesBurstRAuto", "Minimum Enemies in R Range To Use Burst Mode R In Auto R").SetValue(new Slider(2, 1, 5))); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.MinimumEnemiesDrangeRAuto", "Maximum Enemies in Dangerous Range Around R Swap Position (Enemies In R Range Included)").SetValue(new Slider(3, 1, 5))); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.UseSafeRComboAuto", "Use Safe Mode R In Auto R").SetValue(true)); Config.SubMenu("Combo").SubMenu("Auto R").SubMenu("R Auto Settings").AddItem(new MenuItem("Ekko.MinimumHPSafeRAuto", "Minimum HP Percent To Use Safe Mode R In Auto R").SetValue(new Slider(20, 0, 100))); Config.SubMenu("Combo").AddItem(new MenuItem("Ekko.UseQCombo", "Use Q In Combo").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("Ekko.UseWCombo", "Use W In Combo").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("Ekko.UseECombo", "Use E In Combo").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("Ekko.UseRCombo", "Use R In Combo").SetValue(true)); Config.SubMenu("Combo").AddSubMenu(new Menu("Items Activator", "Items Activator")); Config.SubMenu("Combo").SubMenu("Items Activator").AddSubMenu(new Menu("Use Zhonya's Hourglass", "Use Zhonya's Hourglass")); Config.SubMenu("Combo").SubMenu("Items Activator").SubMenu("Use Zhonya's Hourglass").AddItem(new MenuItem("Ekko.useZhonyasHourglass", "Use Zhonya's Hourglass").SetValue(true)); Config.SubMenu("Combo").SubMenu("Items Activator").SubMenu("Use Zhonya's Hourglass").AddItem(new MenuItem("Ekko.MinimumHPtoZhonyasHourglass", "Minimum Health Percent To Use Zhonya's Hourglass").SetValue(new Slider(30, 0, 100))); Config.SubMenu("Combo").SubMenu("Items Activator").AddSubMenu(new Menu("Use Wooglet's Witchcap", "Use Wooglet's Witchcap")); Config.SubMenu("Combo").SubMenu("Items Activator").SubMenu("Use Wooglet's Witchcap").AddItem(new MenuItem("Ekko.useWoogletsWitchcap", "Use Wooglet's Witchcap").SetValue(true)); Config.SubMenu("Combo").SubMenu("Items Activator").SubMenu("Use Wooglet's Witchcap").AddItem(new MenuItem("Ekko.MinimumHPtoWoogletsWitchcap", "Minimum Health Percent To Use Wooglet's Witchcap").SetValue(new Slider(30, 0, 100))); Config.SubMenu("Combo").AddItem(new MenuItem("Ekko.AutoWOnStunTarget", "Auto Use W On Stunned Target").SetValue(true)); Config.AddSubMenu(new Menu("Harass", "Harass")); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.UseQHarass", "Use Q In Harass").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.QMiniManaHarass", "Minimum Mana To Use Q In Harass").SetValue(new Slider(0, 0, 100))); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.QWhenEnemyCastHarass", "Use Q On Enemy AA/Spell In Harass").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.UseEHarass", "Use E In Harass When 2 Stack On Target").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.EMiniManaHarass", "Minimum Mana To Use E In Harass").SetValue(new Slider(0, 0, 100))); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.HarassActive", "Harass!").SetValue(new KeyBind("C".ToCharArray()[0], KeyBindType.Press))); Config.SubMenu("Harass").AddItem(new MenuItem("Ekko.HarassActiveT", "Harass (toggle)!").SetValue(new KeyBind("Y".ToCharArray()[0], KeyBindType.Toggle))); Config.AddSubMenu(new Menu("LaneClear", "LaneClear")); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.UseQLaneClear", "Use Q in LaneClear").SetValue(true)); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.QMiniManaLaneClear", "Minimum Mana To Use Q In LaneClear").SetValue(new Slider(30, 0, 100))); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.QLaneClearCount", "Minimum Minion To Use Q In LaneClear").SetValue(new Slider(3, 1, 6))); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.UseWLaneClear", "Use W in LaneClear").SetValue(true)); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.WMiniManaLaneClear", "Minimum Mana To Use W In LaneClear").SetValue(new Slider(70, 0, 100))); Config.SubMenu("LaneClear").AddItem(new MenuItem("Ekko.WLaneClearCount", "Minimum Minion To Use W In LaneClear").SetValue(new Slider(4, 1, 6))); Config.AddSubMenu(new Menu("JungleClear", "JungleClear")); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.UseQJungleClear", "Use Q In JungleClear").SetValue(true)); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.QMiniManaJungleClear", "Minimum Mana To Use Q In JungleClear").SetValue(new Slider(0, 0, 100))); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.UseWJungleClear", "Use W In JungleClear").SetValue(true)); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.WMiniManaJungleClear", "Minimum Mana To Use W In JungleClear").SetValue(new Slider(0, 0, 100))); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.UseEJungleClear", "Use E In JungleClear").SetValue(true)); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.EMiniManaJungleClear", "Minimum Mana To Use E In JungleClear").SetValue(new Slider(0, 0, 100))); Config.SubMenu("JungleClear").AddItem(new MenuItem("Ekko.SafeJungleClear", "Dont Use Spell In Jungle Clear If Enemy in Dangerous Range").SetValue(true)); Config.AddSubMenu(new Menu("Misc", "Misc")); Config.SubMenu("Misc").AddSubMenu(new Menu("Skin Changer", "Skin Changer")); Config.SubMenu("Misc").SubMenu("Skin Changer").AddItem(new MenuItem("Ekko.SkinChanger", "Use Skin Changer").SetValue(false)); Config.SubMenu("Misc").SubMenu("Skin Changer").AddItem(new MenuItem("Ekko.SkinChangerName", "Skin choice").SetValue(new StringList(new[] { "Classic", "Sandstorm" }))); Config.SubMenu("Misc").AddItem(new MenuItem("Ekko.WInterrupt", "Interrupt Spells With W").SetValue(true)); Config.SubMenu("Misc").AddItem(new MenuItem("Ekko.AutoQEGC", "Auto Q On Gapclosers").SetValue(true)); Config.SubMenu("Misc").AddItem(new MenuItem("Ekko.AutoWEGC", "Auto W On Gapclosers").SetValue(true)); Config.SubMenu("Misc").AddItem(new MenuItem("Ekko.AutoPotion", "Use Auto Potion").SetValue(true)); Config.SubMenu("Misc").AddItem(new MenuItem("Ekko.AutoLevelSpell", "Auto Level Spell").SetValue(true)); Config.AddSubMenu(new Menu("Drawings", "Drawings")); Config.SubMenu("Drawings").AddItem(new MenuItem("QRange", "Q range").SetValue(new Circle(true, Color.Indigo))); Config.SubMenu("Drawings").AddItem(new MenuItem("WRange", "W range").SetValue(new Circle(true, Color.Green))); Config.SubMenu("Drawings").AddItem(new MenuItem("ERange", "E range").SetValue(new Circle(true, Color.Green))); Config.SubMenu("Drawings").AddItem(new MenuItem("RRange", "R range").SetValue(new Circle(true, Color.Gold))); Config.SubMenu("Drawings").AddItem(new MenuItem("DrawOrbwalkTarget", "Draw Orbwalk target").SetValue(true)); Config.AddToMainMenu(); Game.OnUpdate += Game_OnGameUpdate; Drawing.OnDraw += Drawing_OnDraw; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; CustomEvents.Unit.OnDash += Unit_OnDash; }
public Zed() { Q = new Spell(SpellSlot.Q, 925); Q2 = new Spell(SpellSlot.Q, 925); W = new Spell(SpellSlot.W, 600); E = new Spell(SpellSlot.E, 280); R = new Spell(SpellSlot.R, 700); Q.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine); Q2.SetSkillshot(0.25f, 50, 1700, true, SkillshotType.SkillshotLine); E.SetTargetted(0.05f, float.MaxValue); Q.DamageType = Q2.DamageType = E.DamageType = R.DamageType = DamageType.Physical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; var orbwalkMenu = MainMenu.Add(new Menu("Orbwalk", "Orbwalk")); { orbwalkMenu.Separator("Q/E: Always On"); orbwalkMenu.Separator("Sub Settings"); orbwalkMenu.Bool("Ignite", "Use Ignite"); orbwalkMenu.Bool("Item", "Use Item"); orbwalkMenu.Separator("W Settings"); orbwalkMenu.Bool("WNormal", "Use For Non-R Combo"); orbwalkMenu.List("WAdv", "Use For R Combo", new[] { "OFF", "Line", "Triangle", "Mouse" }, 1); orbwalkMenu.List("WSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }, 1); orbwalkMenu.Separator("R Settings"); orbwalkMenu.Bool("R", "Use R"); orbwalkMenu.Slider( "RStopRange", "Priorize If Ready And Distance <=", (int)(R.Range + 200), (int)R.Range, (int)(R.Range + W.Range)); orbwalkMenu.List("RSwapGap", "Swap To Gap Close", new[] { "OFF", "Smart", "Always" }, 1); orbwalkMenu.Slider("RSwapIfHpU", "Swap If Hp < (%)", 20); orbwalkMenu.Bool("RSwapIfKill", "Swap If Mark Can Kill Target"); orbwalkMenu.Separator("Extra R Settings"); foreach (var enemy in GameObjects.EnemyHeroes) { orbwalkMenu.Bool("RCast" + enemy.ChampionName, "Not Cast On " + enemy.ChampionName, true); } } var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid")); { hybridMenu.List("Mode", "Mode", new[] { "W-E-Q", "E-Q", "Q" }); hybridMenu.Separator("Auto Q Settings"); hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle); hybridMenu.Slider("AutoQMpA", "If Mp >=", 100, 0, 200); } var farmMenu = MainMenu.Add(new Menu("Farm", "Farm")); { farmMenu.Bool("Q", "Use Q"); farmMenu.Bool("E", "Use E", false); } var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal")); { ksMenu.Bool("Q", "Use Q"); ksMenu.Bool("E", "Use E"); } if (GameObjects.EnemyHeroes.Any()) { Evade.Init(); } var drawMenu = MainMenu.Add(new Menu("Draw", "Draw")); { drawMenu.Bool("Q", "Q Range"); drawMenu.Bool("W", "W Range"); drawMenu.Bool("E", "E Range", false); drawMenu.Bool("R", "R Range"); drawMenu.Bool("Target", "Target"); drawMenu.Bool("WPos", "W Shadow"); drawMenu.Bool("RPos", "R Shadow"); } MainMenu.KeyBind("FleeW", "Use W To Flee", Keys.C); Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; GameObject.OnCreate += (sender, args) => { var shadow = sender as Obj_AI_Minion; if (shadow == null || !shadow.IsValid || shadow.Name != "Shadow" || shadow.IsEnemy) { return; } if (wCasted) { wShadow = shadow; wCasted = false; rCasted = false; DelayAction.Add(4450, () => wShadow = null); } else if (rCasted) { rShadow = shadow; rCasted = false; wCasted = false; DelayAction.Add(7450, () => rShadow = null); } }; GameObject.OnCreate += (sender, args) => { var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && rShadow.IsValid() && deathMark == null) { deathMark = mark; } }; GameObject.OnDelete += (sender, args) => { var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && mark.Name == "Zed_Base_R_buf_tell.troy" && deathMark.NetworkId == mark.NetworkId) { deathMark = null; } }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe) { return; } if (args.SData.Name == "ZedW") { rCasted = false; wCasted = true; } if (args.SData.Name == "ZedR") { wCasted = false; rCasted = true; } }; }
public ObjList(Obj_GeneralParticleEmitter obj, Vector3 position) { this.ObjecEmitter = obj; this.Position = position; }
public FioraPassives(AIHeroClient from, Obj_GeneralParticleEmitter target) { this.Caster = from; this.Vital = target; }
public static PassiveDirection GetPassiveDirection(Obj_GeneralParticleEmitter x) { if (x.Name.Contains("NE")) { return PassiveDirection.NE; } else if (x.Name.Contains("SE")) { return PassiveDirection.SE; } else if (x.Name.Contains("NW")) { return PassiveDirection.NW; } else { return PassiveDirection.SW; } }
private static void GameObject_OnCreate(GameObject sender, EventArgs args) { if (Config.PrintSpellData && !(sender is MissileClient) && ObjectManager.Player.Distance(sender.Position) < 1000) { //var jhin = ObjectManager.Get<Obj_AI_Hero>().FirstOrDefault(); //if (jhin != null && sender.Name == "Jhin_Base_R_small_mis") //{ // Console.WriteLine(Utils.TickCount + " GameObject_OnCreate " + sender.Name + " " + sender.IsAlly + " " + sender.Type + " range : " + jhin.Distance(sender.Position)); // ObjectManager.Player.ForceIssueOrder(GameObjectOrder.MoveTo, sender.Position.Extend(jhin.Position, 1000)); // if(ObjectManager.Player.Spellbook.CastSpell(SpellSlot.E, sender.Position.Extend(jhin.Position, 1000))) // { // } // else // ObjectManager.Player.Spellbook.CastSpell(SpellSlot.Trinket, sender.Position.Extend(jhin.Position, 1000)); //} Console.WriteLine(Utils.TickCount + " GameObject_OnCreate " + sender.Name + " " + sender.IsAlly + " " + sender.Type); } var spellData = SpellDatabase.GetBySourceObjectName(sender.Name); if (spellData != null) { if (Config.Menu.Item("Enabled" + spellData.MenuItemName) == null) { return; } var caster = HeroManager.AllHeroes.Where(x => (x.IsEnemy || Config.TestOnAllies) && x.ChampionName == spellData.ChampionName) .OrderByDescending(x => x.Position.Distance(sender.Position)).FirstOrDefault(); if (caster == null) { return; } if (spellData.SpellName == "KaynAssW") { var clone = sender as Obj_AI_Minion; if (clone != null) { Utility.DelayAction.Add(0, () => { var startPos2 = clone.Position.To2D(); var endPos2 = startPos2 + clone.Direction.To2D() * spellData.Range; TriggerOnDetectSkillshot(DetectionType.ProcessSpell, spellData, Utils.TickCount - Game.Ping / 2 - spellData.ParticleDetectDelay, startPos2, endPos2, sender.Position.To2D(), caster); }); } return; } else if (spellData.SpellName == "AzirQ") { var azirSoldier = ObjectManager.Get <Obj_AI_Minion>().Where(x => (x.IsEnemy || Config.TestOnAllies) && x.Name == "AzirSoldier" && x.Health > 0).FirstOrDefault(); TriggerOnDetectSkillshot(DetectionType.RecvPacket, spellData, Utils.TickCount - Game.Ping / 2, azirSoldier.Position.To2D(), sender.Position.To2D(), sender.Position.To2D(), caster); return; } var startPos = caster.Position.To2D(); var endPos = sender.Position.To2D(); var direction = (endPos - startPos).Normalized(); Obj_GeneralParticleEmitter objpartice = sender as Obj_GeneralParticleEmitter; if (objpartice != null && spellData.Type != SkillShotType.SkillshotCircle) { direction = objpartice.DirectionEmitter.To2D(); startPos = sender.Position.To2D(); if (spellData.ParticleRotation > 0) { direction = direction.Rotated(Utils.ToRadians(spellData.ParticleRotation)); } } if (spellData.SpellName == "XerathArcanopulse") { if (!Config.TestOnAllies) { foreach (var ally in HeroManager.Allies.Where(x => (x.ChampionName == spellData.ChampionName))) { if (ally.Distance(objpartice.Position) < 50) { return; } } } var buff = caster.GetBuff("XerathArcanopulseChargeUp"); if (buff != null) { var bufftime = Game.Time - buff.StartTime; spellData.Range = 800f + 750f * Math.Min((bufftime / 1.4f), 1f); } else { spellData.Range = 1550; } } if (spellData.BehindStart != -1) { startPos = startPos - direction * spellData.BehindStart; } if (spellData.MinimalRange != -1 && startPos.Distance(endPos) < spellData.MinimalRange) { endPos = startPos + direction * spellData.MinimalRange; } if (startPos.Distance(endPos) > spellData.Range || spellData.FixedRange) { endPos = startPos + direction * spellData.Range; } if (spellData.ExtraRange != -1) { endPos = endPos + Math.Min(spellData.ExtraRange, spellData.Range - endPos.Distance(startPos)) * direction; } TriggerOnDetectSkillshot(DetectionType.ProcessSpell, spellData, Utils.TickCount - Game.Ping / 2 - spellData.ParticleDetectDelay, startPos, endPos, endPos, caster); return; } if (spellData == null) { return; } if (Config.Menu.Item("Enabled" + spellData.MenuItemName) == null) { return; } TriggerOnDetectSkillshot(DetectionType.ProcessSpell, spellData, Utils.TickCount - Game.Ping / 2, sender.Position.To2D(), sender.Position.To2D(), sender.Position.To2D(), HeroManager.AllHeroes.MinOrDefault(h => h.IsAlly ? 1 : 0)); }
public PassiveList(Obj_GeneralParticleEmitter pass, PassiveType type, PassiveDirection dircetion) { Passive = pass; PassiveType = type; Direction = dircetion; }
static Lissandra() { Q = new Spell.Skillshot(SpellSlot.Q, DamageType.Magical) { AllowedCollisionCount = int.MaxValue, }; W = new Spell.Active(SpellSlot.W, 450) { CastDelay = 250, }; E = new Spell.Skillshot(SpellSlot.E, DamageType.Magical); R = new Spell.Targeted(SpellSlot.R, 550); #region Event DamageIndicator.DamageDelegate = HandleDamageIndicator; Obj_GeneralParticleEmitter.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("Lissandra_Base_E_End.troy")) { EEnd = missile; } } }; Obj_GeneralParticleEmitter.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as Obj_GeneralParticleEmitter; if (sender != null) { if (missile.Name.Equals("Lissandra_Base_E_End.troy")) { EEnd = null; } } }; MissileClient.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe) { if (missile.SData.Name.Equals("LissandraEMissile")) { EMissile = missile; } } }; MissileClient.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (sender != null && missile.SpellCaster.IsMe && missile.SData.Name.Equals("LissandraEMissile")) { EMissile = null; } }; AIHeroClient.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (args.Slot.Equals(SpellSlot.E)) { LastETick = Core.GameTickCount; } }; Game.OnUpdate += delegate(EventArgs args) { if (!Gapclose || EMissile == null || EEnd == null || E.ToggleState == 1) { return; } if (EMissile.Distance(EEnd) <= 25) { Player.CastSpell(SpellSlot.E); Gapclose = false; } }; #endregion }
static void Load_OnLoad(EventArgs args) { if (Player.ChampionName != "Ekko") return; SpellManager.Initialize(); Config.Initialize(); Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; orbwalker = new Orbwalking.Orbwalker(Config.orbwalkMenu); foreach (var ult in ObjectManager.Get<Obj_GeneralParticleEmitter>()) { if (ult.Name.Equals("Ekko_Base_R_TrailEnd.troy")) EkkoUlt = ult; } }
private static void OnCreate(GameObject sender, EventArgs args) { var shadow = sender as Obj_AI_Minion; if (shadow != null && shadow.IsValid && shadow.Name == "Shadow" && shadow.IsAlly) { if (wCasted) { wShadow = shadow; wCasted = false; rCasted = false; DelayAction.Add(4450, () => wShadow = null); } else if (rCasted) { rShadow = shadow; rCasted = false; wCasted = false; DelayAction.Add(7450, () => rShadow = null); } } var mark = sender as Obj_GeneralParticleEmitter; if (mark != null && mark.IsValid && rShadow.IsValid() && deathMark == null) { var markName = mark.Name.ToLower(); if (markName.Contains(Player.ChampionName.ToLower()) && markName.Contains("base_r") && markName.Contains("buf_tell")) { deathMark = mark; } } }