HELP - Stuns/things that stop spellcasts in WoW


#1

This function is hopelessly stale and was last updated in WoD (or even MoP?). Let’s get it caught up to Legion. These are the spell IDs corresponding to the DEBUFFS that mobs get when stunned or controlled. Not the casts of the stuns, but the debuff ids of the stuns.

If any are missing from this list, I can add them:

	// Death Knight: Asphyxiate, Gnaw (ghoul), Monstrous Blow (ghoul w. Dark Transformation), Remorseless Winter
	// FIXME: Need to find a way to handle Gorefiend's Grasp (108199).
	if (m_guid == 108194 || m_guid == 91800 || m_guid == 91797 || m_guid == 115001)
		return true;

	// Druid: Bear Hug, Maim, Mighty Bash, Pounce, Typhoon, Hibernate, Disorienting Roar, Intimidating Roar (Symb. from Warrior), Cyclone
	// Clash (Sym. from Monk)
	// NOTE: Ursol's Vortex left off, since the mob has to move to get pulled back in anyway.
	if (m_guid == 102795 || m_guid == 22570 || m_guid == 5211 || m_guid == 102546 || m_guid == 61391 || m_guid == 2637 || m_guid == 99
			|| m_guid == 113056 || m_guid == 33786 || m_guid == 122242)
		return true;

	// Hunter: Binding Shot, Intimidation, Bad Manner (Monkey Pet), Lullaby (Crane Pet), Petrifying Gaze, Paralyzing Quill, Web Wrap, Sting, Sonic Blast
	// Freezing Trap, Scatter Shot, Scare Beast
	// FIXME: Explosive Trap glyphed can do a knockback, but how to detect?
	if (m_guid == 117526 || m_guid == 24394 || m_guid == 90337 || m_guid == 126246 || m_guid == 126423 || m_guid == 126355 || m_guid == 96201
			|| m_guid == 56626 || m_guid == 50519 || m_guid == 3355 || m_guid == 19386 || m_guid == 19503 || m_guid == 1513)
		return true;

	// Mage: Combustion Impact, Deep Freeze, Polymorph, Ring of Frost, Dragon's Breath
	if (m_guid == 118271 || m_guid == 44572 || m_guid == 118 || m_guid == 82691 || m_guid == 31661)
		return true;

	// Monk: Charging Ox Wave, Clash, Fists of Fury, Leg Sweep, Paralysis, Breath of Fire (Glyphed)
	if (m_guid == 119392 || m_guid == 122242 || m_guid == 120086 || m_guid == 119381 || m_guid == 115078 || m_guid == 123393)
		return true;

	// Paladin: Blinding Light (glyphed), Hammer of Justice, Holy Wrath, Fist of Justice, Repentance, Blinding Light, Turn Evil
	if (m_guid == 115752 || m_guid == 853 || m_guid == 119072 || m_guid == 105593 || m_guid == 20066 || m_guid == 105421 || m_guid == 10326)
		return true;

	// Priest: Holy Word: Chastise, Psychic Scream, Psychic Terror (psyfiend), Psychic Horror, Dominate Mind
	if (m_guid == 88625 || m_guid == 8122 || m_guid == 113792 || m_guid == 64044 || m_guid == 605)
		return true;

	// Rogue: Cheap Shot, Kidney Shot, Paralysis (4 stacks of paralytic poison), Gouge, Sap, Blind
	if (m_guid == 1833 || m_guid == 408 || m_guid == 113953 || m_guid == 1776 || m_guid == 6770 || m_guid == 2094)
		return true;

	// Shaman: Pulverize (Earth Ele), Static Charge (Capacitor Totem), Earthquake, Thunderstorm, Bind Elemental, Hex
	if (m_guid == 118345 || m_guid == 118905 || m_guid == 77505 || m_guid == 51490 || m_guid == 76780 || m_guid == 51514)
		return true;

	// Warlock: Axe Toss (Felguard), Shadowfury, Summon Infernal, Banish, Fear, Howl of Terror, Mesmerize (pet), Seduction (pet), Mortal Coil
	// NOTE: Blood Horror left off, since it triggered from melee attacks anyway.
	if (m_guid == 89766 || m_guid == 30283 || m_guid == 1122 || m_guid == 710 || m_guid == 5782 || m_guid == 5484 || m_guid == 115268 || m_guid == 6358
			|| m_guid == 6789)
		return true;

	// Warrior: Shockwave, Storm Bolt, Charge, Dragon Roar, Intimidating Shout
	if (m_guid == 132168 || m_guid == 107570 || m_guid == 7922 || m_guid == 118895 || m_guid == 5246)
		return true;

	// Racial: War Stomp, Quaking Palm
	if (m_guid == 20549 || m_guid == 107079)
		return true;

	// Symbiosis: Bear Hug (Monk). Hammer of Justice (Balance Druid)
	if (m_guid == 127361 || m_guid == 110698)
		return true;

	return false;
}