aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
authorKinzcool <kinzzcool@hotmail.com>2014-06-18 23:25:57 -0400
committerKinzcool <kinzzcool@hotmail.com>2014-06-18 23:25:57 -0400
commit34572492dd1394dbeaf19bb697a7af8cbf0b6ef7 (patch)
tree97bf1565a0d871629d43a3016fb7f56e038e1cb0 /src/server/game/Conditions/ConditionMgr.cpp
parent05d17b700d8a679bca2a16dd5d63c94fe3ab99b9 (diff)
parentf71abd173ebad2da329c04f5ea3b1d8704007303 (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.cpp21
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: