aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp52
1 files changed, 32 insertions, 20 deletions
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index abd6b468b07..f61861ebb62 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -73,6 +73,7 @@ class instance_zulaman : public InstanceMapScript
uint64 AshlisBagGUID;
uint64 KrazsPackageGUID;
uint64 StrangeGongGUID;
+ uint64 HarrisonJonesGUID;
uint64 HexLordGateGUID;
uint64 ZulJinGateGUID;
@@ -105,6 +106,8 @@ class instance_zulaman : public InstanceMapScript
HalazziDoorGUID = 0;
ZulJinDoorGUID = 0;
+ HarrisonJonesGUID = 0;
+
QuestTimer = 0;
QuestMinute = 0;
BossKilled = 0;
@@ -114,7 +117,6 @@ class instance_zulaman : public InstanceMapScript
RandVendor[i] = NOT_STARTED;
m_auiEncounter[DATA_GONGEVENT] = NOT_STARTED;
- instance->SummonCreature(NPC_HARRISON_JONES, HarrisonJonesLoc);
}
bool IsEncounterInProgress() const
@@ -126,16 +128,26 @@ class instance_zulaman : public InstanceMapScript
return false;
}
+ void OnPlayerEnter(Player* /*player*/)
+ {
+ if (!HarrisonJonesGUID)
+ instance->SummonCreature(NPC_HARRISON_JONES, HarrisonJonesLoc);
+ }
+
void OnCreatureCreate(Creature* creature)
{
switch (creature->GetEntry())
{
- case NPC_JANALAI:
- case NPC_ZULJIN:
- case NPC_HEXLORD:
- case NPC_HALAZZI:
- case NPC_NALORAKK:
- default: break;
+ case NPC_HARRISON_JONES:
+ HarrisonJonesGUID = creature->GetGUID();
+ break;
+ case NPC_JANALAI:
+ case NPC_ZULJIN:
+ case NPC_HEXLORD:
+ case NPC_HALAZZI:
+ case NPC_NALORAKK:
+ default:
+ break;
}
}
@@ -143,19 +155,19 @@ class instance_zulaman : public InstanceMapScript
{
switch (go->GetEntry())
{
- case GO_DOOR_HALAZZI: HalazziDoorGUID = go->GetGUID(); break;
- case GO_GATE_ZULJIN: ZulJinGateGUID = go->GetGUID(); break;
- case GO_GATE_HEXLORD: HexLordGateGUID = go->GetGUID(); break;
- case GO_MASSIVE_GATE: MassiveGateGUID = go->GetGUID(); break;
- case GO_DOOR_AKILZON: AkilzonDoorGUID = go->GetGUID(); break;
- case GO_DOOR_ZULJIN: ZulJinDoorGUID = go->GetGUID(); break;
-
- case GO_HARKORS_SATCHEL: HarkorsSatchelGUID = go->GetGUID(); break;
- case GO_TANZARS_TRUNK: TanzarsTrunkGUID = go->GetGUID(); break;
- case GO_ASHLIS_BAG: AshlisBagGUID = go->GetGUID(); break;
- case GO_KRAZS_PACKAGE: KrazsPackageGUID = go->GetGUID(); break;
- case GO_STRANGE_GONG: StrangeGongGUID = go->GetGUID(); break;
- default: break;
+ case GO_DOOR_HALAZZI: HalazziDoorGUID = go->GetGUID(); break;
+ case GO_GATE_ZULJIN: ZulJinGateGUID = go->GetGUID(); break;
+ case GO_GATE_HEXLORD: HexLordGateGUID = go->GetGUID(); break;
+ case GO_MASSIVE_GATE: MassiveGateGUID = go->GetGUID(); break;
+ case GO_DOOR_AKILZON: AkilzonDoorGUID = go->GetGUID(); break;
+ case GO_DOOR_ZULJIN: ZulJinDoorGUID = go->GetGUID(); break;
+
+ case GO_HARKORS_SATCHEL: HarkorsSatchelGUID = go->GetGUID(); break;
+ case GO_TANZARS_TRUNK: TanzarsTrunkGUID = go->GetGUID(); break;
+ case GO_ASHLIS_BAG: AshlisBagGUID = go->GetGUID(); break;
+ case GO_KRAZS_PACKAGE: KrazsPackageGUID = go->GetGUID(); break;
+ case GO_STRANGE_GONG: StrangeGongGUID = go->GetGUID(); break;
+ default: break;
}
CheckInstanceStatus();
}