/// <summary> /// Fired when a unit takes damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs" /> instance containing the event data.</param> private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { Game.PrintChat("ONDDAMAGE"); if (args.SourceNetworkId != ObjectManager.Player.NetworkId) { Game.PrintChat("not me"); return; } var spell = new Spell(SpellSlot.Unknown, lastSpellCast.CastRangeDisplayOverride); spell.SetSkillshot( lastSpellCast.CastFrame / 30f, Math.Abs(lastSpellCast.LineWidth) < float.Epsilon ? lastSpellCast.CastRadius : lastSpellCast.LineWidth, lastSpellCast.MissileSpeed, lastSpellCast.HaveHitBone, SkillshotType.SkillshotLine); var ingredients = new CupcakeIngredients( ObjectManager.GetUnitByNetworkId <Obj_AI_Hero>(args.TargetNetworkId), spell); ingredients.Waypoints = targetWaypoints; var x = ingredients.ToXIngredient(); var y = ingredients.ToYIngredient(); x.BakedX = lastSpellLocation.X; y.BakedY = lastSpellLocation.Y; pan.X.Add(x); pan.Y.Add(y); SaveJson(); }
public static void Damage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!(args.Target is AIHeroClient)) { return; } var caster = sender; var target = (AIHeroClient)args.Target; if ((!(caster is AIHeroClient) && !(caster is Obj_AI_Turret)) || caster == null || target == null) { return; } var Rally = Menu.UltMenu.Get <CheckBox>("Rally").CurrentValue&& Spells.R.IsReady(); var Rallyh = Menu.UltMenu.Get <Slider>("Rallyh").CurrentValue; if (!target.IsAlly || !target.IsMe || !caster.IsEnemy || target.IsEnemy || Menu.UltMenu["DontUlt" + target.BaseSkinName].Cast <CheckBox>().CurrentValue) { return; } if (!Player.Instance.IsInRange(target, Spells.R.Range)) { return; } if (Rally && target.HealthPercent <= Rallyh) { Spells.R.Cast(); } }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if(args.Target == null || args.Source == null) return; if (args.Target.IsMe) { if (args.Source is Obj_AI_Minion) DPSmobs.DamageOnMe += args.Damage; var hero = args.Source as AIHeroClient; if (hero != null && hero.IsEnemy) { var edps = EnemiesDPS.FirstOrDefault(e => e.Hero.IdEquals(hero)); if(edps != null) edps.DamageOnMe += args.Damage; } } if (args.Source.IsMe) { if (args.Target is AIHeroClient) dps.DamageOnHeros += args.Damage; if (args.Target is Obj_AI_Minion) dps.DamageOnMobs += args.Damage; } }
protected override void Volatile_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!sender.IsMe) return; _lastSpells.RemoveAll(p => Environment.TickCount - p.tick > 2000); if (args.Source.NetworkId != Player.NetworkId || !EntityManager.Heroes.Enemies.Exists(p => p.NetworkId == args.Target.NetworkId)) return; if (_lastSpells.Count == 0) return; var sremove = new LastSpells("", 0, 0, ""); foreach (var spell in _lastSpells) { if (VolatileMenu["debug"].Cast<CheckBox>().CurrentValue) Chat.Print(spell.name + " & args dmg: " + args.Damage + " & preddmg: " + spell.dmg); if (spell.target != args.Target.Name) continue; if (!Champions.Exists(p => p.Name == spell.target)) continue; Champions.Find(p => p.Name == spell.target) .Differences.Add(Math.Abs(spell.dmg - args.Damage)); HitCount++; sremove = spell; } if (_lastSpells.Contains(sremove)) _lastSpells.Remove(sremove); }
private static void Riperino(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender.IsMe && args.Damage > ObjectManager.Player.Health && Config.Item("sad").GetValue <bool>()) { OnDeath(); } }
private static void Opiskill(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender.IsEnemy && args.Damage > sender.Health && Config.Item("kill").GetValue <bool>() && sender.IsValid <Obj_AI_Hero>()) { OnKill(); } }
public static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (Utils.TickCount - s_LastAATick < 300 + Game.Ping && s_CheckAA && args.SourceNetworkId == ObjectManager.Player.NetworkId) { var t = Target.Get(Program.Champion.Spells[0].Range + 50, true); if (s_DoAttack && Program.Champion.Spells[0].IsReady()) { if (t != null && (Program.Champion.OrbwalkingActiveMode == Program.Champion.OrbwalkingComboMode || Program.Champion.OrbwalkingActiveMode == Program.Champion.OrbwalkingHarassMode)) { Program.Champion.Spells[0].Cast(t.ServerPosition, true); ShineCommon.Orbwalking.ResetAutoAttackTimer(); Program.Champion.Orbwalker.ForceTarget(t); } else if (Program.Champion.OrbwalkingActiveMode == Program.Champion.OrbwalkingLaneClearMode) { var minion = MinionManager.GetMinions(400, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).OrderBy(p => p.ServerPosition.Distance(ObjectManager.Player.ServerPosition)).FirstOrDefault(); if (minion != null) { Program.Champion.Spells[0].Cast(minion.ServerPosition, true); ShineCommon.Orbwalking.ResetAutoAttackTimer(); Program.Champion.Orbwalker.ForceTarget(t); } } } else SetAttack(false); CanCastAnimation = true; s_CheckAA = false; } }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (Config.Item("pots").GetValue <bool>()) { PotionManagement(); } }
private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { try { if (args.SourceNetworkId != MasterYi.player.NetworkId || !MasterYi.W.IsReady() || LXOrbwalker.CanAttack()) { return; } GameObject targ = ObjectManager.GetUnitByNetworkId <GameObject>(args.TargetNetworkId); if (targ == null) { return; } // Console.WriteLine("dmg: " + args.Damage + " type " + args.Type + " dmg type: " + args.HitType + " pred dmg: "+ MasterYi.player.GetAutoAttackDamage(targ)); // if (args.Type == DamageType.Physical) // { if (targ is Obj_AI_Hero) { if (Config.Item("comboWreset").GetValue <bool>()) { MasterYi.W.Cast(); } LXOrbwalker.ResetAutoAttackTimer(); } // } } catch (Exception ex) { Console.WriteLine(ex); } }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var caster = sender as AIHeroClient; var target = args.Target as AIHeroClient; if (caster == null || target == null || sender.Distance(Player.Instance) > 1500) return; HitMarkPosition = args.Target.Position.WorldToScreen(); CanDrawHitMarker = true; HitMarkerSound.Play(); var hero = AkbarSpells.Spells.FirstOrDefault(x => x.Hero == Player.Instance.Hero && !caster.Spellbook.GetSpell(x.Slot).IsReady); if (args.Source.IsMe && hero!= null && args.Target.IsEnemy) { AkbarSound.Play(); } if (hero != null && sender.IsVisible && !caster.Spellbook.GetSpell(SpellSlot.R).IsReady) { if (hero.Hero == Champion.JarvanIV || hero.Hero == Champion.Darius || hero.Hero == Champion.Aatrox) { DunkSound.Play(); } } Core.DelayAction(() => CanDrawHitMarker = false, 200); }
/// <summary> /// Called when a <see cref="AttackableUnit" /> takes/gives damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs" /> instance containing the event data.</param> private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var source = ObjectManager.GetUnitByNetworkId <GameObject>((uint)args.Source.NetworkId); var obj = ObjectManager.GetUnitByNetworkId <GameObject>((uint)args.Target.NetworkId); if (source == null || obj == null) { return; } if (obj.Type != GameObjectType.AIHeroClient || source.Type != GameObjectType.AIHeroClient) { return; } var hero = (AIHeroClient)obj; if (hero.IsEnemy || (!hero.IsMe && !W.IsInRange(obj)) || !Menu.Item($"{hero.ChampionName}").IsActive()) { return; } if (((int)(args.Damage / hero.Health) > Menu.Item("ASDamagePercent").GetValue <Slider>().Value) || (hero.HealthPercent < Menu.Item("ASHealthPercent").GetValue <Slider>().Value)) { W.Cast(W.GetPrediction(hero).CastPosition); } }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (ActiveAttacks.ContainsKey(args.Source.NetworkId)) { ActiveAttacks[args.Source.NetworkId].Damaged = true; } }
private void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!getCheckBoxItem(this.Menu, "Barrier.Activated")) { return; } var source = ObjectManager.GetUnitByNetworkId<GameObject>((uint)args.Source.NetworkId); var obj = ObjectManager.GetUnitByNetworkId<GameObject>((uint)args.Target.NetworkId); if (obj.Type != GameObjectType.AIHeroClient || source.Type != GameObjectType.AIHeroClient) { return; } var hero = (AIHeroClient)obj; if (!hero.IsMe) { return; } if (((int)(args.Damage / this.Player.MaxHealth * 100) > getSliderItem(this.Menu, "Barrier.Damage") || this.Player.HealthPercent < getSliderItem(this.Menu, "Barrier.HP")) && this.Player.LSCountEnemiesInRange(1000) >= 1) { this.BarrierSpell.Cast(); } }
internal static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!args.Target.IsMe || Player.Instance.IsInShopRange()) { return; } if (Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask") || Player.Instance.HasBuff("ItemCrystalFlaskJungle")) { return; } if (!ItemList.Potions.Any(x => x.IsOwned() && x.IsReady())) { return; } var potions = ItemList.Potions.FirstOrDefault(x => x.IsOwned() && x.IsReady()); if (Main.Potions[potions.Id.ToString()] == null || !Main.Potions.VChecked(potions.Id.ToString()) || Main.Potions.VSliderValue(potions.Id + ".HP") > Player.Instance.HealthPercent) { return; } if ((potions.Id.Equals(ItemId.Hunters_Potion) || potions.Id.Equals(ItemId.Corrupting_Potion)) && Player.Instance.Mana + 35 >= Player.Instance.MaxMana && Main.Potions.VChecked(potions.Id + ".MP") && !Variables.IsNomana) { return; } potions.Cast(); }
private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId != player.NetworkId) { return; } }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var caster = sender as AIHeroClient; var target = args.Target as AIHeroClient; if (caster == null || target == null || sender.Distance(Player.Instance) > 1500) { return; } HitMarkPosition = args.Target.Position.WorldToScreen(); CanDrawHitMarker = true; HitMarkerSound.Play(); var hero = AkbarSpells.Spells.FirstOrDefault(x => x.Hero == Player.Instance.Hero && !caster.Spellbook.GetSpell(x.Slot).IsReady); if (args.Source.IsMe && hero != null && args.Target.IsEnemy) { AkbarSound.Play(); } if (hero != null && sender.IsVisible && !caster.Spellbook.GetSpell(SpellSlot.R).IsReady) { if (hero.Hero == Champion.JarvanIV || hero.Hero == Champion.Darius || hero.Hero == Champion.Aatrox) { DunkSound.Play(); } } Core.DelayAction(() => CanDrawHitMarker = false, 200); }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!MenuManager.MenuValues["Activator.Enable"] || !MenuManager.MenuValues["Activator.PotionsAndElixirsMenu.OnlyIfTakingDamage"] || !args.Target.IsMe || (int)Player.Instance.HealthPercent >= MenuManager.MenuValues["Activator.PotionsAndElixirsMenu.BelowHealth", true] || Player.Instance.IsUsingHealingPotion()) { return; } if (Items[ItemsEnum.HealthPotion] != null) { Items[ItemsEnum.HealthPotion].UseItem(); } else if (Items[ItemsEnum.RefillablePotion] != null) { Items[ItemsEnum.RefillablePotion].UseItem(); } else if (Items[ItemsEnum.HuntersPotion] != null) { Items[ItemsEnum.HuntersPotion].UseItem(); } else { Items[ItemsEnum.CorruptingPotion]?.UseItem(); } }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (GetValue <bool>("Combo", "W") && GetValue <bool>("Combo", "WHeal") && W.IsReady()) { var obj = ObjectManager.GetUnitByNetworkId <AIHeroClient>((uint)args.Target.NetworkId); if (obj.IsValidTarget(W.Range, false) && obj.IsAlly && GetValue <bool>("Heal", MenuName(obj)) && obj.HealthPercent < GetValue <Slider>("Heal", MenuName(obj) + "HpU").Value&& !obj.InFountain() && !obj.HasBuff("JudicatorIntervention") && !obj.HasBuff("UndyingRage") && W.CastOnUnit(obj)) { return; } } if (GetValue <bool>("Combo", "R") && GetValue <bool>("Combo", "RSave") && R.IsReady()) { var obj = ObjectManager.GetUnitByNetworkId <AIHeroClient>((uint)args.Target.NetworkId); if (obj.IsValidTarget(R.Range, false) && obj.IsAlly && GetValue <bool>("Save", MenuName(obj)) && obj.HealthPercent < GetValue <Slider>("Save", MenuName(obj) + "HpU").Value&& !obj.InFountain() && !obj.HasBuff("UndyingRage")) { R.CastOnUnit(obj); } } }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var obj = ObjectManager.GetUnitByNetworkId <GameObject>((uint)args.Target.NetworkId); if (obj.Type != GameObjectType.AIHeroClient) { return; } var hero = (AIHeroClient)obj; if (hero.IsEnemy) { return; } if (getCheckBoxItem(comboMenu, "ElAlistar.Combo.R")) { if (ObjectManager.Get <AIHeroClient>().Any(x => x.IsAlly && x.IsMe && !x.IsDead && ((int)(args.Damage / x.MaxHealth * 100) > getSliderItem(comboMenu, "ElAlistar.Combo.RHeal.Damage") || x.HealthPercent < getSliderItem(comboMenu, "ElAlistar.Combo.RHeal.HP") && x.CountEnemiesInRange(1000) >= 1))) { R.Cast(); } } if (getCheckBoxItem(healMenu, "ElAlistar.Heal.E") && Player.ManaPercent > getSliderItem(healMenu, "ElAlistar.Heal.Mana")) { if (ObjectManager.Get <AIHeroClient>().Any(x => x.IsAlly && !x.IsDead && getCheckBoxItem(healMenu, string.Format("healon{0}", x.ChampionName)) && ((int)(args.Damage / x.MaxHealth * 100) > getSliderItem(healMenu, "Heal.Damage") || x.HealthPercent < getSliderItem(healMenu, "Heal.HP")) && x.Distance(Player) < E.Range && x.CountEnemiesInRange(1000) >= 1)) { E.Cast(); } } }
/// <summary> /// Called when a <see cref="AttackableUnit" /> takes/gives damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs" /> instance containing the event data.</param> private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var source = ObjectManager.GetUnitByNetworkId <GameObject>((uint)args.Source.NetworkId); var obj = ObjectManager.GetUnitByNetworkId <GameObject>((uint)args.Target.NetworkId); if (source == null || obj == null) { return; } if (obj.Type != GameObjectType.AIHeroClient || source.Type != GameObjectType.AIHeroClient) { return; } var hero = (AIHeroClient)obj; if (hero.IsEnemy || (!hero.IsMe && !W.IsInRange(obj)) || !getCheckBoxItem(shieldMenu, hero.NetworkId + "")) { return; } if (((int)(args.Damage / hero.Health) > getSliderItem(shieldMenu, "ASDamagePercent")) || (hero.HealthPercent < getSliderItem(shieldMenu, "ASHealthPercent"))) { W.Cast(hero); } }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender.IsEnemy) { var minion = sender as Obj_AI_Minion; if (minion != null && minion.MaxHealth >= 3500) { if (!DamagesOnTime.ContainsKey(minion.NetworkId)) { DamagesOnTime[minion.NetworkId] = new List <OnDamageEvent>(); } DamagesOnTime[minion.NetworkId].Add(new OnDamageEvent(Environment.TickCount, args.Damage)); } var sourceMinion = sender as Obj_AI_Minion; if (sourceMinion != null && sourceMinion.MaxHealth >= 3500) { if (!DamagesOnTime.ContainsKey(sourceMinion.NetworkId)) { DamagesOnTime[sourceMinion.NetworkId] = new List <OnDamageEvent>(); } DamagesOnTime[sourceMinion.NetworkId].Add(new OnDamageEvent(Environment.TickCount, 0)); } } }
public static void Damage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!(args.Target is AIHeroClient)) { return; } var caster = sender; var target = (AIHeroClient)args.Target; if ((!(caster is AIHeroClient) && !(caster is Obj_AI_Turret)) || caster == null || target == null) { return; } var Rally = Menu.UltMenu.Get<CheckBox>("Rally").CurrentValue && Spells.R.IsReady(); var Rallyh = Menu.UltMenu.Get<Slider>("Rallyh").CurrentValue; if (!target.IsAlly || !target.IsMe || !caster.IsEnemy || target.IsEnemy || Menu.UltMenu["DontUlt" + target.BaseSkinName].Cast<CheckBox>().CurrentValue) { return; } if (!Player.Instance.IsInRange(target, Spells.R.Range)) { return; } if (Rally && target.HealthPercent <= Rallyh) { Spells.R.Cast(); } }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender is Obj_AI_Hero) { float time = Game.Time - 2; IncomingDamageList.RemoveAll(damage => time < damage.Time || ((int)damage.Damage == (int)args.Damage && damage.TargetNetworkId == sender.NetworkId)); } }
private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId != player.NetworkId) { return; } Console.WriteLine("dmg: " + sender.Health + " : " + player.GetAutoAttackDamage((Obj_AI_Base)sender)); }
private static void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender is AIHeroClient) { float time = Game.Time - 2; IncomingDamageList.RemoveAll(damage => time < damage.Time); } }
/// <summary> /// OnDamage event for detect rengar leap's end /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId == ObjectManager.Player.NetworkId && ObjectManager.Player.CharData.BaseSkinName == "Rengar" && m_rengarAttack) { AfterAttack(m_lastTarget); m_rengarAttack = false; } }
public static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender == null) return; if (args.TargetNetworkId == ObjectManager.Player.NetworkId && (sender is Obj_AI_Turret || sender is Obj_AI_Minion)) { Orbwalker.ForceOrbwalkingPoint(Heroes.Player.Position.Extend(Wizard.GetFarthestMinion().Position, 500).RandomizePosition()); } }
private void AIHeroClient_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { return; if (ObjectManager.Player.NetworkId == args.Source.NetworkId) { Program.debug(sender.Name + " " + ObjectManager.Player.NetworkId + " SourceNetworkId " + args.Source.NetworkId + " TargetNetworkId " + args.Target.NetworkId + args.Type); } }
private static void Game_OnDamage(AttackableUnit unit, AttackableUnitDamageEventArgs args) { if (unit.IsMe) { if (args.HitType == DamageHitType.Dodge || args.HitType == DamageHitType.Invulnerable || args.HitType == DamageHitType.Miss) { return; } if (DamageTypePhysical != 70 && (int)args.Type == 70) { DamageTypePhysical = 70; } CleanDamageCache(); Obj_AI_Base source; if (objCache.TryGetValue(args.SourceNetworkId, out source)) { if (source.IsValid <Obj_AI_Hero>()) { var hero = source as Obj_AI_Hero; dmgCache.Add(new DamageInfo(args.SourceNetworkId, hero.ChampionName, args.Damage, args.Type)); } else { dmgCache.Add(new DamageInfo(args.SourceNetworkId, source.BaseSkinName, args.Damage, args.Type)); } //Console.WriteLine(target.ChampionName + " : " + args.Damage); //Console.WriteLine("DamageType: " + args.Type); if (menu.Item("RecalculateOnDamage").GetValue <bool>()) { RecalculateFinalDamage(); } } } else if (args.SourceNetworkId == myHero.NetworkId) //if myHero is attacking another hero { Obj_AI_Hero target; if (heroCache.TryGetValue(args.TargetNetworkId, out target)) { myDmgCache.Add(new DamageInfo(args.TargetNetworkId, target.ChampionName, args.Damage, args.Type)); if (menu.Item("RecalculateOnDamage").GetValue <bool>()) { RecalculateFinalDamage(); } } } }
private void Player_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if(sender.IsMe || !args.Target.IsMe) return; if (args.Damage < DamageRecivedCount.CurrentValue) return; if (OnlyMoveOnCc.CurrentValue) return; if (args.Source is Obj_AI_Minion && IgnoreMinionDamage.CurrentValue) return; MoveCamera(); }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId != ObjectManager.Player.NetworkId || !DamageDictionary.ContainsKey(args.TargetNetworkId)) { return; } DamageDictionary[args.TargetNetworkId].Add(new UnitDamage(args.Damage, args.Type)); }
private static void AiHeroClientOnOnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!(args.Target is AIHeroClient) || !sender.IsMe) return; var enemySpawnPos = ObjectManager.Get<Obj_SpawnPoint>().First(x => x.IsEnemy).Position; if (args.Target.Distance(enemySpawnPos) <= 1000) { OnTargetHitInBase(args.Target as AIHeroClient, args.Damage); } }
/// <summary> /// Called when unit takes damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs"/> instance containing the event data.</param> private void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var powderKeg = _powderKegs.FirstOrDefault(p => p.NetworkId == args.TargetNetworkId); if (powderKeg == null) { return; } powderKeg.ActivationTime = GetPowderKegActivationTime(powderKeg.CreationTime, powderKeg.Minion.Health - 2); }
public static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender == null) { return; } if (args.TargetNetworkId == ObjectManager.Player.NetworkId && (sender is Obj_AI_Turret || sender is Obj_AI_Minion)) { Orbwalker.ForceOrbwalkingPoint(Heroes.Player.Position.Extend(Wizard.GetFarthestMinion().Position, 500).RandomizePosition()); } }
protected static void AIHeroClient_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (!sender.IsMe || !R.IsReady() || args.Damage > 45) return; var safeNet = spell["R_Safe_Net2"].Cast<Slider>().CurrentValue; if (Player.HealthPercent <= safeNet) { R1.Cast(); } }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.Target.NetworkId != Player.NetworkId || Orbwalk.CurrentMode != Orbwalker.Mode.Combo) { return; } if (GetValue <bool>("Combo", "R") && R.IsReady() && Player.HealthPercent < GetValue <Slider>("Combo", "RHpU").Value) { R.Cast(PacketCast); } }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.Target.NetworkId != Player.NetworkId || Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { return; } if (GetValue <bool>("Combo", "Seraph") && Seraph.IsReady() && Player.HealthPercent < GetValue <Slider>("Combo", "SeraphHpU").Value) { Seraph.Cast(); } }
/// <summary> /// OnDamage event /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private static void AIHeroClient_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { LastSpells.RemoveAll(p => Environment.TickCount - p.Item2 > 2000); if (args.Source.NetworkId == ObjectManager.Player.NetworkId && HeroManager.Enemies.Exists(p => p.NetworkId == args.Target.NetworkId)) { if (LastSpells.Count != 0) { LastSpells.RemoveAt(0); s_HitCount++; } } }
/// <summary> /// OnDamage event /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private static void AIHeroClient_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { LastSpells.RemoveAll(p => Environment.TickCount - p.Item2 > 2000); if (args.Source.NetworkId == ObjectManager.Player.NetworkId && HeroManager.Enemies.Exists(p => p.NetworkId == args.Target.NetworkId)) { if (LastSpells.Count != 0) { LastSpells.RemoveAt(0); s_HitCount++; } } }
public static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if ((sender is Obj_AI_Minion || sender is Obj_AI_Turret) && args.TargetNetworkId == Heroes.Player.NetworkId) { if (Heroes.Player.Position.CountNearbyAllies(1000) < Heroes.Player.Position.CountNearbyEnemies(1000) || Heroes.Player.Position.CountNearbyAllies(1000) <= 1) { Program.Orbwalker.ActiveMode = MyOrbwalker.OrbwalkingMode.None; Wizard.MoveBehindClosestAllyMinion(); Utility.DelayAction.Add(2500, () => Program.Orbwalker.ActiveMode = MyOrbwalker.OrbwalkingMode.Mixed); } } }
private static void Player_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender != null) { if (sender.IsEnemy) { if (sender.Type == GameObjectType.obj_AI_Turret) { LeaveTowerPls = true; tower = (Obj_AI_Turret)sender; } } } }
private static void Obj_AI_Hero_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { lock (LastSpells) { LastSpells.RemoveAll(p => Environment.TickCount - p.tick > 2000); if (args.SourceNetworkId == ObjectManager.Player.NetworkId && HeroManager.Enemies.Exists(p => p.NetworkId == sender.NetworkId)) { if (LastSpells.Count != 0) { LastSpells.RemoveAt(0); hitCount++; } } } }
private void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var t = ObjectManager.Get<Obj_AI_Hero>().FirstOrDefault(h => h.NetworkId == args.SourceNetworkId); var s = ObjectManager.Get<Obj_AI_Hero>().FirstOrDefault(h => h.NetworkId == args.TargetNetworkId); if (t != null && s != null && (t.IsMe && ObjectManager.Get<Obj_AI_Turret>() .FirstOrDefault(tw => tw.Distance(t) < 750 && tw.Distance(s) < 750 && tw.IsAlly) != null)) { if (config.Item("autotauntattower", true).GetValue<bool>() && E.CanCast(s)) { E.Cast(s, config.Item("packets").GetValue<bool>()); } } }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.Source.IsEnemy) { var minion = args.Target as Obj_AI_Minion; if (minion != null && minion.IsMonster && minion.MaxHealth >= 3500) { if (!DamagesOnTime.ContainsKey(minion.NetworkId)) DamagesOnTime[minion.NetworkId] = new List<OnDamageEvent>(); DamagesOnTime[minion.NetworkId].Add(new OnDamageEvent(Core.GameTickCount, args.Damage)); } var sourceMinion = args.Source as Obj_AI_Minion; if (sourceMinion != null && sourceMinion.IsMonster && sourceMinion.MaxHealth >= 3500) { if (!DamagesOnTime.ContainsKey(sourceMinion.NetworkId)) DamagesOnTime[sourceMinion.NetworkId] = new List<OnDamageEvent>(); DamagesOnTime[sourceMinion.NetworkId].Add(new OnDamageEvent(Core.GameTickCount, 0)); } } }
private void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { Volatile_OnDamage(sender,args); }
/// <summary> /// OnDamage event for detect rengar leap's end /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void Obj_AI_Base_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.Source.NetworkId == ObjectManager.Player.NetworkId && ObjectManager.Player.CharData.BaseSkinName == "Rengar" && m_rengarAttack) { AfterAttack(m_lastTarget); m_rengarAttack = false; } }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var valcheck = MiscMenu["TUT"].Cast<CheckBox>().CurrentValue; var t = EntityManager.Heroes.AllHeroes.FirstOrDefault(h => h.NetworkId == args.Source.NetworkId); var s = EntityManager.Heroes.Enemies.FirstOrDefault(h => h.NetworkId == args.Target.NetworkId); if (valcheck && t != null && s != null && (t.IsMe && ObjectManager.Get<Obj_AI_Turret>() .FirstOrDefault(x => x.Distance(t) < 750 && x.Distance(s) < 750 && x.IsAlly) != null)) { { E.Cast(s); } } }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.TargetNetworkId == Player.NetworkId) { lastTimeAttacked = Game.Time + (2*Game.Ping / 1000f); } }
static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (sender == null || args.TargetNetworkId != sender.NetworkId) return; var Sender = (Obj_AI_Base)sender; if ((int) args.Type != 70) return; if(Qtimer > Utils.GameTimeTickCount - 120) { Qmove = false; MotionCancle(); } }
private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var obj = ObjectManager.GetUnitByNetworkId<GameObject>((uint) args.Target.NetworkId); if (obj.Type != GameObjectType.AIHeroClient) { return; } var hero = (AIHeroClient) obj; if (hero.IsEnemy) { return; } if (getCheckBoxItem(comboMenu, "ElAlistar.Combo.R")) { if ( ObjectManager.Get<AIHeroClient>() .Any( x => x.IsAlly && x.IsMe && !x.IsDead && ((int) (args.Damage/x.MaxHealth*100) > getSliderItem(comboMenu, "ElAlistar.Combo.RHeal.Damage") || x.HealthPercent < getSliderItem(comboMenu, "ElAlistar.Combo.RHeal.HP") && x.LSCountEnemiesInRange(1000) >= 1))) { R.Cast(); } } if (getCheckBoxItem(healMenu, "ElAlistar.Heal.E") && Player.ManaPercent > getSliderItem(healMenu, "ElAlistar.Heal.Mana")) { if ( ObjectManager.Get<AIHeroClient>() .Any( x => x.IsAlly && !x.IsDead && getCheckBoxItem(healMenu, string.Format("healon{0}", x.NetworkId)) && ((int) (args.Damage/x.MaxHealth*100) > getSliderItem(healMenu, "Heal.Damage") || x.HealthPercent < getSliderItem(healMenu, "Heal.HP")) && x.LSDistance(Player) < E.Range && x.LSCountEnemiesInRange(1000) >= 1)) { E.Cast(); } } }
private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId != player.NetworkId) return; Console.WriteLine("dmg: "+sender.Health+" : "+player.GetAutoAttackDamage((Obj_AI_Base)sender)); }
/// <summary> /// Called when an Obj_AI_Base takes damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs" /> instance containing the event data.</param> private void ObjAiBaseOnOnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.TargetNetworkId != Player.NetworkId || !ObjectManager.GetUnitByNetworkId<GameObject>(args.TargetNetworkId).IsMe || !this.ZhonyaLowHp) { return; } if (Player.HealthPercent < this.ZhonyaBelowHp || (Player.Health - args.Damage) / Player.MaxHealth * 100 < this.ZhonyaBelowHp) { zhyonyaItem.Cast(); } }
private void Game_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (testMenu.Item("TestSpellEndTime").GetValue<bool>() == false) { return; } if (!sender.IsMe) return; ConsolePrinter.Print("Damage taken time: " + (EvadeUtils.TickCount - lastSpellCastTime)); }
protected virtual void ObjAiHeroOnOnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { //for champ use }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (_target == null || args.TargetNetworkId != _target.NetworkId) return; if ((int) args.Type != 70) return; if (lastQCast != 0 && lastQCast + 100 > Utils.TickCount) { WaitForMove = true; CancelAnimation(); Orbwalking.ResetAutoAttackTimer(); } else if (lastSpellName.Contains("Attack")) { if (_Tiamat.IsReady()) { nextSpell = null; UseTiamat = true; } else if (_Hydra.IsReady()) { nextSpell = null; UseTiamat = true; } else if (_W.IsReady() && _target.IsValidTarget(_W.Range) && qCount != 0) { UseTiamat = false; nextSpell = _W; } else { UseTiamat = false; nextSpell = _Q; } UseAttack = false; _orbwalker.SetMovement(true); } }
/// <summary> /// Called when a <see cref="AttackableUnit" /> takes/gives damage. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="AttackableUnitDamageEventArgs" /> instance containing the event data.</param> private static void AttackableUnit_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { var source = ObjectManager.GetUnitByNetworkId<GameObject>((uint)args.Source.NetworkId); var obj = ObjectManager.GetUnitByNetworkId<GameObject>((uint)args.Target.NetworkId); if (source == null || obj == null) { return; } if (obj.Type != GameObjectType.AIHeroClient || source.Type != GameObjectType.AIHeroClient || !source.IsValid<AIHeroClient>() || !obj.IsValid<AIHeroClient>()) { return; } var hero = (AIHeroClient)obj; if (hero.IsEnemy || (!hero.IsMe && !W.IsInRange(obj)) || !getCheckBoxItem(shieldMenu, hero.NetworkId + "")) { return; } if (((int)(args.Damage / hero.Health) > getSliderItem(shieldMenu, "ASDamagePercent")) || (hero.HealthPercent < getSliderItem(shieldMenu, "ASHealthPercent"))) { W.Cast(hero); } }
private static void onDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.SourceNetworkId != player.NetworkId) return; }
private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { if (args.TargetNetworkId != Player.NetworkId || Orbwalk.CurrentMode != Orbwalker.Mode.Combo) { return; } if (GetValue<bool>("Combo", "Seraph") && Seraph.IsReady() && Player.HealthPercent < GetValue<Slider>("Combo", "SeraphHpU").Value) { Seraph.Cast(); } }
private static void Game_OnDamage(AttackableUnit unit, AttackableUnitDamageEventArgs args) { if (unit.IsMe) { if (args.HitType == DamageHitType.Dodge || args.HitType == DamageHitType.Invulnerable || args.HitType == DamageHitType.Miss) { return; } if (DamageTypePhysical != 70 && (int)args.Type == 70) { DamageTypePhysical = 70; } CleanDamageCache(); Obj_AI_Base source; if (objCache.TryGetValue(args.SourceNetworkId, out source)) { if (source.IsValid<Obj_AI_Hero>()) { var hero = source as Obj_AI_Hero; dmgCache.Add(new DamageInfo(args.SourceNetworkId, hero.ChampionName, args.Damage, args.Type)); } else { dmgCache.Add(new DamageInfo(args.SourceNetworkId, source.BaseSkinName, args.Damage, args.Type)); } //Console.WriteLine(target.ChampionName + " : " + args.Damage); //Console.WriteLine("DamageType: " + args.Type); if (menu.Item("RecalculateOnDamage").GetValue<bool>()) { RecalculateFinalDamage(); } } } else if (args.SourceNetworkId == myHero.NetworkId) //if myHero is attacking another hero { Obj_AI_Hero target; if (heroCache.TryGetValue(args.TargetNetworkId, out target)) { myDmgCache.Add(new DamageInfo(args.TargetNetworkId, target.ChampionName, args.Damage, args.Type)); if (menu.Item("RecalculateOnDamage").GetValue<bool>()) { RecalculateFinalDamage(); } } } }
protected virtual void Volatile_OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args) { // }