aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-07-12 17:43:22 +0800
committermegamage <none@none>2009-07-12 17:43:22 +0800
commitaff3744e1aeecf95d0b824a71b70cbdfa86449ac (patch)
treec00ad97fa31fa12c71af0d63d864984850252268
parentd93977db11703d0723061cfb7b8b0004a533a254 (diff)
[8146] Fixed handling of eventchance for CreatureEventAI. Author: ApoC
Check event chance after timers advances othewise event is not scheduled to next time period and event chance is again checked on next AI update. --HG-- branch : trunk
-rw-r--r--src/game/CreatureEventAI.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/game/CreatureEventAI.cpp b/src/game/CreatureEventAI.cpp
index c6fa47aaeac..b9b3d5bb488 100644
--- a/src/game/CreatureEventAI.cpp
+++ b/src/game/CreatureEventAI.cpp
@@ -113,13 +113,6 @@ bool CreatureEventAI::ProcessEvent(CreatureEventAIHolder& pHolder, Unit* pAction
if (pHolder.Event.event_inverse_phase_mask & (1 << Phase))
return false;
- //Store random here so that all random actions match up
- uint32 rnd = rand();
-
- //Return if chance for event is not met
- if (pHolder.Event.event_chance <= rnd % 100)
- return false;
-
CreatureEventAI_Event const& event = pHolder.Event;
//Check event conditions based on the event type, also reset events
@@ -331,6 +324,13 @@ bool CreatureEventAI::ProcessEvent(CreatureEventAIHolder& pHolder, Unit* pAction
if (!(pHolder.Event.event_flags & EFLAG_REPEATABLE))
pHolder.Enabled = false;
+ //Store random here so that all random actions match up
+ uint32 rnd = rand();
+
+ //Return if chance for event is not met
+ if (pHolder.Event.event_chance <= rnd % 100)
+ return false;
+
//Process actions
for (uint32 j = 0; j < MAX_ACTIONS; j++)
ProcessAction(pHolder.Event.action[j], rnd, pHolder.Event.event_id, pActionInvoker);