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:

Tabset ​

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: |--|--| | EFFECT_0 | 0x1 | | EFFECT_1 | 0x2 | | EFFECT_2 | 0x4 |
  • 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

EndTabset ​

 

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:

Tabset ​

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:
    • 469: Alliance
    • 67: Horde
  • 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 |--|--| | DRUNKEN_SOBER | 0 | | DRUNKEN_TIPSY | 1 | | DRUNKEN_DRUNK | 2 | | DRUNKEN_SMASHED | 3 |
  • 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 |--|--| | INSTANCE_INFO_DATA | 0 | | INSTANCE_INFO_GUID_DATA | 1 | | INSTANCE_INFO_BOSS_STATE | 2 | | INSTANCE_INFO_DATA64 | 3 |
  • 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) ​

true if in spawnMask

Gender (20) ​

  • ConditionTypeOrReference: CONDITION_GENDER (20)
  • ConditionValue1: enum Gender |--|--| | GENDER_MALE | 0 | | GENDER_FEMALE | 1 | | GENDER_NONE | 2 |
  • 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. |--|--|--| | 0 | RELATION_SELF | | | 1 | RELATION_IN_PARTY | | | 2 | RELATION_IN_RAID_OR_PARTY | | | 3 | RELATION_OWNED_BY | ConditionTarget is owned by ConditionValue1 | | 4 | RELATION_PASSENGER_OF | ConditionTarget is passenger of ConditionValue1 | | 5 | RELATION_CREATED_BY | ConditionTarget 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
    ValueFlagName
    10x01QUEST_STATUS_NONE
    20x02QUEST_STATUS_COMPLETE
    80x08QUEST_STATUS_INCOMPLETE
    320x20QUEST_STATUS_FAILED
    640x40QUEST_STATUS_REWARDED
  • 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
    RaidDungeonValue
    RAID_DIFFICULTY_10MAN_NORMALDUNGEON_DIFFICULTY_NORMAL0
    RAID_DIFFICULTY_25MAN_NORMALDUNGEON_DIFFICULTY_HEROIC1
    RAID_DIFFICULTY_10MAN_HEROIC2
    RAID_DIFFICULTY_25MAN_HEROIC3
  • 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

EndTabset ​

 

ComparisonType ​

enum ComparisonType |-|:-😐-|-| | 0 | == | COMP_TYPE_EQ | ConditionType must be equal to ConditionValue | | 1 | > | COMP_TYPE_HIGH | ConditionType must be higher than ConditionValue | | 2 | < | COMP_TYPE_LOW | ConditionType must be lower than ConditionValue | | 3 | >= | COMP_TYPE_HIGH_EQ | ConditionType must be higher or equal to ConditionValue | | 4 | <= | COMP_TYPE_LOW_EQ | ConditionType 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