aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp45
1 files changed, 18 insertions, 27 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 4485dcb2290..1df5f72f718 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -60,8 +60,8 @@ char const* const ConditionMgr::StaticSourceTypeData[CONDITION_SOURCE_TYPE_MAX]
"Creature Vehicle",
"Spell Expl. Target",
"Spell Click Event",
- "Quest Accept",
- "Quest Show Mark",
+ "Quest Available",
+ "Unused",
"Vehicle Spell",
"SmartScript",
"Npc Vendor",
@@ -1499,12 +1499,6 @@ bool ConditionMgr::addToPhases(Condition* cond) const
bool ConditionMgr::isSourceTypeValid(Condition* cond) const
{
- if (cond->SourceType == CONDITION_SOURCE_TYPE_NONE || cond->SourceType >= CONDITION_SOURCE_TYPE_MAX)
- {
- TC_LOG_ERROR("sql.sql", "%s Invalid ConditionSourceType in `condition` table, ignoring.", cond->ToString().c_str());
- return false;
- }
-
switch (cond->SourceType)
{
case CONDITION_SOURCE_TYPE_CREATURE_LOOT_TEMPLATE:
@@ -1857,9 +1851,10 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const
case CONDITION_SOURCE_TYPE_GOSSIP_MENU:
case CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION:
case CONDITION_SOURCE_TYPE_SMART_EVENT:
- case CONDITION_SOURCE_TYPE_NONE:
- default:
break;
+ default:
+ TC_LOG_ERROR("sql.sql", "%s Invalid ConditionSourceType in `condition` table, ignoring.", cond->ToString().c_str());
+ return false;
}
return true;
@@ -1867,18 +1862,6 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const
bool ConditionMgr::isConditionTypeValid(Condition* cond) const
{
- if (cond->ConditionType == CONDITION_NONE || cond->ConditionType >= CONDITION_MAX)
- {
- TC_LOG_ERROR("sql.sql", "%s Invalid ConditionType in `condition` table, ignoring.", cond->ToString().c_str());
- return false;
- }
-
- if (cond->ConditionTarget >= cond->GetMaxAvailableConditionTargets())
- {
- TC_LOG_ERROR("sql.sql", "%s in `condition` table, has incorrect ConditionTarget set, ignoring.", cond->ToString(true).c_str());
- return false;
- }
-
switch (cond->ConditionType)
{
case CONDITION_AURA:
@@ -2302,10 +2285,6 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) const
}
break;
}
- case CONDITION_INSTANCE_INFO:
- case CONDITION_AREAID:
- case CONDITION_ALIVE:
- break;
case CONDITION_REALM_ACHIEVEMENT:
{
AchievementEntry const* achievement = sAchievementStore.LookupEntry(cond->ConditionValue1);
@@ -2355,11 +2334,23 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond) const
return false;
}
break;
+ case CONDITION_INSTANCE_INFO:
+ case CONDITION_AREAID:
+ case CONDITION_ALIVE:
case CONDITION_IN_WATER:
+ case CONDITION_TERRAIN_SWAP:
case CONDITION_CHARMED:
case CONDITION_TAXI:
- default:
break;
+ default:
+ TC_LOG_ERROR("sql.sql", "%s Invalid ConditionType in `condition` table, ignoring.", cond->ToString().c_str());
+ return false;
+ }
+
+ if (cond->ConditionTarget >= cond->GetMaxAvailableConditionTargets())
+ {
+ TC_LOG_ERROR("sql.sql", "%s in `condition` table, has incorrect ConditionTarget set, ignoring.", cond->ToString(true).c_str());
+ return false;
}
if (cond->ConditionValue1 && !StaticConditionTypeData[cond->ConditionType].HasConditionValue1)