From bcdbc9517e730141e950dd9390cb697af06adfcb Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Tue, 19 Jul 2011 20:32:31 +0200 Subject: Scripts/Naxxramas: Remove improper unit flags from Gothik the Harvester and properly make him ignore damage taken in phase 1. --- src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index c362006d632..347bb688a07 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -172,7 +172,6 @@ class boss_gothik : public CreatureScript LiveTriggerGUID.clear(); DeadTriggerGUID.clear(); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE); me->SetReactState(REACT_PASSIVE); if (instance) instance->SetData(DATA_GOTHIK_GATE, GO_STATE_ACTIVE); @@ -199,7 +198,6 @@ class boss_gothik : public CreatureScript } _EnterCombat(); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE); waveCount = 0; events.ScheduleEvent(EVENT_SUMMON, 30000); DoTeleportTo(PosPlatform); @@ -362,6 +360,12 @@ class boss_gothik : public CreatureScript } } + void DamageTaken(Unit* /*who*/ , uint32& damage) + { + if (!phaseTwo) + damage = 0; + } + void SpellHitTarget(Unit* target, SpellEntry const* spell) { if (!me->isInCombat()) @@ -443,7 +447,6 @@ class boss_gothik : public CreatureScript DoScriptText(SAY_TELEPORT, me); DoTeleportTo(PosGroundLiveSide); me->SetReactState(REACT_AGGRESSIVE); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); summons.DoAction(0, 0); summons.DoZoneInCombat(); events.ScheduleEvent(EVENT_BOLT, 1000); @@ -481,7 +484,8 @@ class boss_gothik : public CreatureScript } } - DoMeleeAttackIfReady(); + if (!phaseTwo) + DoMeleeAttackIfReady(); } }; -- cgit v1.2.3