diff options
| author | Kinzcool <kinzzcool@hotmail.com> | 2014-06-18 23:25:57 -0400 |
|---|---|---|
| committer | Kinzcool <kinzzcool@hotmail.com> | 2014-06-18 23:25:57 -0400 |
| commit | 34572492dd1394dbeaf19bb697a7af8cbf0b6ef7 (patch) | |
| tree | 97bf1565a0d871629d43a3016fb7f56e038e1cb0 /src/server/game/Conditions/ConditionMgr.cpp | |
| parent | 05d17b700d8a679bca2a16dd5d63c94fe3ab99b9 (diff) | |
| parent | f71abd173ebad2da329c04f5ea3b1d8704007303 (diff) | |
Merge branch '4.3.4_phases' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
| -rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 74beed534c6..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: @@ -1512,11 +1512,11 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) } break; case CONDITION_SOURCE_TYPE_PHASE_DEFINITION: - if (!PhaseMgr::IsConditionTypeSupported(cond->ConditionType)) + /*if (!PhaseMgr::IsConditionTypeSupported(cond->ConditionType)) { TC_LOG_ERROR("sql.sql", "Condition source type `CONDITION_SOURCE_TYPE_PHASE_DEFINITION` does not support condition type %u, ignoring.", cond->ConditionType); return false; - } + }*/ break; case CONDITION_SOURCE_TYPE_NPC_VENDOR: { @@ -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: |
