Core: header cleanup, split realmlist, boost compatibility, cotire, remove stormlib/zlib and stormlib/bzip2 and instead use dep sources

This commit is contained in:
ariel- committed 2018-03-28 04:41:59 -03:00
1 parent 7fff6c424f
commit 5ff847159c
1243 files changed
+29780 -36517

No files matched your search

+231 -250
View File
@@ -21,15 +21,19 @@
* Scriptnames of files in this file should be prefixed with "spell_item_".
*/
#include "Player.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellHistory.h"
#include "SpellScript.h"
#include "SpellAuraEffects.h"
#include "SkillDiscovery.h"
#include "Battleground.h"
#include "CreatureAIImpl.h"
#include "DBCStores.h"
#include "Map.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SkillDiscovery.h"
#include "SpellAuraEffects.h"
#include "SpellHistory.h"
#include "SpellMgr.h"
#include "SpellScript.h"
// Generic script for handling item dummy effects which trigger another spell.
class spell_item_trigger_spell : public SpellScriptLoader
@@ -38,7 +42,7 @@ class spell_item_trigger_spell : public SpellScriptLoader
uint32 _triggeredSpellId;
public:
spell_item_trigger_spell(const char* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
spell_item_trigger_spell(char const* name, uint32 triggeredSpellId) : SpellScriptLoader(name), _triggeredSpellId(triggeredSpellId) { }
class spell_item_trigger_spell_SpellScript : public SpellScript
{
@@ -51,9 +55,7 @@ class spell_item_trigger_spell : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
return false;
return true;
return ValidateSpellInfo({ _triggeredSpellId });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -92,15 +94,13 @@ class spell_item_aegis_of_preservation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AEGIS_HEAL))
return false;
return true;
return ValidateSpellInfo({ SPELL_AEGIS_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
GetTarget()->CastSpell(GetTarget(), SPELL_AEGIS_HEAL, true, NULL, aurEff);
GetTarget()->CastSpell(GetTarget(), SPELL_AEGIS_HEAL, true, nullptr, aurEff);
}
void Register() override
@@ -142,10 +142,11 @@ class spell_item_alchemists_stone : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ALCHEMISTS_STONE_EXTRA_HEAL) ||
!sSpellMgr->GetSpellInfo(SPELL_ALCHEMISTS_STONE_EXTRA_MANA))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_ALCHEMISTS_STONE_EXTRA_HEAL,
SPELL_ALCHEMISTS_STONE_EXTRA_MANA
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -213,11 +214,12 @@ class spell_item_anger_capacitor : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MOTE_OF_ANGER) ||
!sSpellMgr->GetSpellInfo(SPELL_MANIFEST_ANGER_MAIN_HAND) ||
!sSpellMgr->GetSpellInfo(SPELL_MANIFEST_ANGER_OFF_HAND))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_MOTE_OF_ANGER,
SPELL_MANIFEST_ANGER_MAIN_HAND,
SPELL_MANIFEST_ANGER_OFF_HAND
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -312,18 +314,18 @@ class spell_item_aura_of_madness : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SOCIOPATH) ||
!sSpellMgr->GetSpellInfo(SPELL_DELUSIONAL) ||
!sSpellMgr->GetSpellInfo(SPELL_KLEPTOMANIA) ||
!sSpellMgr->GetSpellInfo(SPELL_MEGALOMANIA) ||
!sSpellMgr->GetSpellInfo(SPELL_PARANOIA) ||
!sSpellMgr->GetSpellInfo(SPELL_MANIC) ||
!sSpellMgr->GetSpellInfo(SPELL_NARCISSISM) ||
!sSpellMgr->GetSpellInfo(SPELL_MARTYR_COMPLEX) ||
!sSpellMgr->GetSpellInfo(SPELL_DEMENTIA) ||
!sObjectMgr->GetBroadcastText(SAY_MADNESS))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_SOCIOPATH,
SPELL_DELUSIONAL,
SPELL_KLEPTOMANIA,
SPELL_MEGALOMANIA,
SPELL_PARANOIA,
SPELL_MANIC,
SPELL_NARCISSISM,
SPELL_MARTYR_COMPLEX,
SPELL_DEMENTIA
}) && sObjectMgr->GetBroadcastText(SAY_MADNESS);
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -389,10 +391,11 @@ class spell_item_dementia : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DEMENTIA_POS) ||
!sSpellMgr->GetSpellInfo(SPELL_DEMENTIA_NEG))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_DEMENTIA_POS,
SPELL_DEMENTIA_NEG
});
}
void HandlePeriodicDummy(AuraEffect const* aurEff)
@@ -430,9 +433,7 @@ class spell_item_blessing_of_ancient_kings : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PROTECTION_OF_ANCIENT_KINGS))
return false;
return true;
return ValidateSpellInfo({ SPELL_PROTECTION_OF_ANCIENT_KINGS });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -535,9 +536,7 @@ class spell_item_deadly_precision_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DEADLY_PRECISION))
return false;
return true;
return ValidateSpellInfo({ SPELL_DEADLY_PRECISION });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -591,13 +590,14 @@ class spell_item_deathbringers_will : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(Strength) ||
!sSpellMgr->GetSpellInfo(Agility) ||
!sSpellMgr->GetSpellInfo(AttackPower) ||
!sSpellMgr->GetSpellInfo(Critical) ||
!sSpellMgr->GetSpellInfo(Haste))
return false;
return true;
return ValidateSpellInfo(
{
Strength,
Agility,
AttackPower,
Critical,
Haste
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -724,9 +724,7 @@ class spell_item_defibrillate : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (_failSpell && !sSpellMgr->GetSpellInfo(_failSpell))
return false;
return true;
return !_failSpell || ValidateSpellInfo({ _failSpell });
}
void HandleScript(SpellEffIndex effIndex)
@@ -776,15 +774,13 @@ class spell_item_desperate_defense : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DESPERATE_RAGE))
return false;
return true;
return ValidateSpellInfo({ SPELL_DESPERATE_RAGE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
{
PreventDefaultAction();
GetTarget()->CastSpell(GetTarget(), SPELL_DESPERATE_RAGE, true, NULL, aurEff);
GetTarget()->CastSpell(GetTarget(), SPELL_DESPERATE_RAGE, true, nullptr, aurEff);
}
void Register() override
@@ -826,17 +822,14 @@ class spell_item_deviate_fish : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint32 spellId = SPELL_SLEEPY; spellId <= SPELL_HEALTHY_SPIRIT; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
return false;
return true;
return ValidateSpellInfo({ SPELL_SLEEPY, SPELL_INVIGORATE, SPELL_SHRINK, SPELL_PARTY_TIME, SPELL_HEALTHY_SPIRIT });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Unit* caster = GetCaster();
uint32 spellId = urand(SPELL_SLEEPY, SPELL_HEALTHY_SPIRIT);
caster->CastSpell(caster, spellId, true, NULL);
caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -868,9 +861,7 @@ class spell_item_discerning_eye_beast_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DISCERNING_EYE_BEAST))
return false;
return true;
return ValidateSpellInfo({ SPELL_DISCERNING_EYE_BEAST });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -942,9 +933,7 @@ class spell_item_fate_rune_of_unsurpassed_vigor : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNSURPASSED_VIGOR))
return false;
return true;
return ValidateSpellInfo({ SPELL_UNSURPASSED_VIGOR });
}
void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
@@ -985,9 +974,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_SP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_AP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_STR))
return false;
return true;
return ValidateSpellInfo({ SPELL_FLASK_OF_THE_NORTH_SP, SPELL_FLASK_OF_THE_NORTH_AP, SPELL_FLASK_OF_THE_NORTH_STR });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1020,7 +1007,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
break;
}
caster->CastSpell(caster, possibleSpells[urand(0, (possibleSpells.size() - 1))], true, NULL);
caster->CastSpell(caster, possibleSpells[urand(0, (possibleSpells.size() - 1))], true, nullptr);
}
void Register() override
@@ -1053,9 +1040,7 @@ class spell_item_frozen_shadoweave : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMEND))
return false;
return true;
return ValidateSpellInfo({ SPELL_SHADOWMEND });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1101,9 +1086,7 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_SELF) || !sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_TARGET))
return false;
return true;
return ValidateSpellInfo({ SPELL_GNOMISH_DEATH_RAY_SELF, SPELL_GNOMISH_DEATH_RAY_TARGET });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1148,9 +1131,7 @@ class spell_item_harm_prevention_belt : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FORCEFIELD_COLLAPSE))
return false;
return true;
return ValidateSpellInfo({ SPELL_FORCEFIELD_COLLAPSE });
}
void HandleProc(ProcEventInfo& /*eventInfo*/)
@@ -1188,9 +1169,7 @@ class spell_item_healing_touch_refund : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HEALING_TOUCH_MANA))
return false;
return true;
return ValidateSpellInfo({ SPELL_HEALING_TOUCH_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1242,12 +1221,13 @@ class spell_item_heartpierce : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(Energy) ||
!sSpellMgr->GetSpellInfo(Mana) ||
!sSpellMgr->GetSpellInfo(Rage) ||
!sSpellMgr->GetSpellInfo(RunicPower))
return false;
return true;
return ValidateSpellInfo(
{
Energy,
Mana,
Rage,
RunicPower
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1350,9 +1330,14 @@ class spell_item_make_a_wish : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_BLESSING) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_MIGHTY_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FURIOUS_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_TINY_MAGICAL_CRAWDAD) || !sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_GIFT))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_MR_PINCHYS_BLESSING,
SPELL_SUMMON_MIGHTY_MR_PINCHY,
SPELL_SUMMON_FURIOUS_MR_PINCHY,
SPELL_TINY_MAGICAL_CRAWDAD,
SPELL_MR_PINCHYS_GIFT
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1366,7 +1351,7 @@ class spell_item_make_a_wish : public SpellScriptLoader
case 3: spellId = SPELL_SUMMON_FURIOUS_MR_PINCHY; break;
case 4: spellId = SPELL_TINY_MAGICAL_CRAWDAD; break;
}
caster->CastSpell(caster, spellId, true, NULL);
caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -1400,9 +1385,7 @@ class spell_item_mark_of_conquest : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MARK_OF_CONQUEST_ENERGIZE))
return false;
return true;
return ValidateSpellInfo({ SPELL_MARK_OF_CONQUEST_ENERGIZE });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1501,9 +1484,7 @@ class spell_item_necrotic_touch : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ITEM_NECROTIC_TOUCH_PROC))
return false;
return true;
return ValidateSpellInfo({ SPELL_ITEM_NECROTIC_TOUCH_PROC });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1555,9 +1536,12 @@ class spell_item_net_o_matic : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED3))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_NET_O_MATIC_TRIGGERED1,
SPELL_NET_O_MATIC_TRIGGERED2,
SPELL_NET_O_MATIC_TRIGGERED3
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1612,9 +1596,12 @@ class spell_item_noggenfogger_elixir : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1,
SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2,
SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1689,9 +1676,7 @@ class spell_item_persistent_shield : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PERSISTENT_SHIELD_TRIGGERED))
return false;
return true;
return ValidateSpellInfo({ SPELL_PERSISTENT_SHIELD_TRIGGERED });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -1745,9 +1730,7 @@ class spell_item_pet_healing : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HEALTH_LINK))
return false;
return true;
return ValidateSpellInfo({ SPELL_HEALTH_LINK });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -1870,10 +1853,13 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint32 spellId = SPELL_FLIP_OUT_MALE; spellId <= SPELL_YAAARRRR_FEMALE; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_FLIP_OUT_MALE,
SPELL_FLIP_OUT_FEMALE,
SPELL_YAAARRRR_MALE,
SPELL_YAAARRRR_FEMALE
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -1887,7 +1873,7 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
// Yaaarrrr - pirate
case 2: spellId = (caster->getGender() == GENDER_MALE ? SPELL_YAAARRRR_MALE : SPELL_YAAARRRR_FEMALE); break;
}
caster->CastSpell(caster, spellId, true, NULL);
caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -2070,13 +2056,12 @@ class spell_item_shadowmourne : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE))
return false;
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_SOUL_FRAGMENT))
return false;
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE,
SPELL_SHADOWMOURNE_SOUL_FRAGMENT,
SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF
});
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -2089,14 +2074,14 @@ class spell_item_shadowmourne : public SpellScriptLoader
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOWMOURNE_SOUL_FRAGMENT, true, NULL, aurEff);
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOWMOURNE_SOUL_FRAGMENT, true, nullptr, aurEff);
// this can't be handled in AuraScript of SoulFragments because we need to know victim
if (Aura* soulFragments = GetTarget()->GetAura(SPELL_SHADOWMOURNE_SOUL_FRAGMENT))
{
if (soulFragments->GetStackAmount() >= 10)
{
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE, true, NULL, aurEff);
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE, true, nullptr, aurEff);
soulFragments->Remove();
}
}
@@ -2127,9 +2112,12 @@ class spell_item_shadowmourne_soul_fragment : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_LOW) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_HIGH) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_SHADOWMOURNE_VISUAL_LOW,
SPELL_SHADOWMOURNE_VISUAL_HIGH,
SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF
});
}
void OnStackChange(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -2196,9 +2184,15 @@ class spell_item_six_demon_bag : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FROSTBOLT) || !sSpellMgr->GetSpellInfo(SPELL_POLYMORPH) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FELHOUND_MINION) || !sSpellMgr->GetSpellInfo(SPELL_FIREBALL) || !sSpellMgr->GetSpellInfo(SPELL_CHAIN_LIGHTNING) || !sSpellMgr->GetSpellInfo(SPELL_ENVELOPING_WINDS))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_FROSTBOLT,
SPELL_POLYMORPH,
SPELL_SUMMON_FELHOUND_MINION,
SPELL_FIREBALL,
SPELL_CHAIN_LIGHTNING,
SPELL_ENVELOPING_WINDS
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2261,9 +2255,7 @@ class spell_item_swift_hand_justice_dummy : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SWIFT_HAND_OF_JUSTICE_HEAL))
return false;
return true;
return ValidateSpellInfo({ SPELL_SWIFT_HAND_OF_JUSTICE_HEAL });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2305,9 +2297,7 @@ class spell_item_totem_of_flowing_water : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LESSER_HEALING_WAVE_MANA))
return false;
return true;
return ValidateSpellInfo({ SPELL_LESSER_HEALING_WAVE_MANA });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -2382,9 +2372,12 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
}
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED3))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_UNDERBELLY_ELIXIR_TRIGGERED1,
SPELL_UNDERBELLY_ELIXIR_TRIGGERED2,
SPELL_UNDERBELLY_ELIXIR_TRIGGERED3
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2396,7 +2389,7 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
case 1: spellId = SPELL_UNDERBELLY_ELIXIR_TRIGGERED1; break;
case 2: spellId = SPELL_UNDERBELLY_ELIXIR_TRIGGERED2; break;
}
caster->CastSpell(caster, spellId, true, NULL);
caster->CastSpell(caster, spellId, true, nullptr);
}
void Register() override
@@ -2480,9 +2473,12 @@ class spell_item_red_rider_air_rifle : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_HOLD_VISUAL) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT_SELF))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_AIR_RIFLE_HOLD_VISUAL,
SPELL_AIR_RIFLE_SHOOT,
SPELL_AIR_RIFLE_SHOOT_SELF
});
}
void HandleScript(SpellEffIndex effIndex)
@@ -2711,9 +2707,12 @@ class spell_item_vanquished_clutches : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CRUSHER) || !sSpellMgr->GetSpellInfo(SPELL_CONSTRICTOR) || !sSpellMgr->GetSpellInfo(SPELL_CORRUPTOR))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_CRUSHER,
SPELL_CONSTRICTOR,
SPELL_CORRUPTOR
});
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -2897,15 +2896,17 @@ class spell_item_purify_helboar_meat : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_PURIFIED_HELBOAR_MEAT) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_TOXIC_HELBOAR_MEAT))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_SUMMON_PURIFIED_HELBOAR_MEAT,
SPELL_SUMMON_TOXIC_HELBOAR_MEAT
});
}
void HandleDummy(SpellEffIndex /* effIndex */)
{
Unit* caster = GetCaster();
caster->CastSpell(caster, roll_chance_i(50) ? SPELL_SUMMON_PURIFIED_HELBOAR_MEAT : SPELL_SUMMON_TOXIC_HELBOAR_MEAT, true, NULL);
caster->CastSpell(caster, roll_chance_i(50) ? SPELL_SUMMON_PURIFIED_HELBOAR_MEAT : SPELL_SUMMON_TOXIC_HELBOAR_MEAT, true, nullptr);
}
void Register() override
@@ -2946,7 +2947,7 @@ class spell_item_crystal_prison_dummy_dnd : public SpellScriptLoader
if (Creature* target = GetHitCreature())
if (target->isDead() && !target->IsPet())
{
GetCaster()->SummonGameObject(OBJECT_IMPRISONED_DOOMGUARD, *target, G3D::Quat(), uint32(target->GetRespawnTime()-time(NULL)));
GetCaster()->SummonGameObject(OBJECT_IMPRISONED_DOOMGUARD, *target, QuaternionData(), uint32(target->GetRespawnTime()-time(nullptr)));
target->DespawnOrUnsummon();
}
}
@@ -2983,11 +2984,14 @@ class spell_item_reindeer_transformation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_310) || !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_280)
|| !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_60) || !sSpellMgr->GetSpellInfo(SPELL_REINDEER_100)
|| !sSpellMgr->GetSpellInfo(SPELL_REINDEER_60))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_FLYING_REINDEER_310,
SPELL_FLYING_REINDEER_280,
SPELL_FLYING_REINDEER_60,
SPELL_REINDEER_100,
SPELL_REINDEER_60
});
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3048,9 +3052,7 @@ class spell_item_nigh_invulnerability : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NIGH_INVULNERABILITY) || !sSpellMgr->GetSpellInfo(SPELL_COMPLETE_VULNERABILITY))
return false;
return true;
return ValidateSpellInfo({ SPELL_NIGH_INVULNERABILITY, SPELL_COMPLETE_VULNERABILITY });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3094,9 +3096,7 @@ class spell_item_poultryizer : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_BACKFIRE))
return false;
return true;
return ValidateSpellInfo({ SPELL_POULTRYIZER_SUCCESS, SPELL_POULTRYIZER_BACKFIRE });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3138,9 +3138,7 @@ class spell_item_socrethars_stone : public SpellScriptLoader
}
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_TO_SEAT) || !sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_FROM_SEAT))
return false;
return true;
return ValidateSpellInfo({ SPELL_SOCRETHAR_TO_SEAT, SPELL_SOCRETHAR_FROM_SEAT });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3189,9 +3187,9 @@ class spell_item_demon_broiled_surprise : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_DEMON_BROILED_SURPRISE) || !sObjectMgr->GetCreatureTemplate(NPC_ABYSSAL_FLAMEBRINGER) || !sObjectMgr->GetQuestTemplate(QUEST_SUPER_HOT_STEW))
return false;
return true;
return ValidateSpellInfo({ SPELL_CREATE_DEMON_BROILED_SURPRISE }) &&
sObjectMgr->GetCreatureTemplate(NPC_ABYSSAL_FLAMEBRINGER) &&
sObjectMgr->GetQuestTemplate(QUEST_SUPER_HOT_STEW);
}
bool Load() override
@@ -3246,9 +3244,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RAPTOR_CAPTURE_CREDIT))
return false;
return true;
return ValidateSpellInfo({ SPELL_RAPTOR_CAPTURE_CREDIT });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3259,7 +3255,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
GetHitCreature()->DespawnOrUnsummon();
//cast spell Raptor Capture Credit
caster->CastSpell(caster, SPELL_RAPTOR_CAPTURE_CREDIT, true, NULL);
caster->CastSpell(caster, SPELL_RAPTOR_CAPTURE_CREDIT, true, nullptr);
}
}
@@ -3340,9 +3336,13 @@ class spell_item_brewfest_mount_transformation : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_60) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_60))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_MOUNT_RAM_100,
SPELL_MOUNT_RAM_60,
SPELL_MOUNT_KODO_100,
SPELL_MOUNT_KODO_60
});
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3411,9 +3411,7 @@ class spell_item_nitro_boosts : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOSTS_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOSTS_BACKFIRE ))
return false;
return true;
return ValidateSpellInfo({ SPELL_NITRO_BOOSTS_SUCCESS, SPELL_NITRO_BOOSTS_BACKFIRE });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3508,9 +3506,7 @@ class spell_item_teach_language : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LEARN_GNOMISH_BINARY) || !sSpellMgr->GetSpellInfo(SPELL_LEARN_GOBLIN_BINARY))
return false;
return true;
return ValidateSpellInfo({ SPELL_LEARN_GNOMISH_BINARY, SPELL_LEARN_GOBLIN_BINARY });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3554,9 +3550,7 @@ class spell_item_rocket_boots : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROCKET_BOOTS_PROC))
return false;
return true;
return ValidateSpellInfo({ SPELL_ROCKET_BOOTS_PROC });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3566,7 +3560,7 @@ class spell_item_rocket_boots : public SpellScriptLoader
bg->EventPlayerDroppedFlag(caster);
caster->GetSpellHistory()->ResetCooldown(SPELL_ROCKET_BOOTS_PROC);
caster->CastSpell(caster, SPELL_ROCKET_BOOTS_PROC, true, NULL);
caster->CastSpell(caster, SPELL_ROCKET_BOOTS_PROC, true, nullptr);
}
SpellCastResult CheckCast()
@@ -3606,9 +3600,7 @@ class spell_item_pygmy_oil : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_PYGMY_AURA) || !sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_SMALLER_AURA))
return false;
return true;
return ValidateSpellInfo({ SPELL_PYGMY_OIL_PYGMY_AURA, SPELL_PYGMY_OIL_SMALLER_AURA });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3692,9 +3684,9 @@ class spell_item_chicken_cover : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CHICKEN_NET) || !sSpellMgr->GetSpellInfo(SPELL_CAPTURE_CHICKEN_ESCAPE) || !sObjectMgr->GetQuestTemplate(QUEST_CHICKEN_PARTY) || !sObjectMgr->GetQuestTemplate(QUEST_FLOWN_THE_COOP))
return false;
return true;
return ValidateSpellInfo({ SPELL_CHICKEN_NET, SPELL_CAPTURE_CHICKEN_ESCAPE }) &&
sObjectMgr->GetQuestTemplate(QUEST_CHICKEN_PARTY) &&
sObjectMgr->GetQuestTemplate(QUEST_FLOWN_THE_COOP);
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -3808,10 +3800,11 @@ class spell_item_shard_of_the_scale : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(HealProc) ||
!sSpellMgr->GetSpellInfo(DamageProc))
return false;
return true;
return ValidateSpellInfo(
{
HealProc,
DamageProc
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -3858,12 +3851,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_DRUID) ||
!sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_PALADIN) ||
!sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_PRIEST) ||
!sSpellMgr->GetSpellInfo(SPELL_SOUL_PRESERVER_SHAMAN))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_SOUL_PRESERVER_DRUID,
SPELL_SOUL_PRESERVER_PALADIN,
SPELL_SOUL_PRESERVER_PRIEST,
SPELL_SOUL_PRESERVER_SHAMAN
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -3945,12 +3939,9 @@ class spell_item_sunwell_neck : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sFactionStore.LookupEntry(FACTION_ALDOR) ||
!sFactionStore.LookupEntry(FACTION_SCRYERS) ||
!sSpellMgr->GetSpellInfo(Aldors) ||
!sSpellMgr->GetSpellInfo(Scryers))
return false;
return true;
return ValidateSpellInfo({ Aldors, Scryers }) &&
sFactionStore.LookupEntry(FACTION_ALDOR) &&
sFactionStore.LookupEntry(FACTION_SCRYERS);
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -4043,11 +4034,8 @@ class spell_item_taunt_flag_targeting : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TAUNT_FLAG))
return false;
if (!sObjectMgr->GetBroadcastText(EMOTE_PLANTS_FLAG))
return false;
return true;
return ValidateSpellInfo({ SPELL_TAUNT_FLAG }) &&
sObjectMgr->GetBroadcastText(EMOTE_PLANTS_FLAG);
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -4116,9 +4104,7 @@ class spell_item_mind_control_cap : public SpellScriptLoader
bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_MIND_CONTROL_CAP) || !sSpellMgr->GetSpellInfo(SPELL_DULLARD))
return false;
return true;
return ValidateSpellInfo({ SPELL_GNOMISH_MIND_CONTROL_CAP, SPELL_DULLARD });
}
void HandleDummy(SpellEffIndex /* effIndex */)
@@ -4171,9 +4157,7 @@ class spell_item_universal_remote : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CONTROL_MACHINE) || !sSpellMgr->GetSpellInfo(SPELL_MOBILITY_MALFUNCTION) || !sSpellMgr->GetSpellInfo(SPELL_TARGET_LOCK))
return false;
return true;
return ValidateSpellInfo({ SPELL_CONTROL_MACHINE, SPELL_MOBILITY_MALFUNCTION, SPELL_TARGET_LOCK });
}
void HandleDummy(SpellEffIndex /*effIndex*/)
@@ -4227,9 +4211,7 @@ class spell_item_zandalarian_charm : public SpellScriptLoader
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_spellId))
return false;
return true;
return ValidateSpellInfo({ _spellId });
}
bool CheckProc(ProcEventInfo& eventInfo)
@@ -4421,12 +4403,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_NORMAL_STRENGTH) ||
!sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_NORMAL_AGILITY) ||
!sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_HEROIC_STRENGTH) ||
!sSpellMgr->GetSpellInfo(SPELL_DEATH_CHOICE_HEROIC_AGILITY))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_DEATH_CHOICE_NORMAL_STRENGTH,
SPELL_DEATH_CHOICE_NORMAL_AGILITY,
SPELL_DEATH_CHOICE_HEROIC_STRENGTH,
SPELL_DEATH_CHOICE_HEROIC_AGILITY
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4507,9 +4490,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_stackSpell) || !sSpellMgr->GetSpellInfo(_triggerSpell))
return false;
return true;
return ValidateSpellInfo({ _stackSpell, _triggerSpell });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4555,7 +4536,7 @@ private:
// 57345 - Darkmoon Card: Greatness
enum DarkmoonCardSpells
{
SPELL_DARKMOON_CARD_STRENGHT = 60229,
SPELL_DARKMOON_CARD_STRENGTH = 60229,
SPELL_DARKMOON_CARD_AGILITY = 60233,
SPELL_DARKMOON_CARD_INTELLECT = 60234,
SPELL_DARKMOON_CARD_SPIRIT = 60235,
@@ -4572,12 +4553,13 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_STRENGHT) ||
!sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_AGILITY) ||
!sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_INTELLECT) ||
!sSpellMgr->GetSpellInfo(SPELL_DARKMOON_CARD_SPIRIT))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_DARKMOON_CARD_STRENGTH,
SPELL_DARKMOON_CARD_AGILITY,
SPELL_DARKMOON_CARD_INTELLECT,
SPELL_DARKMOON_CARD_SPIRIT
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4591,11 +4573,11 @@ public:
float spi = caster->GetStat(STAT_SPIRIT);
float stat = 0.0f;
uint32 spellTrigger = SPELL_DARKMOON_CARD_STRENGHT;
uint32 spellTrigger = SPELL_DARKMOON_CARD_STRENGTH;
if (str > stat)
{
spellTrigger = SPELL_DARKMOON_CARD_STRENGHT;
spellTrigger = SPELL_DARKMOON_CARD_STRENGTH;
stat = str;
}
@@ -4649,9 +4631,7 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CHARM_WITCH_DOCTOR_PROC))
return false;
return true;
return ValidateSpellInfo({ SPELL_CHARM_WITCH_DOCTOR_PROC });
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
@@ -4698,10 +4678,11 @@ public:
bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MANA_DRAIN_ENERGIZE)
|| !sSpellMgr->GetSpellInfo(SPELL_MANA_DRAIN_LEECH))
return false;
return true;
return ValidateSpellInfo(
{
SPELL_MANA_DRAIN_ENERGIZE,
SPELL_MANA_DRAIN_LEECH
});
}
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)