mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[8146] Fixed handling of eventchance for CreatureEventAI.
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. Signed-off-by: ApoC <apoc@nymfe.net>
This commit is contained in:
parent
2d25d7f8bc
commit
1ad013e25b
2 changed files with 8 additions and 8 deletions
|
|
@ -112,13 +112,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
|
||||
|
|
@ -330,6 +323,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);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "8145"
|
||||
#define REVISION_NR "8146"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue