public int GetAbilityWaitTime(ActiveAbility ability, Hero target) { if (ability.CanBeCasted && ability.CanHit(target) && ability.UseAbility(target)) { int delay; // wait for projectile to hit, so that the amplifier is actually applied for the rest of the combo if (ability is IHasDamageAmplifier && ability.Speed != float.MaxValue) { delay = ability.GetHitTime(target); } else { delay = ability.GetCastDelay(target); } var diff = (int)(50 - Game.Ping); if (diff > 0) { delay += diff; } return(delay); } return(0); }
// Token: 0x060005EA RID: 1514 RVA: 0x0001D66C File Offset: 0x0001B86C public void AutoReturn() { if (base.ComboSleeper.IsSleeping) { return; } if (this.xMark.Position.IsZero) { return; } ActiveAbility ability = this.xReturn.Ability; if (!ability.CanBeCasted(true)) { return; } if (!this.torrent.ShouldReturn(this.xReturn.Ability, this.xMark.Position) && !this.ship.ShouldReturn(this.xReturn.Ability, this.xMark.Position)) { return; } ability.UseAbility(false, false); base.ComboSleeper.Sleep(ability.GetCastDelay()); base.OrbwalkSleeper.Sleep(ability.GetCastDelay()); }
// Token: 0x06000610 RID: 1552 RVA: 0x0001E02C File Offset: 0x0001C22C public bool ShouldReturn(ActiveAbility xReturn, Vector3 xMarkPosition) { if (this.Position.IsZero) { return(false); } if (xMarkPosition.Distance2D(this.Position, false) > base.Ability.Radius) { return(false); } float num = this.HitTime - Game.RawGameTime; float num2 = xReturn.GetCastDelay() + 0.1f; return(num <= num2); }
// Token: 0x06000617 RID: 1559 RVA: 0x0001E0F4 File Offset: 0x0001C2F4 public bool ShouldReturn(ActiveAbility xReturn, Vector3 xMarkPosition) { Modifier modifier = this.Modifier; if (modifier == null || !modifier.IsValid) { return(false); } if (xMarkPosition.Distance2D(this.Modifier.Owner.Position, false) > base.Ability.Radius) { return(false); } float num = base.Ability.ActivationDelay - this.Modifier.ElapsedTime; float num2 = xReturn.GetCastDelay() + 0.1f; return(num <= num2); }
public bool ShouldReturn(ActiveAbility xReturn, Vector3 xMarkPosition) { if (this.Position.IsZero) { return(false); } if (xMarkPosition.Distance2D(this.Position) > this.Ability.Radius) { return(false); } var remainingTime = this.HitTime - Game.RawGameTime; var requiredTime = xReturn.GetCastDelay() + 0.2f; if (remainingTime > requiredTime) { return(false); } return(true); }
public bool ShouldReturn(ActiveAbility xReturn, Vector3 xMarkPosition) { if (this.Modifier?.IsValid != true) { return(false); } if (xMarkPosition.Distance2D(this.Modifier.Owner.Position) > this.Ability.Radius) { return(false); } var remainingTime = this.Ability.ActivationDelay - this.Modifier.ElapsedTime; var requiredTime = xReturn.GetCastDelay() + 0.2f; if (remainingTime > requiredTime) { return(false); } return(true); }