diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp | 52 |
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(); } |