Conditions

De TimelessWoW
Ir a la navegación Ir a la búsqueda

La tabla `conditions`

Esta tabla permite definir condiciones para varias cosas: loots, gossips, spells, quests y smarts entre otros.

Estructura

Field Type Attributes Key Null Default Extra Comment
SourceTypeOrReferenceId mediumint(8) signed PRI NO 0
SourceGroup mediumint(8) unsigned PRI NO 0
SourceId mediumint(8) unsigned PRI NO 0
SourceEntry mediumint(8) unsigned PRI NO 0
ElseGroup mediumint(8) unsigned PRI NO 0
ConditionTypeOrReference mediumint(8) signed PRI NO 0
ConditionTarget trinity(3) unsigned PRI NO 0
ConditionValue1 mediumint(8) unsigned PRI NO 0
ConditionValue2 mediumint(8) unsigned PRI NO 0
ConditionValue3 mediumint(8) unsigned PRI NO 0
NegativeCondition trinity(3) unsigned NO 0
ErrorType mediumint(8) unsigned NO 0
ErrorTextId mediumint(8) unsigned NO
ScriptName char(64) unsigned NO
Comment varchar(255) NO

Descripción de los campos

SourceTypeOrReferenceId

Si es negativo, entonces es una Plantilla de referencia.

   CONDITION_SOURCE_TYPE_NONE                           = 0,
   CONDITION_SOURCE_TYPE_CREATURE_LOOT_TEMPLATE         = 1,
   CONDITION_SOURCE_TYPE_DISENCHANT_LOOT_TEMPLATE       = 2,
   CONDITION_SOURCE_TYPE_FISHING_LOOT_TEMPLATE          = 3,
   CONDITION_SOURCE_TYPE_GAMEOBJECT_LOOT_TEMPLATE       = 4,
   CONDITION_SOURCE_TYPE_ITEM_LOOT_TEMPLATE             = 5,
   CONDITION_SOURCE_TYPE_MAIL_LOOT_TEMPLATE             = 6,
   CONDITION_SOURCE_TYPE_MILLING_LOOT_TEMPLATE          = 7,
   CONDITION_SOURCE_TYPE_PICKPOCKETING_LOOT_TEMPLATE    = 8,
   CONDITION_SOURCE_TYPE_PROSPECTING_LOOT_TEMPLATE      = 9,
   CONDITION_SOURCE_TYPE_REFERENCE_LOOT_TEMPLATE        = 10,
   CONDITION_SOURCE_TYPE_SKINNING_LOOT_TEMPLATE         = 11,
   CONDITION_SOURCE_TYPE_SPELL_LOOT_TEMPLATE            = 12,
   CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET          = 13,
   CONDITION_SOURCE_TYPE_GOSSIP_MENU                    = 14,
   CONDITION_SOURCE_TYPE_GOSSIP_MENU_OPTION             = 15,
   CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE      = 16,
   CONDITION_SOURCE_TYPE_SPELL                          = 17,
   CONDITION_SOURCE_TYPE_SPELL_CLICK_EVENT              = 18,
   CONDITION_SOURCE_TYPE_QUEST_ACCEPT                   = 19,
   CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK                = 20,
   CONDITION_SOURCE_TYPE_VEHICLE_SPELL                  = 21,
   CONDITION_SOURCE_TYPE_SMART_EVENT                    = 22,
   CONDITION_SOURCE_TYPE_NPC_VENDOR                     = 23,
   CONDITION_SOURCE_TYPE_SPELL_PROC                     = 24,
   CONDITION_SOURCE_TYPE_PHASE_DEFINITION               = 25,

SourceGroup

Este campo depende del SourceTypeOrReferenceId elegido.

SourceEntry

Al igual que el campo de arriba, depende del SourceTypeOrReferenceId elegido.

SourceId

Al igual que el campo de arriba, depende del SourceTypeOrReferenceId elegido.

ElseGroup

Permite la construcción de condiciones agrupadas (todos los entries pertenecen al mismo SourceType y tienen el mismo SourceGroup y SourceEntry definen un grupo):

  • Lógica OR: La condición entera se cumple cuando cualquiera de su grupo también se cumple (0,1,2,3).
  • Lógica AND: La condición entera se cumple cuando todas sus condiciones también se cumplen (0,0,0,0).

ConditionTypeOrReference

El tipo de condición que queremos imponer.

  CONDITION_NONE                    = 0,   
  CONDITION_AURA                    = 1,   
  CONDITION_ITEM                    = 2,   
  CONDITION_ITEM_EQUIPPED           = 3,   
  CONDITION_ZONEID                  = 4,   
  CONDITION_REPUTATION_RANK         = 5,   
  CONDITION_TEAM                    = 6,   
  CONDITION_SKILL                   = 7,   
  CONDITION_QUESTREWARDED           = 8,   
  CONDITION_QUESTTAKEN              = 9,   
  CONDITION_DRUNKENSTATE            = 10,
  CONDITION_WORLD_STATE             = 11,  
  CONDITION_ACTIVE_EVENT            = 12,  
  CONDITION_INSTANCE_INFO           = 13,  
  CONDITION_QUEST_NONE              = 14,  
  CONDITION_CLASS                   = 15,  
  CONDITION_RACE                    = 16,  
  CONDITION_ACHIEVEMENT             = 17,  
  CONDITION_TITLE                   = 18,  
  CONDITION_SPAWNMASK               = 19,  
  CONDITION_GENDER                  = 20,  
  CONDITION_UNIT_STATE              = 21,  
  CONDITION_MAPID                   = 22,  
  CONDITION_AREAID                  = 23,  
  CONDITION_UNUSED_24               = 24,  
  CONDITION_SPELL                   = 25,  
  CONDITION_PHASEMASK               = 26,  
  CONDITION_LEVEL                   = 27,
  CONDITION_QUEST_COMPLETE          = 28,
  CONDITION_NEAR_CREATURE           = 29, 
  CONDITION_NEAR_GAMEOBJECT         = 30,
  CONDITION_OBJECT_ENTRY            = 31,
  CONDITION_TYPE_MASK               = 32,
  CONDITION_RELATION_TO             = 33,
  CONDITION_REACTION_TO             = 34,
  CONDITION_DISTANCE_TO             = 35,
  CONDITION_ALIVE                   = 36,
  CONDITION_HP_VAL                  = 37,
  CONDITION_HP_PCT                  = 38

ConditionTarget

Permite seleccionar el objeto para el cual las condiciones serán revisadas. Los objetos disponibles dependen del SourceTypeOrReferenceId elegido, para más detalles ver cada respectivo SourceTypeOrReferenceId.

ConditionValue1

Primer campo que depende del ConditionTypeOrReference establecido.

ConditionValue2

Segundo campo que depende del ConditionTypeOrReference establecido.

ConditionValue3

Tercer campo que depende del ConditionTypeOrReference establecido.

NegativeCondition

Si se establece el valor 1 aquí, entonces la condición tendrá el efecto contrario. Ejemplo: CONDITION_AURA con valor 1 en NegativeCondition tendrá lugar cuando el player NO tiene el aura.

ErrorType

Id del error (lista de errores) que será mostrado cuando no se cumplan las condiciones del SourceTypeOrReferenceId siguiente:

CONDITION_SOURCE_TYPE_SPELL = 17

ErrorTextId

Id del error custom que será mostrado solo en caso de que el ErrorType sea:

SPELL_FAILED_CUSTOM_ERROR = 172

Si el valor de ErrorType es 0, este campo también tendrá asignado el 0.

ScriptName

El nombre del script en C++ que usa la condición (en caso de que lo utilice). Por defecto se establece como NULL.

Comment

Explicación de la condición o referencia establecida.