diff options
3 files changed, 9 insertions, 25 deletions
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index 347c87b160b..1a0987625df 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -145,6 +145,8 @@ public: MovePoint = urand(0, 5); PointData = GetMoveData(); SummonWhelpCount = 0; + triggerGUID = 0; + tankGUID = 0; IsMoving = false; instance->SetData(DATA_ONYXIA_PHASE, Phase); @@ -153,17 +155,14 @@ public: void EnterCombat(Unit* /*who*/) override { + _EnterCombat(); Talk(SAY_AGGRO); - me->SetInCombatWithZone(); - - events.Reset(); events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 20000)); events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(15000, 20000)); events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 5000)); events.ScheduleEvent(EVENT_WING_BUFFET, urand(10000, 20000)); - instance->SetBossState(DATA_ONYXIA, IN_PROGRESS); instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT); } @@ -226,11 +225,11 @@ public: me->SetCanFly(false); me->SetDisableGravity(false); me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER); - if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TRIGGER_GUID))) + if (Creature* trigger = ObjectAccessor::GetCreature(*me, triggerGUID)) me->Kill(trigger); me->SetReactState(REACT_AGGRESSIVE); // tank selection based on phase one. If tank is not there i take nearest one - if (Unit* tank = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_TANK_GUID))) + if (Unit* tank = ObjectAccessor::GetUnit(*me, tankGUID)) me->GetMotionMaster()->MoveChase(tank); else if (Unit* newtarget = SelectTarget(SELECT_TARGET_NEAREST, 0)) me->GetMotionMaster()->MoveChase(newtarget); @@ -246,7 +245,7 @@ public: me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER); me->SetFacingTo(me->GetOrientation() + float(M_PI)); if (Creature * trigger = me->SummonCreature(NPC_TRIGGER, MiddleRoomLocation, TEMPSUMMON_CORPSE_DESPAWN)) - instance->SetData64(DATA_TRIGGER_GUID, trigger->GetGUID()); + triggerGUID = trigger->GetGUID(); me->GetMotionMaster()->MoveTakeoff(11, Phase2Floating); me->SetSpeed(MOVE_FLIGHT, 1.0f); Talk(SAY_PHASE_2_TRANS); @@ -329,7 +328,7 @@ public: { SetCombatMovement(false); Phase = PHASE_BREATH; - instance->SetData64(DATA_TANK_GUID, me->GetVictim()->GetGUID()); + tankGUID = me->GetVictim()->GetGUID(); me->SetReactState(REACT_PASSIVE); me->AttackStop(); me->GetMotionMaster()->MovePoint(10, Phase2Location); @@ -470,6 +469,8 @@ public: uint8 Phase; uint8 MovePoint; uint8 SummonWhelpCount; + uint64 triggerGUID; + uint64 tankGUID; bool IsMoving; }; diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp index 61b57d181a3..6aa50e71b17 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp @@ -54,8 +54,6 @@ public: SetBossNumber(EncounterCount); onyxiaGUID = 0; - triggerGUID = 0; - tankGUID = 0; onyxiaLiftoffTimer = 0; manyWhelpsCounter = 0; eruptTimer = 0; @@ -184,12 +182,6 @@ public: FloorEruptionGUIDQueue.push(data); eruptTimer = 2500; break; - case DATA_TRIGGER_GUID: - triggerGUID = data; - break; - case DATA_TANK_GUID: - tankGUID = data; - break; } } @@ -199,13 +191,6 @@ public: { case NPC_ONYXIA: return onyxiaGUID; - break; - case DATA_TRIGGER_GUID: - return triggerGUID; - break; - case DATA_TANK_GUID: - return tankGUID; - break; } return 0; diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h b/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h index 0c423f35de6..9fd73f7a977 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h +++ b/src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h @@ -38,8 +38,6 @@ enum Data64 { DATA_ONYXIA_GUID = 0, DATA_FLOOR_ERUPTION_GUID = 1, - DATA_TRIGGER_GUID = 2, - DATA_TANK_GUID = 3 }; enum OnyxiaPhases |