From bf0d8c1346f96b88758d6563c9ba1e9218ceba1d Mon Sep 17 00:00:00 2001 From: Discover- Date: Tue, 21 Jan 2014 19:56:43 +0100 Subject: Core/SAI: Implement three more event phases which makes a total of 9 (from 6). Ref. #11486 --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 1 + src/server/game/AI/SmartScripts/SmartScriptMgr.h | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index 543cb9235d3..d912de2a72c 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -766,6 +766,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) TC_LOG_ERROR("sql.sql", "SmartAIMgr: Entry %d SourceType %u Event %u Action %u attempts to set invalid phase, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType()); return false; } + if (!IsMinMaxValid(e, e.action.randomPhaseRange.phaseMin, e.action.randomPhaseRange.phaseMax)) return false; break; diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 9ba5ccc578e..92767f94b2b 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -52,9 +52,12 @@ enum SMART_EVENT_PHASE SMART_EVENT_PHASE_4 = 4, SMART_EVENT_PHASE_5 = 5, SMART_EVENT_PHASE_6 = 6, - SMART_EVENT_PHASE_MAX = 7, + SMART_EVENT_PHASE_7 = 7, + SMART_EVENT_PHASE_8 = 8, + SMART_EVENT_PHASE_9 = 9, + SMART_EVENT_PHASE_MAX = 10, - SMART_EVENT_PHASE_COUNT = 6 + SMART_EVENT_PHASE_COUNT = 9 }; enum SMART_EVENT_PHASE_BITS @@ -66,6 +69,9 @@ enum SMART_EVENT_PHASE_BITS SMART_EVENT_PHASE_4_BIT = 8, SMART_EVENT_PHASE_5_BIT = 16, SMART_EVENT_PHASE_6_BIT = 32, + SMART_EVENT_PHASE_7_BIT = 64, + SMART_EVENT_PHASE_8_BIT = 128, + SMART_EVENT_PHASE_9_BIT = 256, SMART_EVENT_PHASE_ALL = SMART_EVENT_PHASE_1_BIT + SMART_EVENT_PHASE_2_BIT + SMART_EVENT_PHASE_3_BIT + SMART_EVENT_PHASE_4_BIT + SMART_EVENT_PHASE_5_BIT + SMART_EVENT_PHASE_6_BIT }; @@ -76,7 +82,10 @@ const uint32 SmartPhaseMask[SMART_EVENT_PHASE_COUNT][2] = {SMART_EVENT_PHASE_3, SMART_EVENT_PHASE_3_BIT }, {SMART_EVENT_PHASE_4, SMART_EVENT_PHASE_4_BIT }, {SMART_EVENT_PHASE_5, SMART_EVENT_PHASE_5_BIT }, - {SMART_EVENT_PHASE_6, SMART_EVENT_PHASE_6_BIT } + {SMART_EVENT_PHASE_6, SMART_EVENT_PHASE_6_BIT }, + {SMART_EVENT_PHASE_7, SMART_EVENT_PHASE_7_BIT }, + {SMART_EVENT_PHASE_8, SMART_EVENT_PHASE_8_BIT }, + {SMART_EVENT_PHASE_9, SMART_EVENT_PHASE_9_BIT } }; enum SMART_EVENT -- cgit v1.2.3