private bool Check(Unit9 ally, Unit9 enemy) { if (enemy.BaseUnit.HasModifier(this.Debuff.DebuffModifierName)) { return(false); } if (enemy.IsBlockingAbilities) { return(false); } if (!this.settings.ForceInvisibility || !enemy.CanBecomeInvisible) { if (enemy.HealthPercentage > this.settings.HpThreshold) { return(false); } if (!this.settings.OnSight && (!this.settings.OnAttack || !ally.IsAttackingHero())) { return(false); } } return(this.Ability.UseAbility(enemy)); }
private bool Check(Unit9 ally, Unit9 enemy, List <Unit9> enemies) { if (this.settings.MaxCastRange > 0 && enemy.Distance(ally) > this.settings.MaxCastRange) { return(false); } if (enemy.BaseUnit.HasModifier(this.Debuff.DebuffModifierName)) { return(false); } if (!this.settings.OnSight && (!this.settings.OnAttack || !ally.IsAttackingHero())) { return(false); } if (this.Ability.UnitTargetCast && enemy.IsBlockingAbilities) { return(false); } return(this.Ability.UseAbility(enemy, enemies, HitChance.Medium, this.settings.EnemiesCount)); }
private bool Check(Unit9 ally, Unit9 enemy) { if (this.settings.MaxCastRange > 0 && enemy.Distance(ally) > this.settings.MaxCastRange) { return(false); } if (enemy.BaseUnit.HasModifier(this.spiritSiphon.DebuffModifierName)) { return(false); } if (!this.settings.OnSight && (!this.settings.OnAttack || !ally.IsAttackingHero())) { return(false); } if (this.Ability.UnitTargetCast && enemy.IsBlockingAbilities) { return(false); } return(this.Ability.UseAbility(enemy)); }