public override void Update(GameTime gameTime, AttackingGameObject objectUsingAbility) { base.Update(gameTime, objectUsingAbility); if (this.IsOnCooldown) { if (!this.Animation.IsActive) { if (!this.AbilityFinished) { BattleEngine.DamageResolution(this); this.AbilityFinished = true; } objectUsingAbility.IsUsingAbility = false; } this.TimeSinceUse += gameTime.ElapsedGameTime.Milliseconds / 1000; if (this.TimeSinceUse >= this.CooldownTime) { this.AbilityFinished = false; this.IsOnCooldown = false; } this.Animation.Animate(gameTime, objectUsingAbility); } }