diff options
| author | Subv <subv2112@gmail.com> | 2014-06-07 19:42:08 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2014-06-07 19:42:08 -0500 |
| commit | 402b9b055c6a32ee0e105abc103aac18c0ad33ee (patch) | |
| tree | 3d761f66ef0bbb4d33d6e33e5d5f764802bdee77 /src/server/game/Conditions/ConditionMgr.cpp | |
| parent | ac6b8d2f1524a565c647bff43b721f747edb596a (diff) | |
Core/Conditions: Removed deprecated CONDITION_PHASEMASK and implemented CONDITION_PHASEID
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
| -rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 31f5594188a..0217363862e 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -295,9 +295,9 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo) condMeets = ConditionValue2 == sWorld->getWorldState(ConditionValue1); break; } - case CONDITION_PHASEMASK: + case CONDITION_PHASEID: { - condMeets = object->GetPhaseMask() & ConditionValue1; + condMeets = object->IsInPhase(ConditionValue1); break; } case CONDITION_TITLE: @@ -474,7 +474,7 @@ uint32 Condition::GetSearcherTypeMaskForCondition() case CONDITION_WORLD_STATE: mask |= GRID_MAP_TYPE_MASK_ALL; break; - case CONDITION_PHASEMASK: + case CONDITION_PHASEID: mask |= GRID_MAP_TYPE_MASK_ALL; break; case CONDITION_TITLE: @@ -1995,12 +1995,17 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) TC_LOG_ERROR("sql.sql", "World state condition has useless data in value3 (%u)!", cond->ConditionValue3); break; } - case CONDITION_PHASEMASK: + case CONDITION_PHASEID: { + if (!sPhaseStore.LookupEntry(cond->ConditionValue1)) + { + TC_LOG_ERROR("sql.sql", "Phase condition has nonexistent phaseid in value1 (%u), skipped", cond->ConditionValue1); + return false; + } if (cond->ConditionValue2) - TC_LOG_ERROR("sql.sql", "Phasemask condition has useless data in value2 (%u)!", cond->ConditionValue2); + TC_LOG_ERROR("sql.sql", "Phase condition has useless data in value2 (%u)!", cond->ConditionValue2); if (cond->ConditionValue3) - TC_LOG_ERROR("sql.sql", "Phasemask condition has useless data in value3 (%u)!", cond->ConditionValue3); + TC_LOG_ERROR("sql.sql", "Phase condition has useless data in value3 (%u)!", cond->ConditionValue3); break; } case CONDITION_TITLE: |
