azerothcore-wotlk icon indicating copy to clipboard operation
azerothcore-wotlk copied to clipboard

No implementation for dynamic charmed spell cooldowns.

Open heyitsbench opened this issue 3 weeks ago • 4 comments

Current Behaviour

Currently mind controlled/charmed creatures have either no cooldowns on their spells or they are enforced through spell_cooldown_overrides, acting as a SpellInfoCorrections table specifically for charmed spell cooldowns. Because of this, and the current structure of the aforementioned table, the cooldowns are restricted to a single cooldown time.

Expected Blizzlike Behaviour

As I said in a comment:

To my understanding, the way cooldowns work for creatures and their spells follows like this: A creature has a spell list (can be seen here and here). That is used for its general combat AI, and when charmed, the cooldown is determined by this spell list.

For example, an uncharmed Defias Pillager casts Fireball. Upon casting, it then gets a cooldown for when it will cast next, say min is 10s, max is 20s, and it rolls a 14s cooldown. It then can't use that spell for 14s (not necessarily that it will cast in 14s, just that it is a cooldown). It works pretty much the same way when the creature is charmed, so the pillager while charmed is commanded to cast fireball, and it rolls a 16s cooldown, that means the creature cannot be commanded to cast fireball again for 16s.

As for what these cooldowns would be if the player character itself cast these spells with no cooldown, that we cannot know unless something goes quite wrong on Blizzard's end.

Source

WoWEdit screenshots, Wrath Classic, conversations with other, smarter people

Steps to reproduce the problem

  1. Charm a Defias Pillager.
  2. Cast Fireball.
  3. Observe its cooldown.

Extra Notes

No response

AC rev. hash/commit

c9725dd4b2b06b5fcf00d297a0578e8ad73bf03a

Operating system

Windows 10 x64

Custom changes or Modules

mod-ptr-template

heyitsbench avatar Jun 26 '24 21:06 heyitsbench