168 protEff->SetAmount(std::min<int32>(protEff->GetAmount() + absorb, 20000));
171 protEff->GetBase()->RefreshDuration();
325 caster->
CastSpell(caster, spellId,
true, NULL);
368 std::vector<uint32> possibleSpells;
395 caster->
CastSpell(caster, possibleSpells[std::rand() % possibleSpells.size()],
true, NULL);
439 if ((std::rand() % 99) < 15)
494 switch (std::rand() % 5 + 1)
501 caster->
CastSpell(caster, spellId,
true, NULL);
531 switch (std::rand() % 20 + 1)
533 case 1: newitemid = 32688;
break;
534 case 2: newitemid = 32689;
break;
535 case 3: newitemid = 32690;
break;
536 case 4: newitemid = 32691;
break;
537 case 5: newitemid = 32692;
break;
538 case 6: newitemid = 32693;
break;
539 case 7: newitemid = 32700;
break;
540 case 8: newitemid = 32701;
break;
541 case 9: newitemid = 32702;
break;
542 case 10: newitemid = 32703;
break;
543 case 11: newitemid = 32704;
break;
544 case 12: newitemid = 32705;
break;
545 case 13: newitemid = 32706;
break;
546 case 14: newitemid = 32707;
break;
547 case 15: newitemid = 32708;
break;
548 case 16: newitemid = 32709;
break;
549 case 17: newitemid = 32710;
break;
550 case 18: newitemid = 32711;
break;
551 case 19: newitemid = 32712;
break;
552 case 20: newitemid = 32713;
break;
649 uint32 roll = std::rand() % 99;
705 switch (std::rand() % 3 + 1)
711 caster->
CastSpell(caster, spellId,
true, NULL);
791 switch (std::rand() % 2 + 1)
798 caster->
CastSpell(caster, spellId,
true, NULL);
843 uint8 maxSafeLevel = 0;
859 if (caster->
getLevel() > maxSafeLevel)
940 if (!caster || !target)
1003 if (soulFragments->GetStackAmount() >= 10)
1006 soulFragments->Remove();
1116 uint32 rand = std::rand() % 99;
1126 if ((std::rand() % 100) <= 30)
1215 switch (std::rand() % 3 + 1)
1220 caster->
CastSpell(caster, spellId,
true, NULL);
1267 player->GetGlobalCooldownMgr().CancelGlobalCooldown(
GetSpellInfo());
1268 if (std::rand() % 4)
1322 target->AddItem(items[std::rand() % 7], 1);
1370 caster->
learnSpell(discoveredSpellId,
false);
1403 std::list<Creature*> ghouls;
1493 caster->
CastSpell(caster, spellId,
true);
1547 if ((std::rand() % 60) < 1)
1586 switch (std::rand() % 5)
1717 if (target->isDead() && !target->IsPet())
1720 target->DespawnOrUnsummon();
1774 if (flyspeed >= 4.1f)
1777 else if (flyspeed >= 3.8f)
1780 else if (flyspeed >= 1.6f)
1783 else if (speed >= 2.0f)
1985 if (creature->isDead())
2073 if (target->GetEntry() ==
NPC_LEVIROTH && !target->HealthBelowPct(95))
2140 caster->
CastSpell(caster, spell_id,
true);
2280 bg->EventPlayerDroppedFlag(caster);
2332 aura->RefreshDuration();
2336 if (!aura || aura->GetStackAmount() < 5 || !
roll_chance_i(50))
2422 target->Kill(target);
2451 if (target->isDead())
2452 target->DespawnOrUnsummon();
const T & RAND(const T &v1, const T &v2)
@ QUEST_STATUS_INCOMPLETE
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_TELEPORT_UNITS
@ SPELL_CUSTOM_ERROR_TOO_MANY_GHOULS
@ SPELL_CUSTOM_ERROR_MUST_BE_CLOSE_TO_SINKHOLE
@ SPELL_CUSTOM_ERROR_LEARNED_EVERYTHING
@ SPELL_FAILED_CUSTOM_ERROR
@ SPELL_FAILED_ONLY_ABOVEWATER
@ SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW
uint32 GetExplicitDiscoverySpell(uint32 spellId, Player *player)
bool HasDiscoveredAllSpells(uint32 spellId, Player *player)
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ AURA_EFFECT_HANDLE_REAPPLY
@ AURA_EFFECT_HANDLE_REAL
#define SpellCheckCastFn(F)
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
@ TRIGGERED_FULL_MASK
Will ignore most target checks (mostly DBC target checks).
float frand(float min, float max)
bool roll_chance_i(int chance)
T CalculatePct(T base, U pct)
void PreventDefaultAction()
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
HookList< AuraProcHandler > OnProc
uint8 GetStackAmount() const
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
Battleground * GetBattleground() const
void learnSpell(uint32 spell_id, bool dependent)
QuestStatus GetQuestStatus(uint32 quest_id) const
void RemoveSpellCooldown(uint32 spell_id, bool update=false)
HealInfo * GetHealInfo() const
Unit * GetActionTarget() const
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
Creature * GetHitCreature()
HookList< CheckCastHandler > OnCheckCast
SpellInfo const * GetSpellInfo()
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
void SetCustomCastResultMessage(SpellCustomErrors result)
void CreateItem(uint32 effIndex, uint32 itemId)
SpellScriptLoader(const char *name)
void SetFacingTo(float ori)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Aura * GetAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
uint32 GetCreatureType() const
bool HasAuraType(AuraType auraType) const
void RemoveAurasByType(AuraType auraType, uint64 casterGUID=0, Aura *except=NULL, bool negative=true, bool positive=true)
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, uint64 casterGUID=0) const
float GetSpeedRate(UnitMoveType mtype) const
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void GetAllMinionsByEntry(std::list< Creature * > &Minions, uint32 entry)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime)
void PlayDirectSound(uint32 sound_id, Player *target=NULL)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &)
PrepareAuraScript(spell_item_aegis_of_preservation_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_item_aegis_of_preservation()
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
PrepareAuraScript(spell_item_arcane_shroud_AuraScript)
spell_item_arcane_shroud()
AuraScript * GetAuraScript() const OVERRIDE
void OnDummyEffect(SpellEffIndex effIndex)
PrepareSpellScript(spell_item_ashbringer_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_item_blessing_of_ancient_kings_AuraScript)
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
spell_item_blessing_of_ancient_kings()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_item_book_of_glyph_mastery_SpellScript)
void HandleScript(SpellEffIndex)
SpellCastResult CheckRequirement()
spell_item_book_of_glyph_mastery()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_chicken_cover_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_chicken_cover()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_complete_raptor_capture_SpellScript)
spell_item_complete_raptor_capture()
SpellScript * GetSpellScript() const OVERRIDE
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_item_create_heart_candy_SpellScript)
spell_item_create_heart_candy()
SpellScript * GetSpellScript() const OVERRIDE
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_crystal_prison_dummy_dnd_SpellScript)
spell_item_crystal_prison_dummy_dnd()
SpellScript * GetSpellScript() const OVERRIDE
spell_item_defibrillate_SpellScript(uint8 chance, uint32 failSpell)
bool Validate(SpellInfo const *) OVERRIDE
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_item_defibrillate_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_defibrillate(char const *name, uint8 chance, uint32 failSpell=0)
SpellCastResult CheckRequirement()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_demon_broiled_surprise_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_demon_broiled_surprise()
PrepareAuraScript(spell_item_desperate_defense_AuraScript)
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_item_desperate_defense()
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_deviate_fish_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_deviate_fish()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_flask_of_the_north_SpellScript)
spell_item_flask_of_the_north()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_gift_of_the_harvester_SpellScript)
SpellCastResult CheckRequirement()
SpellScript * GetSpellScript() const OVERRIDE
spell_item_gift_of_the_harvester()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_gnomish_death_ray_SpellScript)
spell_item_gnomish_death_ray()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_greatmothers_soulcatcher_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_greatmothers_soulcatcher()
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_impale_leviroth_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_impale_leviroth()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_make_a_wish_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
SpellCastResult CheckSinkholes()
PrepareSpellScript(spell_item_map_of_the_geyser_fields_SpellScript)
spell_item_map_of_the_geyser_fields()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_mingos_fortune_generator_SpellScript)
void HandleDummy(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_mingos_fortune_generator()
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_muisek_vessel_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_muisek_vessel()
PrepareAuraScript(spell_item_necrotic_touch_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
spell_item_necrotic_touch()
AuraScript * GetAuraScript() const OVERRIDE
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_net_o_matic_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_nigh_invulnerability_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_nigh_invulnerability()
PrepareSpellScript(spell_item_nitro_boots_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_noggenfogger_elixir_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_noggenfogger_elixir()
PrepareSpellScript(spell_item_piccolo_of_the_flaming_fire_SpellScript)
void HandleScript(SpellEffIndex effIndex)
spell_item_piccolo_of_the_flaming_fire()
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_poultryizer_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_purify_helboar_meat_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_purify_helboar_meat()
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_pygmy_oil_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
void HandleScript(SpellEffIndex effIndex)
PrepareSpellScript(spell_item_red_rider_air_rifle_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_red_rider_air_rifle()
bool Validate(SpellInfo const *) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellCastResult CheckCast()
PrepareSpellScript(spell_item_rocket_boots_SpellScript)
spell_item_rocket_boots()
SpellScript * GetSpellScript() const OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_savory_deviate_delight_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
spell_item_savory_deviate_delight()
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_item_shadowmourne_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_item_shadowmourne_soul_fragment_AuraScript)
void OnStackChange(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
spell_item_shadowmourne_soul_fragment()
AuraScript * GetAuraScript() const OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_item_shadowmourne()
void HandleProc(ProcEventInfo &procInfo)
PrepareAuraScript(spell_item_shadows_fate_AuraScript)
spell_item_shadows_fate()
AuraScript * GetAuraScript() const OVERRIDE
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_shimmering_vessel_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_shimmering_vessel()
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_six_demon_bag_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_six_demon_bag()
PrepareSpellScript(spell_item_socrethars_stone_SpellScript)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
spell_item_socrethars_stone()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_item_teach_language_SpellScript)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
spell_item_teach_language()
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
PrepareAuraScript(spell_item_the_eye_of_diminution_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_item_the_eye_of_diminution()
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_trigger_spell_SpellScript)
spell_item_trigger_spell_SpellScript(uint32 triggeredSpellId)
spell_item_trigger_spell(const char *name, uint32 triggeredSpellId)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_item_underbelly_elixir_SpellScript)
void HandleDummy(SpellEffIndex)
spell_item_underbelly_elixir()
SpellScript * GetSpellScript() const OVERRIDE
bool CheckProc(ProcEventInfo &procInfo)
PrepareAuraScript(spell_item_unsated_craving_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_item_unsated_craving()
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_item_unusual_compass_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_item_unusual_compass()
PrepareSpellScript(spell_item_vanquished_clutches_SpellScript)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
spell_item_vanquished_clutches()
void HandleTriggerSpell(AuraEffect const *)
PrepareAuraScript(spell_magic_eater_food_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
@ SPELL_GNOMISH_DEATH_RAY_SELF
@ SPELL_GNOMISH_DEATH_RAY_TARGET
@ SPELL_SCROLL_OF_RECALL_III
@ SPELL_SCROLL_OF_RECALL_FAIL_ALLIANCE_1
@ SPELL_SCROLL_OF_RECALL_I
@ SPELL_SCROLL_OF_RECALL_II
@ SPELL_SCROLL_OF_RECALL_FAIL_HORDE_1
@ SPELL_PROTECTION_OF_ANCIENT_KINGS
@ SPELL_FLASK_OF_THE_NORTH_SP
@ SPELL_FLASK_OF_THE_NORTH_STR
@ SPELL_FLASK_OF_THE_NORTH_AP
@ SPELL_MECHANICAL_DRAGONLING
@ SPELL_MITHRIL_MECHANICAL_DRAGONLING
@ SPELL_ARCANITE_DRAGONLING
@ SPELL_UNDERBELLY_ELIXIR_TRIGGERED2
@ SPELL_UNDERBELLY_ELIXIR_TRIGGERED1
@ SPELL_UNDERBELLY_ELIXIR_TRIGGERED3
@ SPELL_POULTRYIZER_SUCCESS
@ SPELL_POULTRYIZER_BACKFIRE
@ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1
@ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2
@ SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3
@ SPELL_GOBLIN_JUMPER_CABLES_XL_FAIL
@ SPELL_GOBLIN_JUMPER_CABLES_FAIL
@ SPELL_ROCKET_BOOTS_PROC
@ SPELL_FLYING_REINDEER_280
@ SPELL_FLYING_REINDEER_310
@ SPELL_FLYING_REINDEER_60
@ NPC_ABYSSAL_FLAMEBRINGER
@ SPELL_CREATE_DEMON_BROILED_SURPRISE
@ SPELL_ITEM_NECROTIC_TOUCH_PROC
@ SPELL_AIR_RIFLE_SHOOT_SELF
@ SPELL_AIR_RIFLE_HOLD_VISUAL
@ SPELL_SUMMON_FURIOUS_MR_PINCHY
@ SPELL_TINY_MAGICAL_CRAWDAD
@ SPELL_SUMMON_MIGHTY_MR_PINCHY
@ SPELL_MR_PINCHYS_BLESSING
@ SPELL_COMPLETE_VULNERABILITY
@ SPELL_NIGH_INVULNERABILITY
@ SPELL_FORCE_CAST_SUMMON_GNOME_SOUL
void AddSC_item_spell_scripts()
@ SPELL_NITRO_BOOTS_BACKFIRE
@ SPELL_NITRO_BOOTS_SUCCESS
@ SPELL_RAPTOR_CAPTURE_CREDIT
@ SPELL_CAPTURE_CHICKEN_ESCAPE
@ SPELL_SHADOWMOURNE_VISUAL_HIGH
@ SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF
@ SPELL_SHADOWMOURNE_SOUL_FRAGMENT
@ SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE
@ SPELL_SHADOWMOURNE_VISUAL_LOW
@ SPELL_SUMMON_TOXIC_HELBOAR_MEAT
@ SPELL_SUMMON_PURIFIED_HELBOAR_MEAT
@ SPELL_SUMMON_FELHOUND_MINION
@ SPELL_PYGMY_OIL_SMALLER_AURA
@ SPELL_PYGMY_OIL_PYGMY_AURA
@ SPELL_LEARN_GOBLIN_BINARY
@ SPELL_LEARN_GNOMISH_BINARY
@ SPELL_NET_O_MATIC_TRIGGERED2
@ SPELL_NET_O_MATIC_TRIGGERED1
@ SPELL_NET_O_MATIC_TRIGGERED3
@ SPELL_LEVIROTH_SELF_IMPALE
@ SPELL_SOCRETHAR_FROM_SEAT
@ SPELL_SOCRETHAR_TO_SEAT
BrewfestMountTransformation
@ SPELL_BREWFEST_MOUNT_TRANSFORM_REVERSE
@ SPELL_BREWFEST_MOUNT_TRANSFORM
@ OBJECT_IMPRISONED_DOOMGUARD