diff options
author | offl <offl@users.noreply.github.com> | 2021-01-31 18:39:25 +0200 |
---|---|---|
committer | offl <offl@users.noreply.github.com> | 2021-01-31 18:39:25 +0200 |
commit | a9c83d556635a51c13cea5e231e879a67d2e77ff (patch) | |
tree | ff9b6f34bb0342cd9c9fd08b690cbcc08373476f | |
parent | dd27485a649ad3b6086712e1907dbb58c4ee8e46 (diff) |
DB/Creature: Remove UNIT_FLAG_PACIFIED
Ref #25764
-rw-r--r-- | sql/updates/world/3.3.5/2021_01_31_05_world.sql | 25 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Outland/zone_shadowmoon_valley.cpp | 10 |
3 files changed, 35 insertions, 2 deletions
diff --git a/sql/updates/world/3.3.5/2021_01_31_05_world.sql b/sql/updates/world/3.3.5/2021_01_31_05_world.sql new file mode 100644 index 00000000000..cb2e4c70b7a --- /dev/null +++ b/sql/updates/world/3.3.5/2021_01_31_05_world.sql @@ -0,0 +1,25 @@ +-- High Justice Grimstone +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ 131072, `RangeAttackTime` = 2000 WHERE `entry` = 10096; + +-- Grobbulus Cloud +UPDATE `creature_template` SET `speed_walk` = 0.004, `speed_run` = 0.00142857, `unit_flags` = `unit_flags` &~ 131072 WHERE `entry` IN (16363,29379); + +-- Hellfire Training Dummy +UPDATE `creature_template` SET `speed_walk` = 1, `speed_run` = 1, `BaseAttackTime` = 2000, `RangeAttackTime` = 2000, `unit_flags` = `unit_flags` &~ 131072 WHERE `entry` = 17578; +DELETE FROM `creature_template_addon` WHERE `entry` = 17578; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES +(17578,0,0,0,1,0,0,"7056"); + +-- The Lich King +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ 131072 WHERE `entry` = 24248; + +-- Defeated Argent Footman +UPDATE `creature_template_addon` SET `bytes1` = 0, `bytes2` = 1, `emote` = 0, `auras` = "29266" WHERE `entry` = 28156; +UPDATE `creature_template` SET `unit_flags` = 33536, `dynamicflags` = 0 WHERE `entry` = 28156; +UPDATE `smart_scripts` SET `action_param2` = 2 WHERE `entryorguid` = 28156 AND `source_type` = 0 AND `id` IN (0,1); + +-- Alexstrasza the Life-Binder +UPDATE `creature_template` SET `unit_flags` = `unit_flags` &~ 131072 WHERE `entry` = 31333; + +-- Infernal Attacker +UPDATE `creature_template` SET `speed_walk` = 1, `unit_flags` = 256+33554432 WHERE `entry` IN (21419,21786); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp index d000895e13b..0d87b823d8d 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp @@ -29,6 +29,7 @@ enum Spells SPELL_MUTATING_EXPLOSION = 28206, SPELL_POISON_CLOUD = 28240, SPELL_POISON_CLOUD_PASSIVE = 28158, + SPELL_PACIFY_SELF = 19951, SPELL_BERSERK = 26662 }; @@ -128,6 +129,7 @@ class npc_grobbulus_poison_cloud : public CreatureScript { // no visual when casting in ctor or Reset() DoCast(me, SPELL_POISON_CLOUD_PASSIVE, true); + DoCast(me, SPELL_PACIFY_SELF, true); } void UpdateAI(uint32 /*diff*/) override { } diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 334999f3f6f..0090ea5c66c 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -59,6 +59,8 @@ enum InvisInfernalCaster MODEL_INVISIBLE = 20577, MODEL_INFERNAL = 17312, SPELL_SUMMON_INFERNAL = 37277, + SPELL_SPAWN_AND_PACIFY = 37791, + SPELL_TRANSFORM_INFERNAL = 37794, TYPE_INFERNAL = 1, DATA_DIED = 1 }; @@ -153,7 +155,8 @@ public: void IsSummonedBy(WorldObject* summoner) override { if (summoner->ToCreature()) - casterGUID = summoner->ToCreature()->GetGUID();; + casterGUID = summoner->ToCreature()->GetGUID(); + DoCastSelf(SPELL_SPAWN_AND_PACIFY); } void JustDied(Unit* /*killer*/) override @@ -166,9 +169,12 @@ public: { if (spellInfo->Id == SPELL_SUMMON_INFERNAL) { - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetImmuneToPC(false); + me->RemoveAurasDueToSpell(SPELL_SPAWN_AND_PACIFY); + // handle by the spell below when such auras will be not removed after evade me->SetDisplayId(MODEL_INFERNAL); + // DoCastSelf(SPELL_TRANSFORM_INFERNAL); } } |