public override void Check() { if (StartCast <= 0 && IsInPhase && AbilityOwner.IsVisible && !AbilityOwner.HasModifier("modifier_nyx_assassin_burrow")) { StartCast = Game.RawGameTime; EndCast = StartCast + CastPoint + AdditionalDelay; } else if (StartCast > 0 && Obstacle == null && CanBeStopped() && !AbilityOwner.IsTurning()) { StartPosition = AbilityOwner.NetworkPosition; EndPosition = AbilityOwner.InFront(GetCastRange() + 150); Obstacle = Pathfinder.AddObstacle(StartPosition, EndPosition, GetRadius(), Obstacle); } else if (StartCast > 0 && Game.RawGameTime > EndCast) { End(); } }
public override bool IgnoreRemainingTime(UsableAbility ability, float remainingTime = 0) { return(ability.Type != AbilityType.Disable && AbilityOwner.HasModifier("modifier_luna_eclipse")); }