1874{
1876 {
1878 return false;
1879 }
1881 {
1884 return false;
1885 default:
1886 break;
1887 }
1888
1890 {
1891 LOG_ERROR(
"sql.sql",
"SourceType {}, SourceEntry {} in `condition` table, has incorrect ConditionTarget set, ignoring.", cond->
SourceType, cond->
SourceEntry);
1892 return false;
1893 }
1894
1896 {
1898 {
1900 {
1902 return false;
1903 }
1904
1906 {
1907 LOG_ERROR(
"sql.sql",
"Aura condition has non existing effect index ({}) (must be 0..2), skipped", cond->
ConditionValue2);
1908 return false;
1909 }
1912 break;
1913 }
1915 {
1917 if (!proto)
1918 {
1920 return false;
1921 }
1922
1924 {
1926 return false;
1927 }
1928 break;
1929 }
1931 {
1933 if (!proto)
1934 {
1936 return false;
1937 }
1938
1943 break;
1944 }
1946 {
1948 if (!areaEntry)
1949 {
1951 return false;
1952 }
1953
1954 if (areaEntry->
zone != 0)
1955 {
1956 LOG_ERROR(
"sql.sql",
"ZoneID condition requires to be in area ({}) which is a subzone but zone expected, skipped", cond->
ConditionValue1);
1957 return false;
1958 }
1959
1964 break;
1965 }
1967 {
1969 if (!factionEntry)
1970 {
1972 return false;
1973 }
1976 break;
1977 }
1979 {
1981 {
1983 return false;
1984 }
1985
1990 break;
1991 }
1993 {
1995 if (!pSkill)
1996 {
1998 return false;
1999 }
2000
2002 {
2004 return false;
2005 }
2008 break;
2009 }
2016 {
2018 {
2020 return false;
2021 }
2022
2024 {
2026 }
2028 {
2030 }
2031 break;
2032 }
2035 {
2037 return false;
2038 }
2039 break;
2041 {
2044 {
2046 return false;
2047 }
2048
2053 break;
2054 }
2056 {
2058 if (!achievement)
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 }
2091
2096 break;
2097 }
2099 {
2101 {
2103 return false;
2104 }
2105
2110 break;
2111 }
2113 {
2115 if (!mapId)
2116 {
2118 return false;
2119 }
2120
2125 break;
2126 }
2128 {
2130 {
2132 return false;
2133 }
2134
2139 break;
2140 }
2142 {
2144 {
2146 return false;
2147 }
2150 break;
2151 }
2153 {
2155 {
2157 return false;
2158 }
2160 {
2162 return false;
2163 }
2166 break;
2167 }
2169 {
2171 {
2172 LOG_ERROR(
"sql.sql",
"NearCreature condition has non existing creature template entry ({}), skipped", cond->
ConditionValue1);
2173 return false;
2174 }
2175 break;
2176 }
2178 {
2180 {
2181 LOG_ERROR(
"sql.sql",
"NearGameObject condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue1);
2182 return false;
2183 }
2186 break;
2187 }
2189 {
2191 {
2194 {
2195 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature template entry ({}), skipped", cond->
ConditionValue2);
2196 return false;
2197 }
2199 {
2201 {
2203 {
2205 return false;
2206 }
2207 }
2208 else
2209 {
2210 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing creature guid ({}), skipped", cond->
ConditionValue3);
2211 return false;
2212 }
2213 }
2214 break;
2217 {
2218 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject template entry ({}), skipped", cond->
ConditionValue2);
2219 return false;
2220 }
2222 {
2224 {
2226 {
2228 return false;
2229 }
2230 }
2231 else
2232 {
2233 LOG_ERROR(
"sql.sql",
"ObjectEntryGuid condition has non existing gameobject guid ({}), skipped", cond->
ConditionValue3);
2234 return false;
2235 }
2236 }
2237 break;
2244 break;
2245 default:
2247 return false;
2248 }
2249 break;
2250 }
2252 {
2254 {
2256 return false;
2257 }
2262 break;
2263 }
2265 {
2267 {
2268 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2269 return false;
2270 }
2272 {
2273 LOG_ERROR(
"sql.sql",
"RelationTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2274 return false;
2275 }
2277 {
2278 LOG_ERROR(
"sql.sql",
"RelationTo condition has invalid ConditionValue2(RelationType) ({}), skipped", cond->
ConditionValue2);
2279 return false;
2280 }
2283 break;
2284 }
2286 {
2288 {
2289 LOG_ERROR(
"sql.sql",
"ReactionTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2290 return false;
2291 }
2293 {
2294 LOG_ERROR(
"sql.sql",
"ReactionTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2295 return false;
2296 }
2298 {
2299 LOG_ERROR(
"sql.sql",
"mConditionValue2 condition has invalid ConditionValue2(rankMask) ({}), skipped", cond->
ConditionValue2);
2300 return false;
2301 }
2302 break;
2303 }
2305 {
2307 {
2308 LOG_ERROR(
"sql.sql",
"DistanceTo condition has invalid ConditionValue1(ConditionTarget selection) ({}), skipped", cond->
ConditionValue1);
2309 return false;
2310 }
2312 {
2313 LOG_ERROR(
"sql.sql",
"DistanceTo condition has ConditionValue1(ConditionTarget selection) set to self ({}), skipped", cond->
ConditionValue1);
2314 return false;
2315 }
2317 {
2319 return false;
2320 }
2321 break;
2322 }
2324 {
2331 break;
2332 }
2334 {
2336 {
2338 return false;
2339 }
2342 break;
2343 }
2345 {
2347 {
2349 return false;
2350 }
2352 {
2354 return false;
2355 }
2358 break;
2359 }
2362 break;
2364 {
2367 break;
2368 }
2370 {
2375 break;
2376 }
2378 {
2380 if (!titleEntry)
2381 {
2383 return false;
2384 }
2385 break;
2386 }
2388 {
2390 {
2391 LOG_ERROR(
"condition",
"SpawnMask condition has non existing SpawnMask in value1 ({}), skipped", cond->
ConditionValue1);
2392 return false;
2393 }
2394 break;
2395 }
2397 {
2399 {
2400 LOG_ERROR(
"condition",
"UnitState condition has non existing UnitState in value1 ({}), skipped", cond->
ConditionValue1);
2401 return false;
2402 }
2403 break;
2404 }
2406 {
2408 {
2409 LOG_ERROR(
"condition",
"CreatureType condition has non existing CreatureType in value1 ({}), skipped", cond->
ConditionValue1);
2410 return false;
2411 }
2412 break;
2413 }
2415 {
2417 if (!achievement)
2418 {
2419 LOG_ERROR(
"condition",
"CONDITION_REALM_ACHIEVEMENT has non existing realm first achivement id ({}), skipped.", cond->
ConditionValue1);
2420 return false;
2421 }
2422 break;
2423 }
2425 {
2427 if (!quest)
2428 {
2429 LOG_ERROR(
"sql.sql",
"CONDITION_QUEST_OBJECTIVE_PROGRESS points to non-existing quest ({}), skipped.", cond->
ConditionValue1);
2430 return false;
2431 }
2432
2434 {
2435 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);
2436 return false;
2437 }
2438
2440 {
2442 return false;
2443 }
2444
2446 {
2448 return false;
2449 }
2450 break;
2451 }
2453 {
2455 {
2457 return false;
2458 }
2459 break;
2460 }
2462 {
2463 bool valid = false;
2465 {
2466 case 0:
2468 break;
2469 case 1:
2471 break;
2472 default:
2473 valid = false;
2474 break;
2475 }
2476 if (!valid)
2477 {
2479 return false;
2480 }
2481 break;
2482 }
2485 {
2486 LOG_ERROR(
"sql.sql",
"CONDITION_DIFFICULTY_ID has non existing difficulty in value1 ({}), skipped.", cond->
ConditionValue1);
2487 return false;
2488 }
2489 break;
2492 {
2494 return false;
2495 }
2497 {
2499 return false;
2500 }
2503 break;
2506 {
2508 return false;
2509 }
2510 break;
2514 default:
2515 break;
2516 }
2517 return true;
2518}
@ 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:452
@ MAX_QUEST_STATUS
Definition QuestDef.h:107
#define sRaceMgr
Definition RaceMgr.h:52
@ EFFECT_2
Definition SharedDefines.h:33
@ CREATURE_TYPE_GAS_CLOUD
Definition SharedDefines.h:2636
@ ALLIANCE
Definition SharedDefines.h:756
@ HORDE
Definition SharedDefines.h:755
#define CLASSMASK_ALL_PLAYABLE
Definition SharedDefines.h:142
@ TOTAL_AURAS
Definition SpellAuraDefines.h:380
@ SPELL_AURA_NONE
Definition SpellAuraDefines.h:63
@ UNIT_STAND_STATE_SUBMERGED
Definition UnitDefines.h:44
@ UNIT_STATE_ALL_STATE_SUPPORTED
Definition UnitDefines.h:207
@ 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:1589
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:823
Definition CreatureData.h:370
Definition DBCStructure.h:907
Definition GameObjectData.h:715
Definition ItemTemplate.h:619
Definition DBCStructure.h:1325
Definition DBCStructure.h:1583