diff options
| author | offl <offl@users.noreply.github.com> | 2021-01-26 23:43:50 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-03-06 16:30:51 +0100 |
| commit | 8e9e15629fb00c742695325c6ccba2fff8ad4939 (patch) | |
| tree | 1c50675f97d0993a42bce113e32f77a97003cd67 | |
| parent | 7c2129b60e4529e826ac1fdd4918bad400329a71 (diff) | |
Core/Scripts: Verify & migrate spell school immunities to DB
Some already are stored in DB. Looks like they all are still valid for master
(cherry picked from commit 1ed79d7a2e61bf98178954a427cd4b7acd6c4509)
10 files changed, 16 insertions, 26 deletions
diff --git a/sql/updates/world/master/2022_03_06_03_world_2021_01_26_02_world.sql b/sql/updates/world/master/2022_03_06_03_world_2021_01_26_02_world.sql new file mode 100644 index 00000000000..f0500bbfd89 --- /dev/null +++ b/sql/updates/world/master/2022_03_06_03_world_2021_01_26_02_world.sql @@ -0,0 +1,14 @@ +-- Fire +UPDATE `creature_template` SET `spell_school_immune_mask` = 4 WHERE `entry` IN (19551); + +-- Arcane +UPDATE `creature_template` SET `spell_school_immune_mask` = 64 WHERE `entry` IN (15691); + +-- All +UPDATE `creature_template` SET `spell_school_immune_mask` = 127 WHERE `entry` IN (11439,23111,20481,21538); + +-- Magic, except holy +UPDATE `creature_template` SET `spell_school_immune_mask` = 124 WHERE `entry` IN (15275); + +-- Physical +UPDATE `creature_template` SET `spell_school_immune_mask` = 1 WHERE `entry` IN (15276); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp index 55f5fbb11cc..db867c1cce8 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp @@ -62,7 +62,6 @@ public: { _Reset(); _infused = false; - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ARCANE, true); } void KilledUnit(Unit* victim) override diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp index 38d55797357..d1c3fa77dd4 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp @@ -55,7 +55,6 @@ public: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) summoned->AI()->AttackStart(target); - summoned->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); // Not sure if this is correct. Summons.Summon(summoned); } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index 095a3e67b24..e605cbebc59 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -421,8 +421,6 @@ public: { TwinReset(); Initialize(); - //Added. Can be removed if its included in DB. - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); } void CastSpellOnBug(Creature* target) override @@ -511,9 +509,6 @@ public: { TwinReset(); Initialize(); - - //Added. Can be removed if its included in DB. - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); } void CastSpellOnBug(Creature* target) override diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp index 167b7c98dc9..f244b725606 100644 --- a/src/server/scripts/Northrend/zone_dalaran.cpp +++ b/src/server/scripts/Northrend/zone_dalaran.cpp @@ -61,12 +61,7 @@ public: struct npc_mageguard_dalaranAI : public ScriptedAI { - npc_mageguard_dalaranAI(Creature* creature) : ScriptedAI(creature) - { - creature->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_NORMAL, true); - creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); - } + npc_mageguard_dalaranAI(Creature* creature) : ScriptedAI(creature) { } void Reset() override { } diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index b65a29d8106..75c2550d717 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -258,12 +258,7 @@ private: struct npc_shadowy_construct : public ScriptedAI { - npc_shadowy_construct(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) - { - //This creature must be immune everything, except spells of Vengeful Spirit. - creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); - creature->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_MAGIC, true); - } + npc_shadowy_construct(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { } void Reset() override { diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp index 0b602db9e77..a7439d12b8f 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp @@ -190,13 +190,11 @@ public: { if (summoned->GetEntry() == ENTRY_PURE_SPAWN) { - summoned->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FROST, true); summoned->CastSpell(summoned, SPELL_ELEMENTAL_SPAWNIN, true); Summons.Summon(summoned); } if (summoned->GetEntry() == ENTRY_TAINTED_SPAWN) { - summoned->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true); summoned->CastSpell(summoned, SPELL_ELEMENTAL_SPAWNIN, true); Summons.Summon(summoned); } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index ad370782339..330f3031243 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -494,7 +494,6 @@ class npc_ember_of_alar : public CreatureScript Initialize(); instance = creature->GetInstanceScript(); creature->SetDisableGravity(true); - creature->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true); } void Initialize() diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index 58fd4cc102b..c5566eb3a8c 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -178,8 +178,6 @@ class npc_ragin_flames : public CreatureScript void Reset() override { Initialize(); - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); me->SetSpeedRate(MOVE_RUN, DUNGEON_MODE(0.5f, 0.7f)); } diff --git a/src/server/scripts/Pet/pet_shaman.cpp b/src/server/scripts/Pet/pet_shaman.cpp index 9ee11397991..1a20470d75d 100644 --- a/src/server/scripts/Pet/pet_shaman.cpp +++ b/src/server/scripts/Pet/pet_shaman.cpp @@ -54,7 +54,6 @@ class npc_pet_shaman_earth_elemental : public CreatureScript { _events.Reset(); _events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, 0s); - me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true); } void UpdateAI(uint32 diff) override @@ -98,7 +97,6 @@ class npc_pet_shaman_fire_elemental : public CreatureScript _events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, 5s, 20s); _events.ScheduleEvent(EVENT_SHAMAN_FIREBLAST, 5s, 20s); _events.ScheduleEvent(EVENT_SHAMAN_FIRESHIELD, 0s); - me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true); } void UpdateAI(uint32 diff) override |
