DB: Fixed some startup errors

This commit is contained in:
joschiwald
2017-11-05 12:33:07 +01:00
parent 9a31e7d71f
commit 898bb16431
2 changed files with 21 additions and 27 deletions
@@ -0,0 +1,3 @@
--
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20;
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=24 AND `SourceEntry` IN (50685, 50686, 50687);
+18 -27
View File
@@ -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)