Core: header cleanup, split realmlist, boost compatibility, cotire, remove stormlib/zlib and stormlib/bzip2 and instead use dep sources
This commit is contained in:
1 parent
7fff6c424f
commit
5ff847159c
1243 files changed
+29780
-36517
No files matched your search
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user