1873{
1875 {
1877 return false;
1878 }
1880 {
1883 return false;
1884 default:
1885 break;
1886 }
1887
1889 {
1890 LOG_ERROR(
"sql.sql",
"SourceType {}, SourceEntry {} in `condition` table, has incorrect ConditionTarget set, ignoring.", cond->
SourceType, cond->
SourceEntry);
1891 return false;
1892 }
1893
1895 {
1897 {
1899 {
1901 return false;
1902 }
1903
1905 {
1906 LOG_ERROR(
"sql.sql",
"Aura condition has non existing effect index ({}) (must be 0..2), skipped", cond->
ConditionValue2);
1907 return false;
1908 }
1911 break;
1912 }
1914 {
1916 if (!proto)
1917 {
1919 return false;
1920 }
1921
1923 {
1925 return false;
1926 }
1927 break;
1928 }
1930 {
1932 if (!proto)
1933 {
1935 return false;
1936 }
1937
1942 break;
1943 }
1945 {
1947 if (!areaEntry)
1948 {
1950 return false;
1951 }
1952
1953 if (areaEntry->
zone != 0)
1954 {
1955 LOG_ERROR(
"sql.sql",
"ZoneID condition requires to be in area ({}) which is a subzone but zone expected, skipped", cond->
ConditionValue1);
1956 return false;
1957 }
1958
1963 break;
1964 }
1966 {
1968 if (!factionEntry)
1969 {
1971 return false;
1972 }
1975 break;
1976 }
1978 {
1980 {
1982 return false;
1983 }
1984
1989 break;
1990 }
1992 {
1994 if (!pSkill)
1995 {
1997 return false;
1998 }
1999
2001 {
2003 return false;
2004 }
2007 break;
2008 }
2015 {
2017 {
2019 return false;
2020 }
2021
2023 {
2025 }
2027 {
2029 }
2030 break;
2031 }
2034 {
2036 return false;
2037 }
2038 break;
2040 {
2043 {
2045 return false;
2046 }
2047
2052 break;
2053 }
2055 {
2057 if (!achievement)
2058 {
2060 return false;
2061 }
2062
2067 break;
2068 }
2070 {
2072 {
2074 return false;
2075 }
2076
2081 break;
2082 }
2084 {
2086 {
2088 return false;
2089 }
2090
2095 break;
2096 }
2098 {
2100 {
2102 return false;
2103 }
2104
2109 break;
2110 }
2112 {
2114 if (!mapId)
2115 {
2117 return false;
2118 }
2119
2124 break;
2125 }
2127 {
2129 {
2131 return false;
2132 }
2133
2138 break;
2139 }
2141 {
2143 {
2145 return false;
2146 }
2149 break;
2150 }
2152 {
2154 {
2156 return false;
2157 }
2159 {
2161 return false;
2162 }
2165 break;
2166 }
2168 {
2170 {
2171 LOG_ERROR(
"sql.sql",
"NearCreature condition has non existing creature template entry ({}), skipped", cond->
ConditionValue1);
2172 return false;
2173 }
2174 break;
2175 }
2177 {
2179 {
2180 LOG_ERROR(
"sql.sql",
"NearGameObject condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue1);
2181 return false;
2182 }
2185 break;
2186 }
2188 {
2190 {
2193 {
2194 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature template entry ({}), skipped", cond->
ConditionValue2);
2195 return false;
2196 }
2198 {
2200 {
2202 {
2204 return false;
2205 }
2206 }
2207 else
2208 {
2209 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature guid ({}), skipped", cond->
ConditionValue3);
2210 return false;
2211 }
2212 }
2213 break;
2216 {
2217 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue2);
2218 return false;
2219 }
2221 {
2223 {
2225 {
2227 return false;
2228 }
2229 }
2230 else
2231 {
2232 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject guid ({}), skipped", cond->
ConditionValue3);
2233 return false;
2234 }
2235 }
2236 break;
2243 break;
2244 default:
2246 return false;
2247 }
2248 break;
2249 }
2251 {
2253 {
2255 return false;
2256 }
2261 break;
2262 }
2264 {
2266 {
2267 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2268 return false;
2269 }
2271 {
2272 LOG_ERROR(
"sql.sql",
"RelationTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2273 return false;
2274 }
2276 {
2277 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue2(RelationType) ({}), skipped", cond->
ConditionValue2);
2278 return false;
2279 }
2282 break;
2283 }
2285 {
2287 {
2288 LOG_ERROR(
"sql.sql",
"ReactionTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2289 return false;
2290 }
2292 {
2293 LOG_ERROR(
"sql.sql",
"ReactionTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2294 return false;
2295 }
2297 {
2298 LOG_ERROR(
"sql.sql",
"mConditionValue2 condition has invalid ConditionValue2(rankMask) ({}), skipped", cond->
ConditionValue2);
2299 return false;
2300 }
2301 break;
2302 }
2304 {
2306 {
2307 LOG_ERROR(
"sql.sql",
"DistanceTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2308 return false;
2309 }
2311 {
2312 LOG_ERROR(
"sql.sql",
"DistanceTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2313 return false;
2314 }
2316 {
2318 return false;
2319 }
2320 break;
2321 }
2323 {
2330 break;
2331 }
2333 {
2335 {
2337 return false;
2338 }
2341 break;
2342 }
2344 {
2346 {
2348 return false;
2349 }
2351 {
2353 return false;
2354 }
2357 break;
2358 }
2361 break;
2363 {
2366 break;
2367 }
2369 {
2374 break;
2375 }
2377 {
2379 if (!titleEntry)
2380 {
2382 return false;
2383 }
2384 break;
2385 }
2387 {
2389 {
2390 LOG_ERROR(
"condition",
"SpawnMask condition has non existing SpawnMask in value1 ({}), skipped", cond->
ConditionValue1);
2391 return false;
2392 }
2393 break;
2394 }
2396 {
2398 {
2399 LOG_ERROR(
"condition",
"UnitState condition has non existing UnitState in value1 ({}), skipped", cond->
ConditionValue1);
2400 return false;
2401 }
2402 break;
2403 }
2405 {
2407 {
2408 LOG_ERROR(
"condition",
"CreatureType condition has non existing CreatureType in value1 ({}), skipped", cond->
ConditionValue1);
2409 return false;
2410 }
2411 break;
2412 }
2414 {
2416 if (!achievement)
2417 {
2418 LOG_ERROR(
"condition",
"CONDITION_REALM_ACHIEVEMENT has non existing realm first achivement id ({}), skipped.", cond->
ConditionValue1);
2419 return false;
2420 }
2421 break;
2422 }
2424 {
2426 if (!quest)
2427 {
2428 LOG_ERROR(
"sql.sql",
"CONDITION_QUEST_OBJECTIVE_PROGRESS points to non-existing quest ({}), skipped.", cond->
ConditionValue1);
2429 return false;
2430 }
2431
2433 {
2434 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);
2435 return false;
2436 }
2437
2439 {
2441 return false;
2442 }
2443
2445 {
2447 return false;
2448 }
2449 break;
2450 }
2452 {
2454 {
2456 return false;
2457 }
2458 break;
2459 }
2461 {
2462 bool valid = false;
2464 {
2465 case 0:
2467 break;
2468 case 1:
2470 break;
2471 default:
2472 valid = false;
2473 break;
2474 }
2475 if (!valid)
2476 {
2478 return false;
2479 }
2480 break;
2481 }
2484 {
2485 LOG_ERROR(
"sql.sql",
"CONDITION_DIFFICULTY_ID has non existing difficulty in value1 ({}), skipped.", cond->
ConditionValue1);
2486 return false;
2487 }
2488 break;
2491 {
2493 return false;
2494 }
2496 {
2498 return false;
2499 }
2502 break;
2505 {
2507 return false;
2508 }
2509 break;
2513 default:
2514 break;
2515 }
2516 return true;
2517}
@ CONDITION_TAXI
Definition ConditionMgr.h:80
@ CONDITION_PLAYER_QUEUED_RANDOM_DUNGEON
Definition ConditionMgr.h:91
@ CONDITION_MAPID
Definition ConditionMgr.h:56
@ CONDITION_SKILL
Definition ConditionMgr.h:41
@ CONDITION_RACE
Definition ConditionMgr.h:50
@ CONDITION_REACTION_TO
Definition ConditionMgr.h:68
@ CONDITION_NEAR_GAMEOBJECT
Definition ConditionMgr.h:64
@ CONDITION_QUESTREWARDED
Definition ConditionMgr.h:42
@ CONDITION_REALM_ACHIEVEMENT
Definition ConditionMgr.h:73
@ CONDITION_PHASEMASK
Definition ConditionMgr.h:60
@ CONDITION_QUEST_OBJECTIVE_PROGRESS
Definition ConditionMgr.h:82
@ CONDITION_DAILY_QUEST_DONE
Definition ConditionMgr.h:77
@ CONDITION_ACTIVE_EVENT
Definition ConditionMgr.h:46
@ CONDITION_INSTANCE_INFO
Definition ConditionMgr.h:47
@ CONDITION_RELATION_TO
Definition ConditionMgr.h:67
@ CONDITION_STAND_STATE
Definition ConditionMgr.h:76
@ CONDITION_DRUNKENSTATE
Definition ConditionMgr.h:44
@ CONDITION_AURA
Definition ConditionMgr.h:35
@ CONDITION_ACHIEVEMENT
Definition ConditionMgr.h:51
@ CONDITION_TC_END
Definition ConditionMgr.h:84
@ CONDITION_OBJECT_ENTRY_GUID
Definition ConditionMgr.h:65
@ CONDITION_PET_TYPE
Definition ConditionMgr.h:79
@ CONDITION_DIFFICULTY_ID
Definition ConditionMgr.h:83
@ CONDITION_DISTANCE_TO
Definition ConditionMgr.h:69
@ CONDITION_HP_VAL
Definition ConditionMgr.h:71
@ CONDITION_GENDER
Definition ConditionMgr.h:54
@ CONDITION_TERRAIN_SWAP
Definition ConditionMgr.h:75
@ CONDITION_REPUTATION_RANK
Definition ConditionMgr.h:39
@ CONDITION_HP_PCT
Definition ConditionMgr.h:72
@ CONDITION_QUEST_COMPLETE
Definition ConditionMgr.h:62
@ CONDITION_SPELL
Definition ConditionMgr.h:59
@ CONDITION_ZONEID
Definition ConditionMgr.h:38
@ CONDITION_CHARMED
Definition ConditionMgr.h:78
@ CONDITION_AC_START
Definition ConditionMgr.h:86
@ CONDITION_TYPE_MASK
Definition ConditionMgr.h:66
@ CONDITION_AREAID
Definition ConditionMgr.h:57
@ CONDITION_IN_WATER
Definition ConditionMgr.h:74
@ CONDITION_ITEM
Definition ConditionMgr.h:36
@ CONDITION_WORLD_STATE
Definition ConditionMgr.h:45
@ CONDITION_SPAWNMASK
Definition ConditionMgr.h:53
@ CONDITION_CLASS
Definition ConditionMgr.h:49
@ CONDITION_TEAM
Definition ConditionMgr.h:40
@ CONDITION_NONE
Definition ConditionMgr.h:34
@ CONDITION_QUEST_NONE
Definition ConditionMgr.h:48
@ CONDITION_QUESTSTATE
Definition ConditionMgr.h:81
@ CONDITION_ITEM_EQUIPPED
Definition ConditionMgr.h:37
@ CONDITION_QUEST_SATISFY_EXCLUSIVE
Definition ConditionMgr.h:87
@ CONDITION_LEVEL
Definition ConditionMgr.h:61
@ CONDITION_QUESTTAKEN
Definition ConditionMgr.h:43
@ CONDITION_NEAR_CREATURE
Definition ConditionMgr.h:63
@ CONDITION_TITLE
Definition ConditionMgr.h:52
@ CONDITION_AC_END
Definition ConditionMgr.h:93
@ CONDITION_ALIVE
Definition ConditionMgr.h:70
@ CONDITION_CREATURE_TYPE
Definition ConditionMgr.h:58
@ CONDITION_UNIT_STATE
Definition ConditionMgr.h:55
@ CONDITION_HAS_AURA_TYPE
Definition ConditionMgr.h:88
@ RELATION_MAX
Definition ConditionMgr.h:167
#define MAX_DIFFICULTY
Definition DBCEnums.h:283
@ SPAWNMASK_RAID_ALL
Definition DBCEnums.h:301
DBCStorage< CharTitlesEntry > sCharTitlesStore(CharTitlesEntryfmt)
DBCStorage< FactionEntry > sFactionStore(FactionEntryfmt)
DBCStorage< AchievementEntry > sAchievementStore(Achievementfmt)
DBCStorage< SkillLineEntry > sSkillLineStore(SkillLinefmt)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
#define sGameEventMgr
Definition GameEventMgr.h:201
@ TYPEID_GAMEOBJECT
Definition ObjectGuid.h:37
@ TYPEID_UNIT
Definition ObjectGuid.h:35
@ TYPEID_CORPSE
Definition ObjectGuid.h:39
@ TYPEID_PLAYER
Definition ObjectGuid.h:36
@ TYPEMASK_UNIT
Definition ObjectGuid.h:49
@ TYPEMASK_CORPSE
Definition ObjectGuid.h:53
@ TYPEMASK_GAMEOBJECT
Definition ObjectGuid.h:51
@ TYPEMASK_PLAYER
Definition ObjectGuid.h:50
@ MAX_PET_TYPE
Definition PetDefines.h:34
@ DRUNKEN_SMASHED
Definition Player.h:453
@ MAX_QUEST_STATUS
Definition QuestDef.h:107
@ EFFECT_2
Definition SharedDefines.h:33
@ CREATURE_TYPE_GAS_CLOUD
Definition SharedDefines.h:2641
@ ALLIANCE
Definition SharedDefines.h:779
@ HORDE
Definition SharedDefines.h:778
#define CLASSMASK_ALL_PLAYABLE
Definition SharedDefines.h:157
#define RACEMASK_ALL_PLAYABLE
Definition SharedDefines.h:97
@ TOTAL_AURAS
Definition SpellAuraDefines.h:380
@ SPELL_AURA_NONE
Definition SpellAuraDefines.h:63
@ UNIT_STAND_STATE_SUBMERGED
Definition UnitDefines.h:41
@ UNIT_STATE_ALL_STATE_SUPPORTED
Definition UnitDefines.h:204
@ COMP_TYPE_MAX
Definition Util.h:584
events
Definition boss_sartura.cpp:43
std::vector< GameEventData > GameEventDataMap
Definition GameEventMgr.h:107
static bool IsValidGender(uint8 Gender)
Definition Player.h:1565
Definition QuestDef.h:210
int32 RequiredNpcOrGo[QUEST_OBJECTIVES_COUNT]
Definition QuestDef.h:305
uint32 RequiredNpcOrGoCount[QUEST_OBJECTIVES_COUNT]
Definition QuestDef.h:306
#define sWorld
Definition World.h:316
ObjectData const creatureData[]
Definition instance_blackwing_lair.cpp:45
Definition DBCStructure.h:40
Definition DBCStructure.h:519
uint32 zone
Definition DBCStructure.h:522
Definition DBCStructure.h:632
ConditionTypes ConditionType
Definition ConditionMgr.h:203
ConditionSourceType SourceType
Definition ConditionMgr.h:198
uint32 ConditionValue2
Definition ConditionMgr.h:205
uint8 ConditionTarget
Definition ConditionMgr.h:211
uint32 ConditionValue3
Definition ConditionMgr.h:206
uint32 ConditionValue1
Definition ConditionMgr.h:204
uint32 GetMaxAvailableConditionTargets()
Definition ConditionMgr.cpp:822
Definition CreatureData.h:366
Definition DBCStructure.h:907
Definition GameObjectData.h:712
Definition ItemTemplate.h:619
Definition DBCStructure.h:1325
Definition DBCStructure.h:1583