private bool TookWard(EnemyHero enemy) { return(this.enemyHeroes.Any( x => x.Unit.IsValid && !x.Equals(enemy) && x.Unit.IsAlive && x.Unit.Distance(enemy.Unit) <= 600 && x.ObserversCount + x.SentryCount > x.CountWards(AbilityId.item_ward_observer) + x.CountWards(AbilityId.item_ward_sentry))); }
private bool GaveWard(EnemyHero enemy) { return(enemyHeroes.Any( x => x.IsValid && !x.Equals(enemy) && x.IsVisible && x.IsAlive && x.Distance(enemy) <= 600 && x.ObserversCount + x.SentryCount < x.CountWards(AbilityId.item_ward_observer) + x.CountWards(AbilityId.item_ward_sentry))); }
private void AddWard <T>(EnemyHero enemy) where T : IWard { var wardPosition = enemy.WardPosition(); if (units.OfType <T>() .Any( x => !x.RequiresUpdate && Game.RawGameTime - x.CreateTime < 1 && x.Distance(wardPosition) <= x.UpdatableDistance && enemy.Angle(x) < 0.5)) { return; } var shiftPosition = units.OfType <IWard>().Any(x => x.Distance(wardPosition) <= 50); if (shiftPosition) { wardPosition += new Vector3(60, 0, 0); } var ward = (IWard)Activator.CreateInstance(typeof(T), wardPosition, settings); units.Add(ward); if (settings.PingWards) { UpdateManager.BeginInvoke(() => PingWard(ward), 1000); } }
private bool TookWard(EnemyHero enemy) { return (enemyHeroes.Any( x => x.IsValid && !x.Equals(enemy) && x.IsAlive && x.Distance(enemy) <= 600 && x.ObserversCount + x.SentryCount > x.CountObservers() + x.CountSentries())); }
public override void InitializeTrigger() { // Find enemy hero EnemyHero enemyHero = FindObjectOfType <EnemyHero>(); // Get enemy hero health Health enemyHealth = enemyHero.GetComponent <Health>(); // Deal damage enemyHealth.TakeDamage(damageAmount); // Print print("Damage is dealt"); }
// Token: 0x0600023A RID: 570 RVA: 0x00011F78 File Offset: 0x00010178 private bool PlacedWard(EnemyHero enemy, AbilityId id) { uint num = enemy.CountWards(id); if (num < enemy.GetWardsCount(id)) { enemy.SetWardsCount(id, num); if (!this.GaveWard(enemy) && !enemy.DroppedWard(id)) { return(true); } } else if (num > enemy.GetWardsCount(id) && !this.TookWard(enemy)) { enemy.SetWardsCount(id, num); } return(false); }
// Token: 0x06000237 RID: 567 RVA: 0x00011DC0 File Offset: 0x0000FFC0 private void OnUnitRemoved(Unit9 entity) { try { if (entity.IsHero && entity.CanUseAbilities && entity.Team != this.allyTeam) { EnemyHero enemyHero = this.enemyHeroes.Find((EnemyHero x) => x.Unit == entity); if (enemyHero != null) { this.enemyHeroes.Remove(enemyHero); } } } catch (Exception exception) { Logger.Error(exception, null); } }
private void AddWard <T>(EnemyHero enemy) where T : Ward { var wardPosition = enemy.WardPosition(); var wardExists = units.OfType <T>().Any(x => !x.RequiresUpdate && x.Distance(wardPosition) <= 400 && enemy.Angle(x) < 0.5); if (wardExists) { return; } var shiftPosition = units.OfType <Ward>().Any(x => x.Distance(wardPosition) <= 50); if (shiftPosition) { wardPosition += new Vector3(60, 0, 0); } units.Add((T)Activator.CreateInstance(typeof(T), wardPosition)); }
// Token: 0x0600022E RID: 558 RVA: 0x00011648 File Offset: 0x0000F848 private void AddWard(EnemyHero enemy, string unitName) { AbilityFullData abilityFullData; if (!this.abilityData.Units.TryGetValue(unitName, out abilityFullData)) { return; } Vector3 wardPosition = enemy.Unit.InFront(400f, 0f, true); if (this.drawableAbilities.OfType <DrawableWardAbility>().Any((DrawableWardAbility x) => x.Unit != null && x.AbilityUnitName == unitName && x.Position.Distance2D(wardPosition, false) < 400f)) { return; } if (this.drawableAbilities.OfType <DrawableWardAbility>().Any((DrawableWardAbility x) => x.Position.Distance2D(wardPosition, false) <= 50f)) { wardPosition += new Vector3(60f, 0f, 0f); } ((WardAbilityData)abilityFullData).AddDrawableAbility(this.drawableAbilities, wardPosition); }
private bool PlacedWard(EnemyHero enemy, AbilityId id) { var count = enemy.CountWards(id); if (count < enemy.GetWardsCount(id)) { enemy.SetWardsCount(id, count); if (settings.IsEnabled(id) && !GaveWard(enemy) && !enemy.DroppedWard(id)) { return(true); } } else if (count > enemy.GetWardsCount(id) && !TookWard(enemy)) { enemy.SetWardsCount(id, count); } return(false); }
private void AddWard <T>(EnemyHero enemy) where T : IWard { var wardPosition = enemy.WardPosition(); if (units.OfType <T>() .Any( x => !x.RequiresUpdate && Game.RawGameTime - x.CreateTime < 1 && x.Distance(wardPosition) <= x.UpdatableDistance && enemy.Angle(x) < 0.5)) { return; } var shiftPosition = units.OfType <IWard>().Any(x => x.Distance(wardPosition) <= 50); if (shiftPosition) { wardPosition += new Vector3(60, 0, 0); } units.Add((IUnit)Activator.CreateInstance(typeof(T), wardPosition, settings)); }
private void AddWard(EnemyHero enemy, string unitName) { if (!this.abilityData.Units.TryGetValue(unitName, out var data)) { return; } var wardPosition = enemy.Unit.InFront(400); if (this.drawableAbilities.OfType <DrawableWardAbility>() .Any(x => x.Unit != null && x.AbilityUnitName == unitName && x.Position.Distance2D(wardPosition) < 400)) { return; } if (this.drawableAbilities.OfType <DrawableWardAbility>().Any(x => x.Position.Distance2D(wardPosition) <= 50)) { wardPosition += new Vector3(60, 0, 0); } ((WardAbilityData)data).AddDrawableAbility(this.drawableAbilities, wardPosition); }
public override async Task ExecuteAsync(CancellationToken token) { try { if (Config.Target.Value.SelectedValue.Contains("Lock") && Context.TargetSelector.IsActive && (!CanExecute || EnemyHero == null || !EnemyHero.IsValid || !EnemyHero.IsAlive)) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } else if (Config.Target.Value.SelectedValue.Contains("Default") && Context.TargetSelector.IsActive) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } var Silenced = UnitExtensions.IsSilenced(base.Owner); var SliderData = this.Config.UseBlink.Item.GetValue <Slider>().Value; var IsInvis = Ensage.SDK.Extensions.UnitExtensions.IsInvisible(this.Owner); if (EnemyHero != null && !EnemyHero.IsInvulnerable()) { if (!Silenced && this.Config.AbilityToggler.Value.IsEnabled(this.QAbi.Ability.Name) && this.Owner.IsMelee && !IsInvis && this.Owner.IsInAttackRange(EnemyHero, 350) && !this.Owner.IsInRange(EnemyHero, 150)) { this.QAbi.Ability.ToggleAbility(); await Await.Delay(this.GetAbilityDelay(base.Owner, QAbi), token); } if (!Silenced && this.Config.AbilityToggler.Value.IsEnabled(this.QAbi.Ability.Name) && !IsInvis && this.Owner.IsRanged && this.Owner.IsInRange(EnemyHero, 150)) { this.QAbi.Ability.ToggleAbility(); await Await.Delay(this.GetAbilityDelay(base.Owner, QAbi), token); } if (!Silenced && !this.Owner.IsInAttackRange(EnemyHero) && !IsInvis && this.Owner.IsRanged) { this.QAbi.Ability.ToggleAbility(); await Await.Delay(this.GetAbilityDelay(base.Owner, QAbi), token); } if (this.Blink != null && this.Blink.CanBeCasted && Owner.Distance2D(EnemyHero) <= 1200 + SliderData && !IsInvis && !(this.Owner.Distance2D(EnemyHero) <= 400) && this.Config.ItemToggler2.Value.IsEnabled(this.Blink.Item.Name)) { var l = (this.Owner.Distance2D(EnemyHero) - SliderData) / SliderData; var posA = this.Owner.Position; var posB = EnemyHero.Position; var x = (posA.X + (l * posB.X)) / (1 + l); var y = (posA.Y + (l * posB.Y)) / (1 + l); var position = new Vector3((int)x, (int)y, posA.Z); this.Blink.UseAbility(position); await Await.Delay(Blink.GetCastDelay(position), token); } if (!UnitExtensions.IsMagicImmune(EnemyHero)) { if (!Silenced && this.WAbi != null && this.WAbi.CanBeCasted && !IsInvis && this.WAbi.CanHit(EnemyHero) && this.Config.AbilityToggler.Value.IsEnabled(this.WAbi.Ability.Name)) { this.WAbi.UseAbility(); await Await.Delay(WAbi.GetCastDelay(), token); } if (!Silenced && this.EAbi != null && this.EAbi.CanBeCasted && !IsInvis && this.EAbi.CanHit(EnemyHero) && this.Config.AbilityToggler.Value.IsEnabled(this.EAbi.Ability.Name)) { this.EAbi.UseAbility(EnemyHero); await Await.Delay(EAbi.GetCastDelay(), token); } if (!Silenced && this.RAbi != null && this.RAbi.CanBeCasted && !IsInvis && this.Owner.IsAttacking() && this.Config.AbilityToggler.Value.IsEnabled(this.RAbi.Ability.Name)) { this.RAbi.UseAbility(); await Await.Delay(EAbi.GetCastDelay(), token); } if (this.BloodThorn != null && this.BloodThorn.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.BloodThorn.Item.Name)) { this.BloodThorn.UseAbility(EnemyHero); await Await.Delay(BloodThorn.GetCastDelay(EnemyHero), token); } if (this.Medalion1 != null && this.Medalion1.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.Medalion1.Item.Name)) { this.Medalion1.UseAbility(EnemyHero); await Await.Delay(Medalion1.GetCastDelay(EnemyHero), token); } if (this.Medallion2 != null && this.Medallion2.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.Medallion2.Item.Name)) { this.Medallion2.UseAbility(EnemyHero); await Await.Delay(Medallion2.GetCastDelay(EnemyHero), token); } if (this.SheepStick != null && this.SheepStick.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(this.SheepStick.Item.Name)) { this.SheepStick.UseAbility(EnemyHero); await Await.Delay(SheepStick.GetCastDelay(EnemyHero), token); } if (this.DiffBlade != null && this.DiffBlade.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(DiffBlade.Item.Name)) { this.DiffBlade.UseAbility(EnemyHero); await Await.Delay(DiffBlade.GetCastDelay(EnemyHero), token); } if (this.Orchid != null && this.Orchid.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(Orchid.Item.Name)) { this.Orchid.UseAbility(EnemyHero); await Await.Delay(Orchid.GetCastDelay(EnemyHero), token); } if (this.Mjollnir != null && this.Mjollnir.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler2.Value.IsEnabled(Mjollnir.Item.Name)) { this.Mjollnir.UseAbility(this.Owner); await Await.Delay(Mjollnir.GetCastDelay(), token); } if (this.Heavens_Halberd != null && this.Heavens_Halberd.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler2.Value.IsEnabled(Heavens_Halberd.Item.Name)) { this.Heavens_Halberd.UseAbility(EnemyHero); await Await.Delay(Heavens_Halberd.GetCastDelay(), token); } if (this.Invis_Sword != null && this.Invis_Sword.CanBeCasted && !IsInvis && !this.Owner.IsInRange(EnemyHero, 1000) && !this.Owner.IsAttacking() && this.Config.ItemToggler2.Value.IsEnabled(Invis_Sword.Item.Name)) { this.Invis_Sword.UseAbility(); await Await.Delay(Invis_Sword.GetCastDelay(), token); } if (this.Silver_Edge != null && this.Silver_Edge.CanBeCasted && !IsInvis && !this.Owner.IsInRange(EnemyHero, 1000) && !this.Owner.IsAttacking() && this.Config.ItemToggler2.Value.IsEnabled(Silver_Edge.Item.Name)) { this.Silver_Edge.UseAbility(); await Await.Delay(Silver_Edge.GetCastDelay(), token); } } if (this.Mask_Of_Madness != null && this.Mask_Of_Madness.CanBeCasted && !IsInvis && this.Config.ItemToggler2.Value.IsEnabled(Mask_Of_Madness.Item.Name)) { if (Config.MomUsage.Value.SelectedValue.Contains("Melee Form") && this.Owner.IsMelee && !this.EAbi.CanBeCasted && !this.RAbi.CanBeCasted) { this.Mask_Of_Madness.UseAbility(); await Await.Delay(Mask_Of_Madness.GetCastDelay(), token); } else if (Config.MomUsage.Value.SelectedValue.Contains("Ranged Form") && this.Owner.IsRanged && !this.WAbi.CanBeCasted && !this.RAbi.CanBeCasted) { this.Mask_Of_Madness.UseAbility(); await Await.Delay(Mask_Of_Madness.GetCastDelay(), token); } } if (EnemyHero != null && (EnemyHero.IsInvulnerable() || UnitExtensions.IsAttackImmune(EnemyHero))) { Orbwalker.Move(Game.MousePosition); } else if (EnemyHero != null) { Orbwalker.OrbwalkTo(EnemyHero); } } else { Orbwalker.Move(Game.MousePosition); } } catch (TaskCanceledException) { // canceled } catch (Exception e) { Log.Error(e); } }
public override async Task ExecuteAsync(CancellationToken token) { try { if (Config.Target.Value.SelectedValue.Contains("Lock") && Context.TargetSelector.IsActive && (!CanExecute || EnemyHero == null || !EnemyHero.IsValid || !EnemyHero.IsAlive)) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } else if (Config.Target.Value.SelectedValue.Contains("Default") && Context.TargetSelector.IsActive) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } var Silenced = UnitExtensions.IsSilenced(base.Owner); var SliderData = this.Config.UseBlink.Item.GetValue <Slider>().Value; var IsInvis = Ensage.SDK.Extensions.UnitExtensions.IsInvisible(this.Owner); var WAbiCasted = Ensage.SDK.Extensions.UnitExtensions.HasModifier(Owner, "modifier_dark_willow_shadow_realm_buff"); var QAbiTargets = EntityManager <Hero> .Entities.OrderBy(x => x == EnemyHero).Where(x => x.IsValid && x.IsVisible && x.Team != Owner.Team && !x.IsIllusion && !UnitExtensions.IsMagicImmune(x)).ToList(); if (EnemyHero != null && !EnemyHero.IsInvulnerable() && !UnitExtensions.IsMagicImmune(EnemyHero)) { if (this.QAbi.CanBeCasted && this.QAbi != null && !Silenced && this.Config.AbilityToggler.Value.IsEnabled(this.QAbi.Ability.Name) && this.QAbi.CanHit(EnemyHero) && !IsInvis) { QAbi.UseAbility(EnemyHero.Position); /// await Await.Delay(QAbi.GetCastDelay(EnemyHero.Position), token); await Await.Delay(this.GetAbilityDelay(this.Owner, QAbi), token); } if (!Silenced && this.EAbi != null && this.Config.AbilityToggler.Value.IsEnabled(this.EAbi.Ability.Name) && this.EAbi.CanBeCasted && !IsInvis && this.EAbi.CanHit(EnemyHero)) { this.EAbi.Ability.UseAbility(EnemyHero); await Await.Delay(this.GetAbilityDelay(this.Owner, EAbi), token); } if (!Silenced && this.DAbi != null && !IsInvis && this.Owner.IsInRange(EnemyHero, 300) && !IsInvis && this.DAbi.CanBeCasted && this.Config.AbilityToggler.Value.IsEnabled(this.DAbi.Ability.Name)) { this.DAbi.Ability.UseAbility(); await Await.Delay(this.GetAbilityDelay(this.Owner, DAbi), token); } // // // // // // if (this.Blink != null && this.Blink.CanBeCasted && Owner.Distance2D(EnemyHero) <= 1200 + SliderData && !IsInvis && !(this.Owner.Distance2D(EnemyHero) <= 400) && this.Config.ItemToggler2.Value.IsEnabled(this.Blink.Item.Name)) { var l = (this.Owner.Distance2D(EnemyHero) - SliderData) / SliderData; var posA = this.Owner.Position; var posB = EnemyHero.Position; var x = (posA.X + (l * posB.X)) / (1 + l); var y = (posA.Y + (l * posB.Y)) / (1 + l); var position = new Vector3((int)x, (int)y, posA.Z); this.Blink.UseAbility(position); await Await.Delay(Blink.GetCastDelay(position), token); } if (!UnitExtensions.IsMagicImmune(EnemyHero)) { if (this.BloodThorn != null && this.BloodThorn.CanBeCasted && !IsInvis && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.BloodThorn.Item.Name)) { this.BloodThorn.UseAbility(EnemyHero); await Await.Delay(BloodThorn.GetCastDelay(EnemyHero), token); } if (this.Medalion1 != null && this.Medalion1.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.Medalion1.Item.Name)) { this.Medalion1.UseAbility(EnemyHero); await Await.Delay(Medalion1.GetCastDelay(EnemyHero), token); } if (this.Medallion2 != null && this.Medallion2.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && !this.Owner.IsAttacking() && this.Config.ItemToggler.Value.IsEnabled(this.Medallion2.Item.Name)) { this.Medallion2.UseAbility(EnemyHero); await Await.Delay(Medallion2.GetCastDelay(EnemyHero), token); } if (this.SheepStick != null && this.SheepStick.CanBeCasted && !IsInvis && this.Config.ItemToggler.Value.IsEnabled(this.SheepStick.Item.Name)) { this.SheepStick.UseAbility(EnemyHero); await Await.Delay(SheepStick.GetCastDelay(EnemyHero), token); } if (this.Orchid != null && this.Orchid.CanBeCasted && !IsInvis && this.Config.ItemToggler.Value.IsEnabled(Orchid.Item.Name)) { this.Orchid.UseAbility(EnemyHero); await Await.Delay(Orchid.GetCastDelay(EnemyHero), token); } if (this.Mjollnir != null && this.Mjollnir.CanBeCasted && !IsInvis && this.Owner.IsInAttackRange(EnemyHero) && this.Config.ItemToggler2.Value.IsEnabled(Mjollnir.Item.Name)) { this.Mjollnir.UseAbility(this.Owner); await Await.Delay(Mjollnir.GetCastDelay(), token); } if (this.Veil_Of_Discord != null && this.Veil_Of_Discord.CanBeCasted && !IsInvis && this.Config.ItemToggler2.Value.IsEnabled(Veil_Of_Discord.Item.Name)) { this.Veil_Of_Discord.UseAbility(EnemyHero.Position); await Await.Delay(Veil_Of_Discord.GetCastDelay(), token); } if (this.Rod_Of_Atos != null && this.Rod_Of_Atos.CanBeCasted && !IsInvis && this.Config.ItemToggler2.Value.IsEnabled(Rod_Of_Atos.Item.Name)) { this.Rod_Of_Atos.UseAbility(EnemyHero); await Await.Delay(Rod_Of_Atos.GetCastDelay(), token); } } if (EnemyHero != null && (EnemyHero.IsInvulnerable() || UnitExtensions.IsAttackImmune(EnemyHero))) { Orbwalker.Move(Game.MousePosition); } else if (EnemyHero != null) { Orbwalker.OrbwalkTo(EnemyHero); } } else { Orbwalker.Move(Game.MousePosition); } } catch (TaskCanceledException) { // canceled } catch (Exception e) { Log.Error(e); } }
public override async Task ExecuteAsync(CancellationToken token) { try { var sliderValue = this.Config.UseBlinkPrediction.Item.GetValue <Slider>().Value; if (Config.TargetItem.Value.SelectedValue.Contains("Lock") && Context.TargetSelector.IsActive && (!CanExecute || EnemyHero == null || !EnemyHero.IsValid || !EnemyHero.IsAlive)) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } else if (Config.TargetItem.Value.SelectedValue.Contains("Default") && Context.TargetSelector.IsActive) { EnemyHero = Context.TargetSelector.Active.GetTargets().FirstOrDefault() as Hero; } var Silenced = UnitExtensions.IsSilenced(base.Owner); if (EnemyHero != null) { if (this.BlinkDagger != null && (this.BlinkDagger.CanBeCasted && base.Owner.Distance2D(EnemyHero) <= 1200 + sliderValue && !(base.Owner.Distance2D(EnemyHero) <= 400) && this.Config.ItemToggler.Value.IsEnabled(this.BlinkDagger.Item.Name))) { var l = (this.Owner.Distance2D(EnemyHero) - sliderValue) / sliderValue; var posA = this.Owner.Position; var posB = EnemyHero.Position; var x = (posA.X + (l * posB.X)) / (1 + l); var y = (posA.Y + (l * posB.Y)) / (1 + l); var position = new Vector3((int)x, (int)y, posA.Z); this.BlinkDagger.UseAbility(position); await Await.Delay(BlinkDagger.GetCastDelay(position), token); } if (!Silenced) { if (this.Config.AbilityToggler.Value.IsEnabled(this.Blast.Name) && this.Blast.CanBeCasted() && this.Blast.CanHit(EnemyHero)) { this.Blast.UseAbility(EnemyHero); await Await.Delay(this.GetAbilityDelay(base.Owner, Blast), token); } } if (this.Basher != null && base.Owner.IsAttacking() && this.Basher.CanBeCasted && this.Basher.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(Basher.ToString())) { this.Basher.UseAbility(EnemyHero); await Await.Delay(Basher.GetCastDelay(EnemyHero), token); } if (this.Mjollnir != null && base.Owner.IsAttacking() && this.Mjollnir.CanBeCasted && this.Config.ItemToggler.Value.IsEnabled(Mjollnir.ToString())) { this.Mjollnir.UseAbility(base.Owner); await Await.Delay(Mjollnir.GetCastDelay(Owner), token); } if (!UnitExtensions.IsMagicImmune(EnemyHero) && !EnemyHero.IsInvulnerable() && !UnitExtensions.HasModifier(EnemyHero, "modifier_winter_wyvern_winters_curse")) { if (this.BloodThorn != null && this.BloodThorn.CanBeCasted && this.BloodThorn.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(this.BloodThorn.ToString())) { this.BloodThorn.UseAbility(EnemyHero); await Await.Delay(BloodThorn.GetCastDelay(EnemyHero), token); } if (this.Medalion1 != null && this.Medalion1.CanBeCasted && this.Medalion1.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(this.Medalion1.ToString())) { this.Medalion1.UseAbility(EnemyHero); await Await.Delay(Medalion1.GetCastDelay(EnemyHero), token); } if (this.Medallion2 != null && this.Medallion2.CanBeCasted && this.Medallion2.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(this.Medallion2.ToString())) { this.Medallion2.UseAbility(EnemyHero); await Await.Delay(Medallion2.GetCastDelay(EnemyHero), token); } if (this.DiffBlade != null && this.DiffBlade.CanBeCasted && this.DiffBlade.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled("item_diffusal_blade_2")) { this.DiffBlade.UseAbility(EnemyHero); await Await.Delay(DiffBlade.GetCastDelay(EnemyHero), token); } if (this.Orchid != null && this.Orchid.CanBeCasted && this.Orchid.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(Orchid.ToString())) { this.Orchid.UseAbility(EnemyHero); await Await.Delay(Orchid.GetCastDelay(EnemyHero), token); } if (this.Heaven != null && base.Owner.IsAttacking() && this.Heaven.CanBeCasted && this.Heaven.CanHit(EnemyHero) && this.Config.ItemToggler.Value.IsEnabled(Heaven.ToString())) { this.Heaven.UseAbility(EnemyHero); await Await.Delay(Heaven.GetCastDelay(EnemyHero), token); } } if (EnemyHero != null && (EnemyHero.IsInvulnerable() || UnitExtensions.IsAttackImmune(EnemyHero))) { Orbwalker.Move(Game.MousePosition); } else if (EnemyHero != null) { Orbwalker.OrbwalkTo(EnemyHero); } } else { Orbwalker.Move(Game.MousePosition); } } catch (TaskCanceledException) { // canceled } catch (Exception e) { Log.Error(e); } }
private void Start() { // Cache enemy hero enemyHero = FindObjectOfType <EnemyHero>(); }
public void EditHero(EnemyHero enemyHero, int id) { _heroes.Collection[id] = enemyHero; }