Skip to content

conditions

Structure ​

FieldTypeAttributesKeyNullDefaultExtraComment
SourceTypeOrReferenceIdintsignedPRINO0
SourceGroupintunsignedPRINO0
SourceEntryintsignedPRINO0
SourceIdintsignedPRINO0
ElseGroupintunsignedPRINO0
ConditionTypeOrReferenceintsignedPRINO0
ConditionTargettinyintunsignedPRINO0
ConditionValue1intunsignedPRINO0
ConditionValue2intunsignedPRINO0
ConditionValue3intunsignedPRINO0
ConditionStringValue1varchar(64)PRINO''
NegativeConditiontinyintunsignedNO0
ErrorTypeintunsignedNO0
ErrorTextIdintunsignedNO0
ScriptNamechar(64)NO''
Commentvarchar(255)YESNULL

 

Description of fields ​

Source ​

  • SourceTypeOrReferenceId < 0: id of a reference (referenced directly in the ConditionTypeOrReference of another condition).
  • SourceTypeOrReferenceId > 0: source type of the condition to be applied:
None (0)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_NONE (0)
  • SourceGroup:
    -
  • SourceEntry:
    -
  • SourceId:
    -
  • ConditionTarget:
    -
CreatureLoot (1)
DisenchantLoot (2)
FishingLoot (3)
GameobjectLoot (4)
ItemLoot (5)
MailLoot (6)
MillingLoot (7)
PickpocketLoot (8)
ProspectingLoot (9)
ReferenceLoot (10)
SkinningLoot (11)
SpellLoot (12)
Impl.SpellTarget (13)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET (13)

  • SourceGroup:
    Mask of effects to be affected by condition:
    enum SpellEffIndex

    ValueFlagName
    10x1EFFECT_0
    20x2EFFECT_1
    40x4EFFECT_2
  • SourceEntry:
    Spell ID

  • SourceId:
    0

  • ConditionTarget:

    • 0: Potential spell Target
    • 1: Spell caster

Don't use wowhead to get number of effects, data from wowhead sometimes doesn't match real effect number.

GossipMenu (14)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_GOSSIP_MENU (14)
  • SourceGroup:
    GossipMenu MenuID
  • SourceEntry:
    GossipMenu TextID
  • SourceId:
    0
  • ConditionTarget:
    • 0: Player
    • 1: WorldObject
GossipMenuOption (15)
VehicleCreature (16)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE (16)
  • SourceGroup:
    0
  • SourceEntry:
    creature entry
  • SourceId:
    0
  • ConditionTarget:
    • 0: Player riding vehicle
    • 1: Vehicle creature
Spell (17)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_SPELL (17)
  • SourceGroup:
    0
  • SourceEntry:
    Spell ID
  • SourceId:
    0
  • ConditionTarget:
    • 0: spell Caster
    • 1: Explicit Target of the spell (only for spells which take the object selected by caster into account)

This source type allows you to define caster/explicit target requirements for spell to be cast.

Explicit target of the spell is the target which is selected by player during cast, not all spells take that target into account. Non-explicit targets of the spell (the ones which are selected by spell like area or nearby targets for example) are not affected by this condition source type, if you want to affect those use CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET (13) instead.

If you are looking for old CONDITION_SOURCE_TYPE_ITEM_REQUIRED_TARGET, use this condition source type instead (ConditionTarget = 1 allows you to set requirements for a given spell, so to use this condition type you need spellid of the spell cast on item use).

Remember that conditions with the same ElseGroup value will be used to make logical AND check, so to allow different targets for the same spell effect you have to set ElseGroup respectively.

ClickEvent (18)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT (18)
  • SourceGroup:
    spellclick creature
  • SourceEntry:
    spellclick Spell
  • SourceId:
    0
  • ConditionTarget:
    • 0: Clicker
    • 1: Spellclick target
Quest (19)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_QUEST_AVAILABLE (19)
  • SourceGroup:
    0
  • SourceEntry:
    quest ID
  • SourceId:
    0
  • ConditionTarget:
    0

Condition must be met for quest to be available to player.

Unused ❌ (20)
  • SourceTypeOrReferenceId:
    UNUSED (20)
  • SourceGroup:
    -
  • SourceEntry:
    -
  • SourceId:
    -
  • ConditionTarget:
    -

UNUSED

VehicleSpell (21)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_VEHICLE_SPELL (21)
  • SourceGroup:
    creature entry
  • SourceEntry:
    Spell ID
  • SourceId:
    0
  • ConditionTarget:
    • 0: Player for whom spell bar is shown
    • 1: Vehicle creature

This will show or hide spells in vehicle spell bar.

SmartEvent (22)
NPCVendor (23)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_NPC_VENDOR (23)
  • SourceGroup:
    vendor entry
  • SourceEntry:
    vendor item
  • SourceId:
    0
  • ConditionTarget:
    • 0: Player
    • 1: Vendor
SpellProc (24)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_SPELL_PROC (24)
  • SourceGroup:
    0
  • SourceEntry:
    Spell ID of aura which triggers the proc
  • SourceId:
    0
  • ConditionTarget:
    • 0: Actor
    • 1: ActionTarget
TerrainSwap ❌ (25)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_TERRAIN_SWAP (25)
  • SourceGroup:
    0
  • SourceEntry:
    terrainSwap - object in terrainswap
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

Phase ❌ (26)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_PHASE (26)
  • SourceGroup:
    PhaseID
  • SourceEntry:
    AreaTable ID (or 0 for any area)
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

Graveyard ❌ (27)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_GRAVEYARD (27)
  • SourceGroup:
    0
  • SourceEntry:
    world_safe_locs.ID
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

Areatrigger ❌ (28)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_AREATRIGGER (28)
  • SourceGroup:
    areatrigger_template.Id
  • SourceEntry:
    • 0: Non-ServersideAreatrigger
    • 1: ServersideAreatrigger
  • SourceId:
    0
  • ConditionTarget:
    -

Note: this refers to dynamically spawned areatriggers, not the ones from AreaTrigger.dbc/db2

RESERVED master branch

Conversation ❌ (29)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_CONVERSATION_LINE (29)
  • SourceGroup:
    0
  • SourceEntry:
    ConversationLineID
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

ClientAreatrigger (30)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED (30)
  • SourceGroup:
    0
  • SourceEntry:
    Areatrigger ID
  • SourceId:
    0
  • ConditionTarget:
    -
TrainerSpell ❌ (31)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_TRAINER_SPELL (31)
  • SourceGroup:
    TrainerID
  • SourceEntry:
    Spell ID
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

ObjectVisibility ❌ (32)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_OBJECT_ID_VISIBILITY (32)
  • SourceGroup:
    CreatureID / GameObjectID
  • SourceEntry:
    ObjectType:
    • 5: Unit
    • 8: GameObject
  • SourceId:
    0
  • ConditionTarget:
    -

RESERVED master branch

SpawnGroup ❌ (33)
  • SourceTypeOrReferenceId:
    CONDITION_SOURCE_TYPE_SPAWN_GROUP (33)
  • SourceGroup:
    -
  • SourceEntry:
    -
  • SourceId:
    -
  • ConditionTarget:
    -

RESERVED master branch

 

ElseGroup ​

Allows building grouped conditions - all entries belonging to the same condition (same SourceType, SourceGroup and SourceEntry) that share the same number in ElseGroup, define one group. The entire condition is met when any of its groups is met (logical OR). The group is met when all of its entries are met (logical AND).

Example:

Two conditions with the same SourceType, SourceGroup and SourceEntry but with a different Condition, the first one has ElseGroup = 1 and the second has ElseGroup = 2, this creates a Logical OR.

Two conditions with the same SourceType, SourceGroup and SourceEntry but with a different Condition, both has ElseGroup = 1, this creates a Logical AND.
 

Condition ​

  • ConditionTypeOrReference < 0: id of a reference (references directly the SourceTypeOrReferenceId of another condition).
  • ConditionTypeOrReference > 0: condition type to be applied:
None (0)
  • ConditionTypeOrReference:
    CONDITION_NONE (0)
  • ConditionValue1:
    (Never used)
  • ConditionValue2:
    (Never used)
  • ConditionValue3:
    (Never used)
  • ConditionStringValue1:
    (Never used)

always true

Aura (1)
  • ConditionTypeOrReference:
    CONDITION_AURA (1)
  • ConditionValue1:
    Spell ID
  • ConditionValue2:
    Effect index (0 – 2)
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if target has aura from spell with effect index

Item (2)
  • ConditionTypeOrReference:
    CONDITION_ITEM (2)
  • ConditionValue1:
    item entry
  • ConditionValue2:
    item count
  • ConditionValue3:
    • 0: inventory only
    • 1: inventory + bank
  • ConditionStringValue1:
    -

true if has count of item (if ConditionValue3 is set it searches in bank slots too)

ItemEquipped (3)
  • ConditionTypeOrReference:
    CONDITION_ITEM_EQUIPPED (3)
  • ConditionValue1:
    item entry
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if has item equipped

Zone (4)
  • ConditionTypeOrReference:
    CONDITION_ZONEID (4)
  • ConditionValue1:
    AreaTable ID where this condition will be true.
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if in zone

Reputation (5)
  • ConditionTypeOrReference:
    CONDITION_REPUTATION_RANK (5)

  • ConditionValue1:
    Faction ID

  • ConditionValue2:
    Add the target ranks together for the condition to be true for all those ranks.
    enum ReputationRank

    ValueFlagName
    10x01REP_HATED
    20x02REP_HOSTILE
    40x04REP_UNFRIENDLY
    80x08REP_NEUTRAL
    160x10REP_FRIENDLY
    320x20REP_HONORED
    640x40REP_REVERED
    1280x80REP_EXALTED
  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

Team (6)
  • ConditionTypeOrReference:
    CONDITION_TEAM (6)

  • ConditionValue1:
    enum Team (a Faction ID)

    IDName
    67HORDE
    469ALLIANCE
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

Skill (7)
  • ConditionTypeOrReference:
    CONDITION_SKILL (7)
  • ConditionValue1:
    Required SkillLine ID
  • ConditionValue2:
    Skill rank value (1 – 450)
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -
QuestReward (8)
  • ConditionTypeOrReference:
    CONDITION_QUESTREWARDED (8)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if quest was rewarded before

QuestTaken (9)
  • ConditionTypeOrReference:
    CONDITION_QUESTTAKEN (9)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true while quest active

Drunk (10)
  • ConditionTypeOrReference:
    CONDITION_DRUNKENSTATE (10)

  • ConditionValue1:
    enum DrunkenState

    IDName
    0DRUNKEN_SOBER
    1DRUNKEN_TIPSY
    2DRUNKEN_DRUNK
    3DRUNKEN_SMASHED
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if player is drunk enough

Worldstate (11)
  • ConditionTypeOrReference:
    CONDITION_WORLD_STATE (11)
  • ConditionValue1:
    World state index
  • ConditionValue2:
    World state value
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if world has the value for the index

ActiveEvent (12)
  • ConditionTypeOrReference:
    CONDITION_ACTIVE_EVENT (12)
  • ConditionValue1:
    event entry
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if event is active

InstanceInfo (13)
  • ConditionTypeOrReference:
    CONDITION_INSTANCE_INFO (13)

  • ConditionValue1:
    entry: (see corresponding source script files for info)

  • ConditionValue2:
    data: (see corresponding source script files for more info)

  • ConditionValue3:
    enum InstanceInfo

    IDName
    0INSTANCE_INFO_DATA
    1INSTANCE_INFO_GUID_DATA
    2INSTANCE_INFO_BOSS_STATE
    3INSTANCE_INFO_DATA64
  • ConditionStringValue1:
    -

true if the instance info defined by ConditionValue3 equals data.

QuestNone (14)
  • ConditionTypeOrReference:
    CONDITION_QUEST_NONE (14)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if doesn't have quest saved

Class (15)
  • ConditionTypeOrReference:
    CONDITION_CLASS (15)
  • ConditionValue1:
    Class mask from ChrClass ID
    Add flags together for all classes where condition is true.
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player's class is equal to class

Race (16)
  • ConditionTypeOrReference:
    CONDITION_RACE (16)
  • ConditionValue1:
    Race mask from ChrRace ID
    Add flags together for all races where condition is true.
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player's race is equal to race

Achievement (17)
  • ConditionTypeOrReference:
    CONDITION_ACHIEVEMENT (17)
  • ConditionValue1:
    Achievement ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if achievement is complete

Title (18)
  • ConditionTypeOrReference:
    CONDITION_TITLE (18)
  • ConditionValue1:
    CharTitle ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player has title

SpawnMask (19)
  • ConditionTypeOrReference:
    CONDITION_SPAWNMASK (19)

  • ConditionValue1:
    creature spawnMask or gameobject spawnMask
    enum SpawnMask

    ValueFlagContinentDungeonRaidComment
    00x00nonono
    10x01yes5N10Nand all maps without spawn modes
    20x02no5H25N
    40x04nono10H
    80x08nono25H
    30x03all dungeon modes and all normal raid modes
    120x0Call heroic raid modes
    150x0Fall raid modes
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if in spawnMask

Gender (20)
  • ConditionTypeOrReference:
    CONDITION_GENDER (20)

  • ConditionValue1:
    enum Gender

    IDName
    0GENDER_MALE
    1GENDER_FEMALE
    2GENDER_NONE
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if player's gender is equal to gender

UnitState (21)
  • ConditionTypeOrReference:
    CONDITION_UNIT_STATE (21)

  • ConditionValue1:
    enum UnitState

    ValueFlagNameComment
    10x00000001UNIT_STATE_DIEDplayer has fake death aura
    20x00000002UNIT_STATE_MELEE_ATTACKINGplayer is melee attacking someone
    40x00000004UNIT_STATE_CHARMEDhaving any kind of charm aura on self
    80x00000008UNIT_STATE_STUNNED
    160x00000010UNIT_STATE_ROAMING
    320x00000020UNIT_STATE_CHASE
    640x00000040UNIT_STATE_FOCUSING
    1280x00000080UNIT_STATE_FLEEING
    2560x00000100UNIT_STATE_IN_FLIGHTplayer is in flight mode
    5120x00000200UNIT_STATE_FOLLOW
    10240x00000400UNIT_STATE_ROOT
    20480x00000800UNIT_STATE_CONFUSED
    40960x00001000UNIT_STATE_DISTRACTED
    81920x00002000UNIT_STATE_ISOLATEDarea auras do not affect other players
    163840x00004000UNIT_STATE_ATTACK_PLAYER
    327680x00008000UNIT_STATE_CASTING
    655360x00010000UNIT_STATE_POSSESSEDbeing possessed by another unit
    1310720x00020000UNIT_STATE_CHARGING
    2621440x00040000UNIT_STATE_JUMPING
    5242880x00080000UNIT_STATE_FOLLOW_FORMATION
    10485760x00100000UNIT_STATE_MOVE
    20971520x00200000UNIT_STATE_ROTATING
    41943040x00400000UNIT_STATE_EVADE
    83886080x00800000UNIT_STATE_ROAMING_MOVE
    167772160x01000000UNIT_STATE_CONFUSED_MOVE
    335544320x02000000UNIT_STATE_FLEEING_MOVE
    671088640x04000000UNIT_STATE_CHASE_MOVE
    1342177280x08000000UNIT_STATE_FOLLOW_MOVE
    2684354560x10000000UNIT_STATE_IGNORE_PATHFINDINGdo not use pathfinding in any MovementGenerator
    5368709120x20000000UNIT_STATE_FOLLOW_FORMATION_MOVE
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if unit has unitState

Map (22)
  • ConditionTypeOrReference:
    CONDITION_MAPID (22)
  • ConditionValue1:
    Map ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if in map

Area (23)
  • ConditionTypeOrReference:
    CONDITION_AREAID (23)
  • ConditionValue1:
    AreaTable ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if in area

CreatureType (24)
  • ConditionTypeOrReference:
    CONDITION_CREATURE_TYPE (24)
  • ConditionValue1:
    creature type
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if creature type = value1

Spell (25)
  • ConditionTypeOrReference:
    CONDITION_SPELL (25)
  • ConditionValue1:
    Spell ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player has learned spell

PhaseMask (26)
  • ConditionTypeOrReference:
    CONDITION_PHASEMASK (26)
  • ConditionValue1:
    phasemask value
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if object is in phasemask

Level (27)
  • ConditionTypeOrReference:
    CONDITION_LEVEL (27)
  • ConditionValue1:
    Player/Creature level (1 – 83)
  • ConditionValue2:
    ComparisonType
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if unit's level is equal to ConditionValue1 (ConditionValue2 can modify the statement)

QuestComplete (28)
  • ConditionTypeOrReference:
    CONDITION_QUEST_COMPLETE (28)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player has quest with all objectives complete, but not yet rewarded

NearCreature (29)
  • ConditionTypeOrReference:
    CONDITION_NEAR_CREATURE (29)
  • ConditionValue1:
    creature entry
  • ConditionValue2:
    Distance in yards
  • ConditionValue3:
    • 0: Alive
    • 1: Dead
  • ConditionStringValue1:
    -

true if there is a creature of entry in range

NearGameobject (30)
  • ConditionTypeOrReference:
    CONDITION_NEAR_GAMEOBJECT (30)
  • ConditionValue1:
    gameobject entry
  • ConditionValue2:
    Distance in yards
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if there is a gameobject of entry in range

ObjectEntry (31)
  • ConditionTypeOrReference:
    CONDITION_OBJECT_ENTRY_GUID (31)
  • ConditionValue1:
    TypeID - Available object types:
    • 3: TYPEID_UNIT
    • 4: TYPEID_PLAYER
    • 5: TYPEID_GAMEOBJECT
    • 7: TYPEID_CORPSE (player corpse, after spirit release)
  • ConditionValue2:
  • ConditionValue3:
  • ConditionStringValue1:
    -

true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object

TypeMask (32)
  • ConditionTypeOrReference:
    CONDITION_TYPE_MASK (32)

  • ConditionValue1:
    TypeMask - a bitmask of following object types:

    ValueFlagName
    80x08TYPEMASK_UNIT
    160x10TYPEMASK_PLAYER
    320x20TYPEMASK_GAMEOBJECT
    1280x80TYPEMASK_CORPSE (player corpse after spirit release)
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if object's TypeMask matches provided TypeMask

Relation (33)
  • ConditionTypeOrReference:
    CONDITION_RELATION_TO (33)

  • ConditionValue1:
    Target to which relation is checked.

    • one of the ConditionTargets available in current SourceType
  • ConditionValue2:
    enum RelationType - defines relation of current ConditionTarget to target specified in ConditionValue1.

    IDNameComment
    0RELATION_SELF
    1RELATION_IN_PARTY
    2RELATION_IN_RAID_OR_PARTY
    3RELATION_OWNED_BYConditionTarget is owned by ConditionValue1
    4RELATION_PASSENGER_OFConditionTarget is passenger of ConditionValue1
    5RELATION_CREATED_BYConditionTarget is summoned by ConditionValue1
  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if object is in given relation with object specified by ConditionTarget

Reaction (34)
  • ConditionTypeOrReference:
    CONDITION_REACTION_TO (34)

  • ConditionValue1:
    Target to which reaction is checked.

    • one of the ConditionTargets available in current SourceType
  • ConditionValue2:
    rankMask: This bitmask defines the reaction(s) of the current ConditionTarget to the target specified in ConditionValue1 (which are allowed).
    enum ReputationRank

    ValueFlagName
    10x01REP_HATED
    20x02REP_HOSTILE
    40x04REP_UNFRIENDLY
    80x08REP_NEUTRAL
    160x10REP_FRIENDLY
    320x20REP_HONORED
    640x40REP_REVERED
    1280x80REP_EXALTED
  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if object's reaction matches rankMask object specified by ConditionTarget

Distance (35)
  • ConditionTypeOrReference:
    CONDITION_DISTANCE_TO (35)
  • ConditionValue1:
    Target to which distance is checked
    • one of the ConditionTargets available in current SourceType
  • ConditionValue2:
    Distance between current ConditionTarget and target specified in ConditionValue1
  • ConditionValue3:
    ComparisonType
  • ConditionStringValue1:
    -

true if object and ConditionTarget are within distance given by parameters

Alive (36)
  • ConditionTypeOrReference:
    CONDITION_ALIVE (36)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

Use NegativeCondition to test for the inverse:

  • NegativeCondition = 0: if target needs to be ALIVE.
  • NegativeCondition = 1: if target needs to be DEAD.

Note: A creature corpse and a creature that looks dead are two different things. One is actually dead and the other is just using an emote to appear dead.

true if unit is alive

HitpointVal (37)
  • ConditionTypeOrReference:
    CONDITION_HP_VAL (37)
  • ConditionValue1:
    HP value
  • ConditionValue2:
    ComparisonType
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if unit's hp matches given value

HitpointPct (38)
  • ConditionTypeOrReference:
    CONDITION_HP_PCT (38)
  • ConditionValue1:
    Percentage of max HP
  • ConditionValue2:
    ComparisonType
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if unit's hp matches given pct

RealmAchievement (39)
  • ConditionTypeOrReference:
    CONDITION_REALM_ACHIEVEMENT (39)
  • ConditionValue1:
    Achievement ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if realm achievement is complete

InWater (40)
  • ConditionTypeOrReference:
    CONDITION_IN_WATER (40)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

Use NegativeCondition to test for the inverse:

  • NegativeCondition = 0: If target needs to be IN WATER.
  • NegativeCondition = 1: If target needs to be ON LAND.

true if unit in water

TerrainSwap ❌ (41)
  • ConditionTypeOrReference:
    CONDITION_TERRAIN_SWAP (41)
  • ConditionValue1:
    terrainSwap
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if object is in terrainswap

StandState (42)
  • ConditionTypeOrReference:
    CONDITION_STAND_STATE (42)
  • ConditionValue1:
    stateType (exact or any):
    • 0: Exact state used in ConditionValue2
    • 1: Any type of state in ConditionValue2
  • ConditionValue2:
    • stateType = 0: exact stand state
    • stateType = 1: generic stand state
      • 0: Standing
      • 1: Sitting
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if unit matches specified sitstate

DailyQuest (43)
  • ConditionTypeOrReference:
    CONDITION_DAILY_QUEST_DONE (43)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if daily quest has been completed for the day

Charmed (44)
  • ConditionTypeOrReference:
    CONDITION_CHARMED (44)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if unit is currently charmed

PetType (45)
  • ConditionTypeOrReference:
    CONDITION_PET_TYPE (45)
  • ConditionValue1:
    • 0: SUMMON_PET
    • 1: HUNTER_PET
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player has a pet of given type(s)

Taxi (46)
  • ConditionTypeOrReference:
    CONDITION_TAXI (46)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player is on taxi

QuestState (47)
  • ConditionTypeOrReference:
    CONDITION_QUESTSTATE (47)

  • ConditionValue1:
    quest ID

  • ConditionValue2:
    state_mask from
    enum QuestStatus

    ValueFlagNameComment
    10x01QUEST_STATUS_NONEPlayer does not have or had quest at all. He could accept it, but he did not (yet).
    20x02QUEST_STATUS_COMPLETEPlayer fulfilled objectives, but did not hand it in yet.
    80x08QUEST_STATUS_INCOMPLETEPlayer did not fulfill objectives yet.
    320x20QUEST_STATUS_FAILEDPlayer failed to fulfill objectives for any reason, e.g. time limit.
    640x40QUEST_STATUS_REWARDEDPlayer handed quest in and this is sort of a post-quest interaction.
  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if player is in any of the provided quest states for the quest

QuestProgress (48)
  • ConditionTypeOrReference:
    CONDITION_QUEST_OBJECTIVE_PROGRESS (48)
  • ConditionValue1:
    quest ID
  • ConditionValue2:
    Objective index (0 – 3)
  • ConditionValue3:
    Counter
  • ConditionStringValue1:
    -

true if player has reached the specified objectiveCount quest progress for the objectiveIndex for the specified quest

Difficulty (49)
  • ConditionTypeOrReference:
    CONDITION_DIFFICULTY_ID (49)

  • ConditionValue1:
    enum Difficulty

    ValueName
    0RAID_DIFFICULTY_10MAN_NORMAL / DUNGEON_DIFFICULTY_NORMAL / REGULAR_DIFFICULTY
    1RAID_DIFFICULTY_25MAN_NORMAL / DUNGEON_DIFFICULTY_HEROIC
    2RAID_DIFFICULTY_10MAN_HEROIC
    3RAID_DIFFICULTY_25MAN_HEROIC
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if map has difficulty id

Gamemaster (50)
  • ConditionTypeOrReference:
    CONDITION_GAMEMASTER (50)
  • ConditionValue1:
    canBeGM (0, 1)
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

true if player is gamemaster (or can be gamemaster)

ObjectEntry2 ❌ (51)
  • ConditionTypeOrReference:
    CONDITION_OBJECT_ENTRY_GUID_MASTER (51)
  • ConditionValue1:
    TypeID
  • ConditionValue2:
    entry
  • ConditionValue3:
    guid
  • ConditionStringValue1:
    -

RESERVED master branch

true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object

TypeMask2 ❌ (52)
  • ConditionTypeOrReference:
    CONDITION_TYPE_MASK_MASTER (52)
  • ConditionValue1:
    TypeMask
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if object is type object's TypeMask matches provided TypeMask using master branch TypeMask

BattlePetCount ❌ (53)
  • ConditionTypeOrReference:
    CONDITION_BATTLE_PET_COUNT (53)
  • ConditionValue1:
    SpeciesId
  • ConditionValue2:
    count
  • ConditionValue3:
    ComparisonType
  • ConditionStringValue1:
    -

RESERVED master branch

true if player has count of battle pet species

ScenarioStep ❌ (54)
  • ConditionTypeOrReference:
    CONDITION_SCENARIO_STEP (54)
  • ConditionValue1:
    cenarioStepId
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if object is at scenario with current step equal to ScenarioStepID

SceneProgress ❌ (55)
  • ConditionTypeOrReference:
    CONDITION_SCENE_IN_PROGRESS (55)
  • ConditionValue1:
    SceneScriptPackageId
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if player is playing a scene with ScriptPackageId equal to given value

PlayerCondition ❌ (56)
  • ConditionTypeOrReference:
    CONDITION_PLAYER_CONDITION (56)
  • ConditionValue1:
    PlayerConditionId
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if player satisfies PlayerCondition

PrivateObject ❌ (57)
  • ConditionTypeOrReference:
    CONDITION_PRIVATE_OBJECT (57)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

true if entity is private object

StringID (58)
  • ConditionTypeOrReference:
    CONDITION_STRING_ID (58)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    StringId

true if gameobject or creature has StringId

Label ❌ (59)
  • ConditionTypeOrReference:
    CONDITION_LABEL (59)
  • ConditionValue1:
    0
  • ConditionValue2:
    0
  • ConditionValue3:
    0
  • ConditionStringValue1:
    -

RESERVED master branch

Group Status (60)
  • ConditionTypeOrReference:
    CONDITION_GROUP_STATUS (60)

  • ConditionValue1:
    enum class GroupStatusCondition

    idNameis soloin partyin raid
    0NotInGroup✅❌❌
    1InGroup❌✅✅
    2InGroupButNotInRaid❌✅❌
    3InRaid❌❌✅
    4NotInGroupOrNotInRaid✅✅❌
  • ConditionValue2:
    0

  • ConditionValue3:
    0

  • ConditionStringValue1:
    -

true if group status matches player

 

ComparisonType ​

enum ComparisonType

IDFormNameComment
0==COMP_TYPE_EQConditionType must be equal to ConditionValue
1>COMP_TYPE_HIGHConditionType must be higher than ConditionValue
2<COMP_TYPE_LOWConditionType must be lower than ConditionValue
3>=COMP_TYPE_HIGH_EQConditionType must be higher or equal to ConditionValue
4<=COMP_TYPE_LOW_EQConditionType must be lower or equal to ConditionValue

 

ConditionTarget ​

Allows selecting an object for which conditions will be checked. Available objects are dependant on SourceTypeOrReferenceId, for details see respective source type reference.
 

NegativeCondition ​

If set to 1, the condition will be "inverted"

Example: CONDITION_AURA (1) with NegativeCondition will be true when the player does NOT have the aura.
 

ErrorType ​

Id from /src/server/shared/SharedDefines.h#L977. Will be displayed only for the below condition source type:

CONDITION_SOURCE_TYPE_SPELL (17)
 

ErrorTextId ​

Id from /src/server/shared/SharedDefines.h#L1171. Will be displayed only for the below condition source type:

CONDITION_SOURCE_TYPE_SPELL (17)

(ErrorType must be SPELL_FAILED_CUSTOM_ERROR (211) otherwise 0)
 

ScriptName ​

The ScriptName this condition uses, if any.
 

Comment ​

Explanation of this condition or reference