From 6f98e4106e6a8e03c0319dbb552c1b61bf47d9f3 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 13 Oct 2013 18:30:59 +0200 Subject: Scripts/TheBlackMorass: Fix first 7 rifts spawn timings Partially revert 7e76ab97f895da1320106fad28e31d6b34c15443 to properly spawn first 7 rifts. Also allow only 1 EVENT_NEXT_PORTAL event at time. --- .../TheBlackMorass/instance_the_black_morass.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp index d8dfa2f5cf6..19024172aa0 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp @@ -196,7 +196,7 @@ public: TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Starting event."); InitWorldState(); m_auiEncounter[1] = IN_PROGRESS; - Events.ScheduleEvent(EVENT_NEXT_PORTAL, 15000); + ScheduleEventNextPortal(15000); } if (data == DONE) @@ -228,7 +228,7 @@ public: if (data == SPECIAL) { if (mRiftPortalCount < 7) - Events.ScheduleEvent(EVENT_NEXT_PORTAL, 5000); + ScheduleEventNextPortal(5000); } else m_auiEncounter[1] = data; @@ -336,10 +336,16 @@ public: ++mRiftPortalCount; DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount); DoSpawnPortal(); - Events.ScheduleEvent(EVENT_NEXT_PORTAL, RiftWaves[GetRiftWaveId()].NextPortalTime); + ScheduleEventNextPortal(RiftWaves[GetRiftWaveId()].NextPortalTime); } } + void ScheduleEventNextPortal(uint32 nextPortalTime) + { + if (nextPortalTime > 0) + Events.RescheduleEvent(EVENT_NEXT_PORTAL, nextPortalTime); + } + protected: EventMap Events; }; -- cgit v1.2.3