# conditions [<-Back-to:World](database-world.md) **The \`conditions\` table** This table allows you to define conditions for various systems - Gossip, loot etc. **Structure**
Field |
Type |
Attributes |
Key |
Null |
Default |
Extra |
Comment |
mediumint(8) |
signed |
PRI |
NO |
0 |
|
|
|
mediumint(8) |
unsigned |
PRI |
NO |
0 |
|
|
|
mediumint(8) |
signed |
PRI |
NO |
0 |
|
|
|
int(11) |
signed |
PRI |
NO |
0 |
|
smart_scripts.source_type || 0 for everything else |
|
mediumint(8) |
unsigned |
PRI |
NO |
0 |
|
|
|
mediumint(8) |
signed |
PRI |
NO |
0 |
|
|
|
tinyint(3) |
unsigned |
PRI |
NO |
0 |
|
|
|
int(10) |
unsigned |
PRI |
NO |
0 |
|
|
|
int(10) |
unsigned |
PRI |
NO |
0 |
|
|
|
int(10) |
unsigned |
PRI |
NO |
0 |
|
|
|
tinyint(3) |
unsigned |
|
NO |
0 |
|
Boolean 0 or 1 (if NegativeCondition |
|
mediumint(8) |
unsigned |
|
NO |
0 |
|
|
|
mediumint(8) |
unsigned |
|
NO |
0 |
|
|
|
char(64) |
signed |
|
NO |
' ' |
|
|
|
varchar(255) |
|
|
YES |
NULL |
|
|
SourceTypeOrReferenceId |
ID | SourceGroup | SourceEntry | SourceId | ConditionTarget | Notes |
|---|---|---|---|---|---|---|
| CONDITION_SOURCE_TYPE_NONE | 0 | See REFERENCE TEMPLATES | (REFERENCE TEMPLATES) | Always 0 | (See below) | Only used in Reference Templates! See below. |
| CONDITION_SOURCE_TYPE_CREATURE_LOOT_TEMPLATE | 1 | creature_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_DISENCHANT_LOOT_TEMPLATE | 2 | disenchant_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_FISHING_LOOT_TEMPLATE | 3 | fishing_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_GAMEOBJECT_LOOT_TEMPLATE | 4 | gameobject_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_ITEM_LOOT_TEMPLATE | 5 | item_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_MAIL_LOOT_TEMPLATE | 6 | mail_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_MILLING_LOOT_TEMPLATE | 7 | milling_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_PICKPOCKETING_LOOT_TEMPLATE | 8 | pickpocketing_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_PROSPECTING_LOOT_TEMPLATE | 9 | prospecting_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_REFERENCE_LOOT_TEMPLATE | 10 | reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_SKINNING_LOOT_TEMPLATE | 11 | skinning_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_SPELL_LOOT_TEMPLATE | 12 | spell_loot_template.Entry or reference_loot_template.Entry | item id (_loot_template.Item or reference_loot_template.Item) | Always 0 | Always 0 | |
CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET |
13 |
Mask of effects to be affected by condition: 1 = EFFECT_0, 2 = EFFECT_1, 4 = EFFECT_2 |
Spell Id from Spell.dbc | Always 0 | 0 : Potential spell Target |
Don't use wowhead to get number of effects, data from wowhead sometimes doesn't match real effect number. |
| CONDITION_SOURCE_TYPE_GOSSIP_MENU | 14 | gossip_menu.entry (gossip menu entry) | gossip_menu.text_id (points to npc_text.ID) | Always 0 | 0 = Player |
|
| CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION | 15 | gossip_menu_option.menu_id (menu entry) | gossip_menu_option.id | Always 0 | 0 = Player |
|
| CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE | 16 | Always 0 | creature entry (creature_template.entry) | Always 0 | 0 = Player riding vehicle |
|
CONDITION_SOURCE_TYPE_SPELL |
17 |
Always 0 | Spell ID from Spell.dbc |
Always 0 | 0 = spell Caster 1 = Explicit Target of the spell (only for spells which take the object selected by caster into account) |
|
| CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT | 18 | creature entry (npc_spellclick_spells.npc_entry) | Spell (npc_spellclick_spells.spell_id) | Always 0 | 0 = Clicker 1 = Spellclick target (clickee) |
|
| CONDITION_SOURCE_TYPE_QUEST_AVAILABLE | 19 | Always 0 | Quest ID | Always 0 | Always 0 | Condition must be met for quest to be available to player. |
| UNUSED | 20 | |||||
CONDITION_SOURCE_TYPE_VEHICLE_SPELL |
21 |
creature entry (creature_template.entry) | Spell ID from Spell.dbc |
Always 0 | 0 = Player for whom spell bar is shown1 = Vehicle creature | This will show or hide spells in vehicle spell bar. |
| CONDITION_SOURCE_TYPE_SMART_EVENT | 22 | ID (smart_scripts.id) + 1 | EntryOrGuid (smart_scripts.entryorguid) | SourceType (smart_scripts.source_type) | 0 = Invoker 1 = Object |
|
| CONDITION_SOURCE_TYPE_NPC_VENDOR | 23 | vendor entry (npc_vendor.entry) | item entry (npc_vendor.item) | Always 0 | Always 0 | |
| CONDITION_SOURCE_TYPE_SPELL_PROC | 24 | Always 0 | Spell ID of aura which triggers the proc | Always 0 | 0 = Actor 1 = ActionTarget |
|
| CONDITION_SOURCE_TYPE_MAX | 27 | (Placeholder) |
| ConditionTypeOrReference (name) | Value | ConditionValue1 | ConditionValue2 | ConditionValue3 |
|---|---|---|---|---|
| CONDITION_NONE | 0 | (Never used) | (Never used) | (Never used) |
| CONDITION_AURA | 1 | Spell ID from Spell.dbc | Effect index (0-2) | Always 0 |
| CONDITION_ITEM | 2 | item entry (item_template.entry) | item count | 0 = not in bank, 1 = in bank |
| CONDITION_ITEM_EQUIPPED | 3 | item entry (item_template.entry) | Always 0 | Always 0 |
| CONDITION_ZONEID | 4 | Zone ID where this condition will be true. | Always 0 | Always 0 |
CONDITION_REPUTATION_RANK |
5 |
|
Add the target ranks together for the condition to be true for all those ranks. |
Always 0 |
| CONDITION_TEAM | 6 | Team id :Alliance = 469 / Horde = 67 | Always 0 | Always 0 |
| CONDITION_SKILL | 7 | Required skill. See SkillLine.dbc . | Skill rank value (e.g. from 1 to 450 for the 3.3.5 branch) | Always 0 |
| CONDITION_QUESTREWARDED | 8 | Quest ID - see quest_template.id | Always 0 | Always 0 |
| CONDITION_QUESTTAKEN | 9 | Quest ID - see quest_template.id | Always 0 | Always 0 |
| CONDITION_DRUNKENSTATE | 10 | Sober=0; Tipsy=1, Drunk=2, Smashed=3 | Always 0 | Always 0 |
| CONDITION_WORLD_STATE | 11 | World state index | World state value | Always 0 |
| CONDITION_ACTIVE_EVENT | 12 | Event entry (game_event.eventEntry) | Always 0 | Always 0 |
CONDITION_INSTANCE_INFO |
13 |
entry (see corresponding source script files for info) |
data (see corresponding script source files for more info) |
0=INSTANCE_INFO_DATA 1=INSTANCE_INFO_GUID_DATA 2=INSTANCE_INFO_BOSS_STATE 3=INSTANCE_INFO_DATA64 |
| CONDITION_QUEST_NONE | 14 | Quest ID - see quest_template.id | Always 0 | Always 0 |
CONDITION_CLASS |
15 |
Class mask from ChrClasses.dbc Add flags together for all classes where condition is true. |
Always 0 | Always 0 |
| CONDITION_RACE | 16 | Player must be this race. See ChrRaces.dbc . Add flags together for all races where condition is true. |
Always 0 | Always 0 |
| CONDITION_ACHIEVEMENT | 17 | Achievement ID from Achievement.dbc | Always 0 | Always 0 |
| CONDITION_TITLE | 18 | Title ID from CharTitles.dbc | Always 0 | Always 0 |
| CONDITION_SPAWNMASK | 19 | spawnMask from Creature.spawnMask / Gameobject.spawnMask |
Always 0 | Always 0 |
| CONDITION_GENDER | 20 | 0 = Male, 1 = Female, 2 = None | Always 0 | Always 0 |
| CONDITION_UNIT_STATE | 21 | UnitState (enum from Unit.h) | Always 0 | Always 0 |
| CONDITION_MAPID | 22 | Map entry from Map.dbc (0=Eastern Kingdoms, 1=Kalimdor, - and so on.) |
Always 0 | Always 0 |
| CONDITION_AREAID | 23 | Area ID from AreaTable.dbc | Always 0 | Always 0 |
| CONDITION_CREATURE_TYPE | 24 | Creature type from creature_template.type True if creature_template.type == ConditionValue1 |
Always 0 | Always 0 |
| CONDITION_SPELL | 25 | Spell ID from Spell.dbc | Always 0 | Always 0 |
| CONDITION_PHASEMASK | 26 | phasemask value | Always 0 | Always 0 |
CONDITION_LEVEL |
27 |
Player level (1-80 in 3.3.5) |
Optional: 0 = Level must be equal, 1 = Level must be higher, 2 = Level must be lower, 3 = Level must be higher or equal, 4 = Level must be lower or equal. |
Always 0 |
| CONDITION_QUEST_COMPLETE | 28 | Quest ID - see quest_template.id | Always 0 | Always 0 |
| CONDITION_NEAR_CREATURE | 29 | Creature entry from creature_template.entry | Distance in yards | Alive=0 / Dead=1 |
| CONDITION_NEAR_GAMEOBJECT | 30 | Gameobject entry from gameobject_template.entry | Distance in yards | Always 0 |
CONDITION_OBJECT_ENTRY_GUID |
31 |
TypeID. Available object types: |
|
1 - 500k : creature / gameobject GUID |
CONDITION_TYPE_MASK |
32 |
TypeMask - a bitmask of following object types: |
Always 0 | Always 0 |
CONDITION_RELATION_TO |
33 |
|
RelationType - defines relation of current ConditionTarget to target specified in ConditionValue1. |
Always 0 |
CONDITION_REACTION_TO |
34 |
|
|
Always 0 |
CONDITION_DISTANCE_TO |
35 |
|
Distance. Defines distance between current ConditionTarget and target specified in ConditionValue1 |
ComparisionType: |
CONDITION_ALIVE |
36 |
Always 0 - Use NegativeCondition and the following settings:
NegativeCondition = 0 if target needs to be ALIVE. |
Always 0 | Always 0 |
CONDITION_HP_VAL |
37 |
HP value |
ComparisionType:
|
Always 0 |
CONDITION_HP_PCT |
38 |
Percentage of max HP | ComparisionType:
|
Always 0 |
| CONDITION_REALM_ACHIEVEMENT | 39 | Achievement ID from Achievement.dbc | Always 0 | Always 0 |
CONDITION_IN_WATER |
40 |
Always 0 - Use NegativeCondition and the following settings:NegativeCondition = 0 If target needs to be on landNegativeCondition = 1 If target needs to be in water | Always 0 | Always 0 |
|
42 |
stateType (exact or any): 0 = Exact state used in ConditionValue2 1 = Any type of state in ConditionValue2 | Exact stand state, or generic state (stand / sit), depending on value 10 = Standing 1 = Sitting | Always 0 |
| CONDITION_DAILY_QUEST_DONE | 43 | Quest ID - see quest_template.id | Always 0 | Always 0 |
| CONDITION_CHARMED | 44 | Always 0 | Always 0 | Always 0 |
| CONDITION_PET_TYPE | 45 | mask | Always 0 | Always 0 |
| CONDITION_TAXI | 46 | Always 0 | Always 0 | Always 0 |
| CONDITION_QUESTSTATE | 47 | Quest ID - see quest_template.id | state_mask | Always 0 |
| CONDITION_QUEST_OBJECTIVE_COMPLETE (6.x / 7.x only) | 48 | Quest Objective ID - see quest_objectives | Always 0 | Always 0 |
CONDITION_MAX |
49 |