diff options
4 files changed, 25 insertions, 8 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h index 926acc8c965..2282acaa233 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.h @@ -54,6 +54,7 @@ enum eTypes DATA_THRONE_DOOR = 24, DATA_SF_BRAZIER_N = 25, - DATA_SF_BRAZIER_S = 26 + DATA_SF_BRAZIER_S = 26, + DATA_MOIRA = 27, }; #endif diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index 3ff21b428d6..1d9878a331a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -24,6 +24,7 @@ SDCategory: Blackrock Depths EndScriptData */ #include "ScriptPCH.h" +#include "blackrock_depths.h" enum Yells { @@ -49,8 +50,12 @@ public: struct boss_draganthaurissanAI : public ScriptedAI { - boss_draganthaurissanAI(Creature* c) : ScriptedAI(c) {} + boss_draganthaurissanAI(Creature* c) : ScriptedAI(c) + { + instance = me->GetInstanceScript(); + } + InstanceScript* instance; uint32 HandOfThaurissan_Timer; uint32 AvatarOfFlame_Timer; //uint32 Counter; @@ -73,6 +78,15 @@ public: DoScriptText(SAY_SLAY, me); } + void JustDied(Unit* /*who*/) + { + if (Creature* Moira = ObjectAccessor::GetCreature(*me, instance ? instance->GetData64(DATA_MOIRA) : 0)) + { + Moira->AI()->EnterEvadeMode(); + Moira->setFaction(35); + } + } + void UpdateAI(const uint32 diff) { //Return since we have no target diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp index 95d15ceb4bd..f6fa3ca18d9 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp @@ -42,6 +42,7 @@ enum eEnums NPC_GLOOMREL = 9037, NPC_DOOMREL = 9039, NPC_MAGMUS = 9938, + NPC_MOIRA = 8929, GO_ARENA1 = 161525, GO_ARENA2 = 161522, @@ -87,6 +88,7 @@ public: uint64 EmperorGUID; uint64 PhalanxGUID; uint64 MagmusGUID; + uint64 MoiraGUID; uint64 GoArena1GUID; uint64 GoArena2GUID; @@ -124,6 +126,7 @@ public: EmperorGUID = 0; PhalanxGUID = 0; MagmusGUID = 0; + MoiraGUID = 0; GoArena1GUID = 0; GoArena2GUID = 0; @@ -163,6 +166,7 @@ public: { case NPC_EMPEROR: EmperorGUID = creature->GetGUID(); break; case NPC_PHALANX: PhalanxGUID = creature->GetGUID(); break; + case NPC_MOIRA: MoiraGUID = creature->GetGUID(); break; case NPC_DOOMREL: TombBossGUIDs[0] = creature->GetGUID(); break; case NPC_DOPEREL: TombBossGUIDs[1] = creature->GetGUID(); break; case NPC_HATEREL: TombBossGUIDs[2] = creature->GetGUID(); break; @@ -308,6 +312,8 @@ public: return EmperorGUID; case DATA_PHALANX: return PhalanxGUID; + case DATA_MOIRA: + return MoiraGUID; case DATA_ARENA1: return GoArena1GUID; case DATA_ARENA2: diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp index cab271f923f..a7abfcf42be 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp @@ -780,12 +780,8 @@ class spell_assembly_meltdown : public SpellScriptLoader void HandleInstaKill(SpellEffIndex /*effIndex*/) { - Unit* caster = GetCaster(); - if (!caster) - return; - - if (InstanceScript* instance = caster->GetInstanceScript()) - if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*caster, instance->GetData64(BOSS_STEELBREAKER))) + if (InstanceScript* instance = GetCaster()->GetInstanceScript()) + if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(BOSS_STEELBREAKER))) Steelbreaker->AI()->DoAction(ACTION_ADD_CHARGE); } |
