aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNyeriah <sarah.trysan@live.com>2014-09-08 17:10:46 -0300
committerNyeriah <sarah.trysan@live.com>2014-09-08 17:10:46 -0300
commite181af1b1c983c8dc492f20eb4720973f002c538 (patch)
treeae519efc86e4334b2f59c39401f68632b828765a /src
parent54e201b8b97912b45f5ae942c5b71abb1cf58640 (diff)
Scripts/Onyxia Lair: Some small improvements to GUID storage as it's only used locally
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp17
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp15
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/onyxias_lair.h2
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