1817{
1819 {
1821 return false;
1822 }
1824 {
1827 return false;
1828 default:
1829 break;
1830 }
1831
1833 {
1834 LOG_ERROR(
"sql.sql",
"SourceType {}, SourceEntry {} in `condition` table, has incorrect ConditionTarget set, ignoring.", cond->
SourceType, cond->
SourceEntry);
1835 return false;
1836 }
1837
1839 {
1841 {
1843 {
1845 return false;
1846 }
1847
1849 {
1850 LOG_ERROR(
"sql.sql",
"Aura condition has non existing effect index ({}) (must be 0..2), skipped", cond->
ConditionValue2);
1851 return false;
1852 }
1855 break;
1856 }
1858 {
1860 if (!proto)
1861 {
1863 return false;
1864 }
1865
1867 {
1869 return false;
1870 }
1871 break;
1872 }
1874 {
1876 if (!proto)
1877 {
1879 return false;
1880 }
1881
1886 break;
1887 }
1889 {
1891 if (!areaEntry)
1892 {
1894 return false;
1895 }
1896
1897 if (areaEntry->
zone != 0)
1898 {
1899 LOG_ERROR(
"sql.sql",
"ZoneID condition requires to be in area ({}) which is a subzone but zone expected, skipped", cond->
ConditionValue1);
1900 return false;
1901 }
1902
1907 break;
1908 }
1910 {
1912 if (!factionEntry)
1913 {
1915 return false;
1916 }
1919 break;
1920 }
1922 {
1924 {
1926 return false;
1927 }
1928
1933 break;
1934 }
1936 {
1938 if (!pSkill)
1939 {
1941 return false;
1942 }
1943
1945 {
1947 return false;
1948 }
1951 break;
1952 }
1959 {
1961 {
1963 return false;
1964 }
1965
1967 {
1969 }
1971 {
1973 }
1974 break;
1975 }
1978 {
1980 return false;
1981 }
1982 break;
1984 {
1987 {
1989 return false;
1990 }
1991
1996 break;
1997 }
1999 {
2001 if (!achievement)
2002 {
2004 return false;
2005 }
2006
2011 break;
2012 }
2014 {
2016 {
2018 return false;
2019 }
2020
2025 break;
2026 }
2028 {
2030 {
2032 return false;
2033 }
2034
2039 break;
2040 }
2042 {
2044 {
2046 return false;
2047 }
2048
2053 break;
2054 }
2056 {
2058 if (!mapId)
2059 {
2061 return false;
2062 }
2063
2068 break;
2069 }
2071 {
2073 {
2075 return false;
2076 }
2077
2082 break;
2083 }
2085 {
2087 {
2089 return false;
2090 }
2093 break;
2094 }
2096 {
2098 {
2100 return false;
2101 }
2103 {
2105 return false;
2106 }
2109 break;
2110 }
2112 {
2114 {
2115 LOG_ERROR(
"sql.sql",
"NearCreature condition has non existing creature template entry ({}), skipped", cond->
ConditionValue1);
2116 return false;
2117 }
2118 break;
2119 }
2121 {
2123 {
2124 LOG_ERROR(
"sql.sql",
"NearGameObject condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue1);
2125 return false;
2126 }
2129 break;
2130 }
2132 {
2134 {
2137 {
2138 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature template entry ({}), skipped", cond->
ConditionValue2);
2139 return false;
2140 }
2142 {
2144 {
2146 {
2148 return false;
2149 }
2150 }
2151 else
2152 {
2153 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature guid ({}), skipped", cond->
ConditionValue3);
2154 return false;
2155 }
2156 }
2157 break;
2160 {
2161 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue2);
2162 return false;
2163 }
2165 {
2167 {
2169 {
2171 return false;
2172 }
2173 }
2174 else
2175 {
2176 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject guid ({}), skipped", cond->
ConditionValue3);
2177 return false;
2178 }
2179 }
2180 break;
2187 break;
2188 default:
2190 return false;
2191 }
2192 break;
2193 }
2195 {
2197 {
2199 return false;
2200 }
2205 break;
2206 }
2208 {
2210 {
2211 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2212 return false;
2213 }
2215 {
2216 LOG_ERROR(
"sql.sql",
"RelationTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2217 return false;
2218 }
2220 {
2221 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue2(RelationType) ({}), skipped", cond->
ConditionValue2);
2222 return false;
2223 }
2226 break;
2227 }
2229 {
2231 {
2232 LOG_ERROR(
"sql.sql",
"ReactionTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2233 return false;
2234 }
2236 {
2237 LOG_ERROR(
"sql.sql",
"ReactionTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2238 return false;
2239 }
2241 {
2242 LOG_ERROR(
"sql.sql",
"mConditionValue2 condition has invalid ConditionValue2(rankMask) ({}), skipped", cond->
ConditionValue2);
2243 return false;
2244 }
2245 break;
2246 }
2248 {
2250 {
2251 LOG_ERROR(
"sql.sql",
"DistanceTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2252 return false;
2253 }
2255 {
2256 LOG_ERROR(
"sql.sql",
"DistanceTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2257 return false;
2258 }
2260 {
2262 return false;
2263 }
2264 break;
2265 }
2267 {
2274 break;
2275 }
2277 {
2279 {
2281 return false;
2282 }
2285 break;
2286 }
2288 {
2290 {
2292 return false;
2293 }
2295 {
2297 return false;
2298 }
2301 break;
2302 }
2305 break;
2307 {
2310 break;
2311 }
2313 {
2318 break;
2319 }
2321 {
2323 if (!titleEntry)
2324 {
2326 return false;
2327 }
2328 break;
2329 }
2331 {
2333 {
2334 LOG_ERROR(
"condition",
"SpawnMask condition has non existing SpawnMask in value1 ({}), skipped", cond->
ConditionValue1);
2335 return false;
2336 }
2337 break;
2338 }
2340 {
2342 {
2343 LOG_ERROR(
"condition",
"UnitState condition has non existing UnitState in value1 ({}), skipped", cond->
ConditionValue1);
2344 return false;
2345 }
2346 break;
2347 }
2349 {
2351 {
2352 LOG_ERROR(
"condition",
"CreatureType condition has non existing CreatureType in value1 ({}), skipped", cond->
ConditionValue1);
2353 return false;
2354 }
2355 break;
2356 }
2358 {
2360 if (!achievement)
2361 {
2362 LOG_ERROR(
"condition",
"CONDITION_REALM_ACHIEVEMENT has non existing realm first achivement id ({}), skipped.", cond->
ConditionValue1);
2363 return false;
2364 }
2365 break;
2366 }
2368 {
2370 if (!quest)
2371 {
2372 LOG_ERROR(
"sql.sql",
"CONDITION_QUEST_OBJECTIVE_PROGRESS points to non-existing quest ({}), skipped.", cond->
ConditionValue1);
2373 return false;
2374 }
2375
2377 {
2378 LOG_ERROR(
"sql.sql",
"CONDITION_QUEST_OBJECTIVE_PROGRESS has out-of-range quest objective index specified ({}), it must be a number between 0 and 3. skipped.", cond->
ConditionValue2);
2379 return false;
2380 }
2381
2383 {
2385 return false;
2386 }
2387
2389 {
2391 return false;
2392 }
2393 break;
2394 }
2396 {
2398 {
2400 return false;
2401 }
2402 break;
2403 }
2405 {
2406 bool valid = false;
2408 {
2409 case 0:
2411 break;
2412 case 1:
2414 break;
2415 default:
2416 valid = false;
2417 break;
2418 }
2419 if (!valid)
2420 {
2422 return false;
2423 }
2424 break;
2425 }
2428 {
2429 LOG_ERROR(
"sql.sql",
"CONDITION_DIFFICULTY_ID has non existing difficulty in value1 ({}), skipped.", cond->
ConditionValue1);
2430 return false;
2431 }
2432 break;
2435 {
2437 return false;
2438 }
2439 break;
2443 default:
2444 break;
2445 }
2446 return true;
2447}
@ COMP_TYPE_MAX
Definition: Util.h:588
@ CONDITION_TAXI
Definition: ConditionMgr.h:81
@ CONDITION_MAPID
Definition: ConditionMgr.h:57
@ CONDITION_SKILL
Definition: ConditionMgr.h:42
@ CONDITION_RACE
Definition: ConditionMgr.h:51
@ CONDITION_REACTION_TO
Definition: ConditionMgr.h:69
@ CONDITION_NEAR_GAMEOBJECT
Definition: ConditionMgr.h:65
@ CONDITION_QUESTREWARDED
Definition: ConditionMgr.h:43
@ CONDITION_REALM_ACHIEVEMENT
Definition: ConditionMgr.h:74
@ CONDITION_PHASEMASK
Definition: ConditionMgr.h:61
@ CONDITION_QUEST_OBJECTIVE_PROGRESS
Definition: ConditionMgr.h:83
@ CONDITION_DAILY_QUEST_DONE
Definition: ConditionMgr.h:78
@ CONDITION_ACTIVE_EVENT
Definition: ConditionMgr.h:47
@ CONDITION_INSTANCE_INFO
Definition: ConditionMgr.h:48
@ CONDITION_RELATION_TO
Definition: ConditionMgr.h:68
@ CONDITION_STAND_STATE
Definition: ConditionMgr.h:77
@ CONDITION_DRUNKENSTATE
Definition: ConditionMgr.h:45
@ CONDITION_AURA
Definition: ConditionMgr.h:36
@ CONDITION_ACHIEVEMENT
Definition: ConditionMgr.h:52
@ CONDITION_TC_END
Definition: ConditionMgr.h:85
@ CONDITION_OBJECT_ENTRY_GUID
Definition: ConditionMgr.h:66
@ CONDITION_PET_TYPE
Definition: ConditionMgr.h:80
@ CONDITION_DIFFICULTY_ID
Definition: ConditionMgr.h:84
@ CONDITION_DISTANCE_TO
Definition: ConditionMgr.h:70
@ CONDITION_HP_VAL
Definition: ConditionMgr.h:72
@ CONDITION_GENDER
Definition: ConditionMgr.h:55
@ CONDITION_TERRAIN_SWAP
Definition: ConditionMgr.h:76
@ CONDITION_REPUTATION_RANK
Definition: ConditionMgr.h:40
@ CONDITION_HP_PCT
Definition: ConditionMgr.h:73
@ CONDITION_QUEST_COMPLETE
Definition: ConditionMgr.h:63
@ CONDITION_SPELL
Definition: ConditionMgr.h:60
@ CONDITION_ZONEID
Definition: ConditionMgr.h:39
@ CONDITION_CHARMED
Definition: ConditionMgr.h:79
@ CONDITION_AC_START
Definition: ConditionMgr.h:87
@ CONDITION_TYPE_MASK
Definition: ConditionMgr.h:67
@ CONDITION_AREAID
Definition: ConditionMgr.h:58
@ CONDITION_IN_WATER
Definition: ConditionMgr.h:75
@ CONDITION_ITEM
Definition: ConditionMgr.h:37
@ CONDITION_WORLD_STATE
Definition: ConditionMgr.h:46
@ CONDITION_SPAWNMASK
Definition: ConditionMgr.h:54
@ CONDITION_CLASS
Definition: ConditionMgr.h:50
@ CONDITION_TEAM
Definition: ConditionMgr.h:41
@ CONDITION_NONE
Definition: ConditionMgr.h:35
@ CONDITION_QUEST_NONE
Definition: ConditionMgr.h:49
@ CONDITION_QUESTSTATE
Definition: ConditionMgr.h:82
@ CONDITION_ITEM_EQUIPPED
Definition: ConditionMgr.h:38
@ CONDITION_QUEST_SATISFY_EXCLUSIVE
Definition: ConditionMgr.h:88
@ CONDITION_LEVEL
Definition: ConditionMgr.h:62
@ CONDITION_QUESTTAKEN
Definition: ConditionMgr.h:44
@ CONDITION_NEAR_CREATURE
Definition: ConditionMgr.h:64
@ CONDITION_TITLE
Definition: ConditionMgr.h:53
@ CONDITION_AC_END
Definition: ConditionMgr.h:90
@ CONDITION_ALIVE
Definition: ConditionMgr.h:71
@ CONDITION_CREATURE_TYPE
Definition: ConditionMgr.h:59
@ CONDITION_UNIT_STATE
Definition: ConditionMgr.h:56
@ CONDITION_HAS_AURA_TYPE
Definition: ConditionMgr.h:89
@ RELATION_MAX
Definition: ConditionMgr.h:164
DBCStorage< CharTitlesEntry > sCharTitlesStore(CharTitlesEntryfmt)
DBCStorage< FactionEntry > sFactionStore(FactionEntryfmt)
DBCStorage< AchievementEntry > sAchievementStore(Achievementfmt)
DBCStorage< SkillLineEntry > sSkillLineStore(SkillLinefmt)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
@ TYPEID_GAMEOBJECT
Definition: ObjectGuid.h:39
@ TYPEID_UNIT
Definition: ObjectGuid.h:37
@ TYPEID_CORPSE
Definition: ObjectGuid.h:41
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
@ TYPEMASK_UNIT
Definition: ObjectGuid.h:51
@ TYPEMASK_CORPSE
Definition: ObjectGuid.h:55
@ TYPEMASK_GAMEOBJECT
Definition: ObjectGuid.h:53
@ TYPEMASK_PLAYER
Definition: ObjectGuid.h:52
@ MAX_PET_TYPE
Definition: PetDefines.h:33
@ DRUNKEN_SMASHED
Definition: Player.h:468
@ UNIT_STAND_STATE_SUBMERGED
Definition: Unit.h:62
@ UNIT_STATE_ALL_STATE_SUPPORTED
Definition: Unit.h:355
#define sGameEventMgr
Definition: GameEventMgr.h:186
@ MAX_QUEST_STATUS
Definition: QuestDef.h:107
@ TOTAL_AURAS
Definition: SpellAuraDefines.h:380
@ SPELL_AURA_NONE
Definition: SpellAuraDefines.h:63
ObjectData const creatureData[]
Definition: instance_blackwing_lair.cpp:44
events
Definition: boss_sartura.cpp:43
#define MAX_DIFFICULTY
Definition: DBCEnums.h:288
@ SPAWNMASK_RAID_ALL
Definition: DBCEnums.h:306
@ EFFECT_2
Definition: SharedDefines.h:32
@ CREATURE_TYPE_GAS_CLOUD
Definition: SharedDefines.h:2612
@ ALLIANCE
Definition: SharedDefines.h:740
@ HORDE
Definition: SharedDefines.h:739
#define CLASSMASK_ALL_PLAYABLE
Definition: SharedDefines.h:129
#define RACEMASK_ALL_PLAYABLE
Definition: SharedDefines.h:96
#define sWorld
Definition: World.h:451
ConditionTypes ConditionType
Definition: ConditionMgr.h:200
ConditionSourceType SourceType
Definition: ConditionMgr.h:195
uint32 ConditionValue2
Definition: ConditionMgr.h:202
uint8 ConditionTarget
Definition: ConditionMgr.h:208
uint32 ConditionValue3
Definition: ConditionMgr.h:203
uint32 ConditionValue1
Definition: ConditionMgr.h:201
uint32 GetMaxAvailableConditionTargets()
Definition: ConditionMgr.cpp:766
Definition: CreatureData.h:359
Definition: GameObjectData.h:697
Definition: ItemTemplate.h:628
static bool IsValidGender(uint8 Gender)
Definition: Player.h:1536
std::vector< GameEventData > GameEventDataMap
Definition: GameEventMgr.h:107
Definition: QuestDef.h:207
int32 RequiredNpcOrGo[QUEST_OBJECTIVES_COUNT]
Definition: QuestDef.h:301
uint32 RequiredNpcOrGoCount[QUEST_OBJECTIVES_COUNT]
Definition: QuestDef.h:302
Definition: DBCStructure.h:40
Definition: DBCStructure.h:519
uint32 zone
Definition: DBCStructure.h:522
Definition: DBCStructure.h:632
Definition: DBCStructure.h:898
Definition: DBCStructure.h:1308
Definition: DBCStructure.h:1556