public void OnUpdate() { if (Variables.Sleeper.Sleeping(this)) { return; } Variables.Sleeper.Sleep(1000, this); if (Game.IsPaused || !menu.Enabled) { return; } if (!Variables.Sleeper.Sleeping(heroesPinger)) { foreach (var enemy in ObjectManager.GetEntitiesParallel<Hero>() .Where( x => x.IsValid && x.Team == EnemyTeam && !x.IsIllusion && x.IsVisible && !heroesPinger.Select(z => z.Handle).Contains(x.Handle))) { var heroPinger = new HeroPinger(enemy); if (loadedAfterGameStart) { heroPinger.IgnoreCurrentAbilities(); } heroesPinger.Add(heroPinger); } Variables.Sleeper.Sleep(5000, heroesPinger); } if (Variables.Sleeper.Sleeping("CanPing")) { return; } if (menu.AbilityPingEnabled) { var doublePing = menu.DoubleAbilityPingEnabled; var abilityEnemyCheck = menu.AbilityEnemyCheckEnabled; var rubickDisable = menu.RubicksStolenDisable; var rubickUltimate = menu.RubicksStolenUltimate; if ( heroesPinger.Any( x => x.ShouldPing && x.AbilityPinger(doublePing, abilityEnemyCheck, rubickDisable, rubickUltimate))) { return; } } if (menu.ItemPingEnabled) { var doublePing = menu.DoubleItemPingEnabled; var itemEnemyCheck = menu.ItemEnemyCheckEnabled; var cost = menu.ItemCostGoldThreshold; var forceItems = menu.ForcePingItems(); var statusCheck = menu.ItemEnemyStatusEnabled; if ( heroesPinger.Any( x => (!statusCheck || x.ShouldPing) && x.ItemPinger(doublePing, itemEnemyCheck, cost, forceItems))) { return; } } var bottleRunes = menu.BottleRunes(); if (bottleRunes.Any()) { var doublePing = menu.DoubleItemPingEnabled; var itemEnemyCheck = menu.ItemEnemyCheckEnabled; if (heroesPinger.Any(x => x.ShouldPing && x.BottledRunePinger(doublePing, itemEnemyCheck, bottleRunes))) { return; } } if (roshanPinger.RoshanKilled && menu.RoshanKillTimeEnabled) { chatWheel.Say(ChatWheel.Phrase.Roshan, true); roshanPinger.RoshanKilled = false; return; } if (menu.RuneReminderEnabled && (menu.RuneAutoDisableTime == 0 || Game.GameTime / 60 <= menu.RuneAutoDisableTime) && runePinger.TimeToSpawn(menu.RuneReminderTime)) { chatWheel.Say(ChatWheel.Phrase.CheckRunes, true); return; } if (wardPinger.ShouldRemind(menu.WardsDelay) && menu.WardsReminderEnabled) { chatWheel.Say(ChatWheel.Phrase.NeedWards); return; } if (courierPinger.ShouldRemind(menu.CourierUpgradeDelay) && menu.CourierUpgradeReminder) { chatWheel.Say(ChatWheel.Phrase.UpgradeCourier); return; } }
public void OnUpdate() { if (Variables.Sleeper.Sleeping(this)) { return; } Variables.Sleeper.Sleep(500, this); if (Game.IsPaused || !menu.Enabled) { return; } if (!Variables.Sleeper.Sleeping(heroesPinger)) { foreach (var enemy in ObjectManager.GetEntitiesParallel <Hero>() .Where( x => x.IsValid && x.Team == EnemyTeam && !x.IsIllusion && x.IsVisible && !heroesPinger.Select(z => z.Handle).Contains(x.Handle))) { var heroPinger = new HeroPinger(enemy); if (loadedAfterGameStart) { heroPinger.IgnoreCurrentAbilities(); } heroesPinger.Add(heroPinger); } Variables.Sleeper.Sleep(5000, heroesPinger); } if (Variables.Sleeper.Sleeping("CanPing")) { return; } if (menu.AbilityPingEnabled) { var doublePing = menu.DoubleAbilityPingEnabled; var abilityEnemyCheck = menu.AbilityEnemyCheckEnabled; if (heroesPinger.Any(x => x.ShouldPing && x.AbilityPinger(doublePing, abilityEnemyCheck))) { return; } } if (menu.ItemPingEnabled) { var doublePing = menu.DoubleItemPingEnabled; var itemEnemyCheck = menu.ItemEnemyCheckEnabled; var cost = menu.ItemCostGoldThreshold; var forceItems = menu.ForcePingItems(); var statusCheck = menu.ItemEnemyStatusEnabled; if ( heroesPinger.Any( x => (!statusCheck || x.ShouldPing) && x.ItemPinger(doublePing, itemEnemyCheck, cost, forceItems))) { return; } } var bottleRunes = menu.BottleRunes(); if (bottleRunes.Any()) { var doublePing = menu.DoubleItemPingEnabled; var itemEnemyCheck = menu.ItemEnemyCheckEnabled; if (heroesPinger.Any(x => x.ShouldPing && x.BottledRunePinger(doublePing, itemEnemyCheck, bottleRunes))) { return; } } if (roshanPinger.RoshanKilled && menu.RoshanKillTimeEnabled) { chatWheel.Say(ChatWheel.Phrase.Roshan, true); roshanPinger.RoshanKilled = false; return; } if (menu.RuneReminderEnabled && (menu.RuneAutoDisableTime == 0 || Game.GameTime / 60 <= menu.RuneAutoDisableTime) && runePinger.TimeToSpawn(menu.RuneReminderTime)) { chatWheel.Say(ChatWheel.Phrase.CheckRunes, true); return; } if (wardPinger.ShouldRemind(menu.WardsDelay) && menu.WardsReminderEnabled) { chatWheel.Say(ChatWheel.Phrase.NeedWards); return; } if (courierPinger.ShouldRemind(menu.CourierUpgradeDelay) && menu.CourierUpgradeReminder) { chatWheel.Say(ChatWheel.Phrase.UpgradeCourier); return; } }