aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <offl@users.noreply.github.com>2021-01-31 18:39:25 +0200
committeroffl <offl@users.noreply.github.com>2021-01-31 18:39:25 +0200
commita9c83d556635a51c13cea5e231e879a67d2e77ff (patch)
treeff9b6f34bb0342cd9c9fd08b690cbcc08373476f
parentdd27485a649ad3b6086712e1907dbb58c4ee8e46 (diff)
DB/Creature: Remove UNIT_FLAG_PACIFIED
Ref #25764
-rw-r--r--sql/updates/world/3.3.5/2021_01_31_05_world.sql25
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp2
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp10
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);
}
}