AzerothCore
Pages :

gameobject_template

Contains template of all gameobjects

Structure

Field Type Attributes Key Null Default Extra Comment
entry MEDIUMINT UNSIGNED PRI NO 0
type TINYINT UNSIGNED NO 0
displayId MEDIUMINT UNSIGNED NO 0
name VARCHAR(100) SIGNED NO "
IconName VARCHAR(100) SIGNED NO "
castBarCaption VARCHAR(100) SIGNED NO "
unk1 VARCHAR(100) SIGNED NO "
size FLOAT SIGNED NO 1
data0 INT UNSIGNED NO 0
data1 INT UNSIGNED NO -1
data2 INT UNSIGNED NO 0
data3 INT UNSIGNED NO 0
data4 INT UNSIGNED NO 0
data5 INT UNSIGNED NO 0
data6 INT UNSIGNED NO -1
data7 INT UNSIGNED NO 0
data8 INT UNSIGNED NO 0
data9 INT UNSIGNED NO 0
data10 INT UNSIGNED NO 0
data11 INT UNSIGNED NO 0
data12 INT UNSIGNED NO 0
data13 INT UNSIGNED NO 0
data14 INT UNSIGNED NO 0
data15 INT UNSIGNED NO 0
data16 INT UNSIGNED NO 0
data17 INT UNSIGNED NO 0
data18 INT UNSIGNED NO 0
data19 INT UNSIGNED NO 0
data20 INT UNSIGNED NO 0
data21 INT UNSIGNED NO 0
data22 INT UNSIGNED NO 0
data23 INT UNSIGNED NO 0
AIName char(64) SIGNED NO "
ScriptName VARCHAR(64) SIGNED NO "
VerifiedBuild INT YES NULL

Description of the fields

entry

Id of the gameobject template. WDB-fields

type 

Name Value
GAMEOBJECT_TYPE_DOOR 0
GAMEOBJECT_TYPE_BUTTON 1
GAMEOBJECT_TYPE_QUESTGIVER 2
GAMEOBJECT_TYPE_CHEST 3
GAMEOBJECT_TYPE_BINDER 4
GAMEOBJECT_TYPE_GENERIC 5
GAMEOBJECT_TYPE_TRAP 6
GAMEOBJECT_TYPE_CHAIR 7
GAMEOBJECT_TYPE_SPELL_FOCUS 8
GAMEOBJECT_TYPE_TEXT 9
GAMEOBJECT_TYPE_GOOBER 10
GAMEOBJECT_TYPE_TRANSPORT 11
GAMEOBJECT_TYPE_AREADAMAGE 12
GAMEOBJECT_TYPE_CAMERA 13
GAMEOBJECT_TYPE_MAP_OBJECT 14
GAMEOBJECT_TYPE_MO_TRANSPORT 15
GAMEOBJECT_TYPE_DUEL_ARBITER 16
GAMEOBJECT_TYPE_FISHINGNODE 17
GAMEOBJECT_TYPE_SUMMONING_RITUAL 18
GAMEOBJECT_TYPE_MAILBOX 19
GAMEOBJECT_TYPE_DO_NOT_USE 20
GAMEOBJECT_TYPE_GUARDPOST 21
GAMEOBJECT_TYPE_SPELLCASTER 22
GAMEOBJECT_TYPE_MEETINGSTONE 23
GAMEOBJECT_TYPE_FLAGSTAND 24
GAMEOBJECT_TYPE_FISHINGHOLE 25
GAMEOBJECT_TYPE_FLAGDROP 26
GAMEOBJECT_TYPE_MINI_GAME 27
GAMEOBJECT_TYPE_DO_NOT_USE_2 28
GAMEOBJECT_TYPE_CAPTURE_POINT 29
GAMEOBJECT_TYPE_AURA_GENERATOR 30
GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY 31
GAMEOBJECT_TYPE_BARBER_CHAIR 32
GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING 33
GAMEOBJECT_TYPE_GUILD_BANK 34
GAMEOBJECT_TYPE_TRAPDOOR 35

displayId

Graphic model id sent to the client from GameObjectDisplayInfo.dbc WDB-fields

name

Object's name. WDB-fields

IconName

Works exactly like creature_template IconName.

Working iconnames

  • Taxi
  • Talk
  • Attack
  • Directions
  • Quest

You may experience minor bugs trying to get the Quest (Yellow exclamation mark) working. However; the rest of the listed icons, works.

WDB-fields

castBarCaption

Shows unique text in the object's casting bar when the object is used. WDB-fields

unk1

A string sent to the client with the gameobject data. Its use is not known.

size

Object's size must be set because graphic models can be resample. WDB-fields

data0-23

The content of the data fields depends on the gameobject type

Values for these fields come from WDB and are not to be changed.

GAMEOBJECT_TYPE_DOOR = 0

  • data0: startOpen (Boolean flag)
  • data1: open (LockId from Lock.dbc)
  • data2: autoClose (Time in milliseconds)
  • data3: noDamageImmune (Boolean flag)
  • data4: openTextID (Unknown Text ID)
  • data5: closeTextID (Unknown Text ID)
  • data6: Ignored by pathfinding
  • data7: Conditionid1
  • data8: Door is opaque
  • data9: Gigantic AOI
  • data10: Infinite AOI

GAMEOBJECT_TYPE_BUTTON = 1

  • data0: startOpen (State)
  • data1: open (LockId from Lock.dbc)
  • data2: autoClose (long unknown flag)
  • data3: linkedTrap (gameobject_template.entry (Spawned GO type 6))
  • data4: noDamageImmune (Boolean flag)
  • data5: large? (Boolean flag)
  • data6: openTextID (Unknown Text ID)
  • data7: closeTextID (Unknown Text ID)
  • data8: losOK (Boolean flag)
  • data9: Conditionid1

GAMEOBJECT_TYPE_QUESTGIVER = 2

  • data0: open (LockId from Lock.dbc)
  • data1: questList (unknown ID)
  • data2: pageMaterial (PageTextMaterial.dbc)
  • data3: gossipID (gossip_menu_option.MenuID)
  • data4: customAnim (unknown value from 1 to 4)
  • data5: noDamageImmune (Boolean flag)
  • data6: openTextID (broadcast_text ID)
  • data7: losOK (Boolean flag)
  • data8: allowMounted (Boolean flag)
  • data9: large? (Boolean flag)
  • data10: Conditionid1
  • data11: Never usable while mounted

GAMEOBJECT_TYPE_CHEST = 3

  • data0: open (LockId from Lock.dbc)
  • data1: chestLoot (gameobject_loot_template.entry) WDB-fields
  • data2: chestRestockTime (time in seconds)
  • data3: consumable (State: Boolean flag)
  • data4: minRestock (Min successful loot attempts for Mining, Herbalism etc)
  • data5: maxRestock (Max successful loot attempts for Mining, Herbalism etc)
  • data6: lootedEvent (Event ID from table event_scripts)
  • data7: linkedTrap (gameobject_template.entry (Spawned GO type 6))
  • data8: questID (quest_template.id of completed quest)
  • data9: level (minimal level required to open this gameobject)
  • data10: losOK (Boolean flag)
  • data11: leaveLoot (Boolean flag)
  • data12: notInCombat (Boolean flag)
  • data13: log loot (Boolean flag)
  • data14: openTextID (Unknown ID)
  • data15: use group loot rules (Boolean flag)
  • data16: floating tooltip
  • data17: conditionid1
  • data18: xplevel
  • data19: xpDifficulty
  • data20: lootlevel
  • data21: Group Xp
  • data22: Damage Immune
  • data23: trivialSkillLow

GAMEOBJECT_TYPE_BINDER = 4

Object type not used

GAMEOBJECT_TYPE_GENERIC = 5

  • data0: floatingTooltip (Boolean flag)
  • data1: highlight (Boolean flag)
  • data2: serverOnly? (Always 0)
  • data3: large? (Boolean flag)
  • data4: floatOnWater (Boolean flag)
  • data5: questID (Required active quest_template.id to work)
  • data6: conditionID1
  • data7: LargeAOI
  • data8: UseGarrisonOwnerGuildColors

GAMEOBJECT_TYPE_TRAP = 6

  • data0: open (LockId from Lock.dbc )
  • data1: level (npc equivalent level for casted spell)
  • data2: diameter (so radius * 2)
  • data3: spell (Spell Id from Spell.dbc)
  • data4: type (0 trap with no despawn after cast. 1 trap despawns after cast. 2 bomb casts on spawn)
  • data5: cooldown (time in seconds)
  • data6:  ? (unknown flag)
  • data7: startDelay? (time in seconds)
  • data8: serverOnly? (always 0)
  • data9: stealthed (Boolean flag)
  • data10: large? (Boolean flag)
  • data11: stealthAffected (Boolean flag)
  • data12: openTextID (Unknown ID)
  • data13: closeTextID
  • data14: IgnoreTotems
  • data15: conditionID1
  • data16: playerCast
  • data17: SummonerTriggered
  • data18: requireLOS

GAMEOBJECT_TYPE_CHAIR = 7

  • data0: chairslots (number of players that can sit down on it)
  • data1: height
  • data2: onlyCreatorUse
  • data3: triggeredEvent
  • data4: conditionID1

GAMEOBJECT_TYPE_SPELL_FOCUS = 8

  • data0: spellFocusType (from SpellFocusObject.dbc; value also appears as RequiresSpellFocus in Spell.dbc)
  • data1: diameter (so radius*2)
  • data2: linkedTrap (gameobject_template.entry (Spawned GO type 6))
  • data3: serverOnly? (Always 0)
  • data4: questID (Required active quest_template.id to work)
  • data5: large? (Boolean flag)
  • data6: floatingTooltip (Boolean flag)
  • data7: floatOnWater
  • data8: conditionID1

GAMEOBJECT_TYPE_TEXT = 9

GAMEOBJECT_TYPE_GOOBER = 10

  • data0: open (LockId from Lock.dbc)
  • data1: questID (Required active quest_template.id to work)
  • data2: eventID (event_script id)
  • data3:  Time in ms before the initial state is restored
  • data4: customAnim (unknown)
  • data5: consumable (Boolean flag controling if gameobject will despawn or not)
  • data6: cooldown (time is seconds)
  • data7: pageID (page_text.ID)
  • data8: language (from Languages.dbc)
  • data9: pageMaterial (PageTextMaterial.dbc)
  • data10: spell (Spell Id from Spell.dbc)
  • data11: noDamageImmune (Boolean flag)
  • data12: linkedTrap (gameobject_template.entry (Spawned GO type 6))
  • data13: large? (Boolean flag)
  • data14: openTextID (Unknown ID)
  • data15: closeTextID (Unknown ID)
  • data16: losOK (Boolean flag) (somewhat related to battlegrounds)
  • data19: gossipID - casts the spell when used
  • data20: AllowMultiInteract
  • data21: floatOnWater
  • data22: conditionID1
  • data23: playerCast

GAMEOBJECT_TYPE_TRANSPORT = 11

  • data0: Timeto2ndfloor
  • data1: startOpen
  • data2: autoClose
  • data3: Reached1stfloor
  • data4: Reached2ndfloor
  • data5: SpawnMap
  • data6: Timeto3rdfloor
  • data7: Reached3rdfloor
  • data8: Timeto4rdfloor
  • data9: Reached4rdfloor
  • data10: Timeto5rdfloor
  • data11: Reached5rdfloor
  • data12: Timeto6rdfloor
  • data13: Reached6rdfloor
  • data14: Timeto7rdfloor
  • data15: Reached7rdfloor
  • data16: Timeto8rdfloor
  • data17: Reached8rdfloor
  • data18: Timeto9rdfloor
  • data19: Reached9rdfloor
  • data20: Timeto10rdfloor
  • data21: Reached10rdfloor
  • data22: onlychargeheightcheck
  • data23: onlychargetimecheck

GAMEOBJECT_TYPE_AREADAMAGE = 12

  • data0: open
  • data1: radius
  • data2: damageMin
  • data3: damageMax
  • data4: damageSchool
  • data5: autoClose
  • data6: openTextID
  • data7: closeTextID

GAMEOBJECT_TYPE_CAMERA = 13

  • data0: open (LockId from Lock.dbc)
  • data1: camera (Cinematic entry from CinematicCamera.dbc)
  • data2: eventID
  • data3: openTextID
  • data4: conditionID1

GAMEOBJECT_TYPE_MAPOBJECT = 14

No data used, all are always 0

GAMEOBJECT_TYPE_MO_TRANSPORT = 15

  • data0: taxiPathID (Id from TaxiPath.dbc)
  • data1: moveSpeed
  • data2: accelRate
  • data3: startEventID
  • data4: stopEventID
  • data5: transportPhysics
  • data6: SpawnMap
  • data7: worldState1
  • data8: allowstopping
  • data9: InitStopped
  • data10: TrueInfiniteAOI

GAMEOBJECT_TYPE_DUELFLAG = 16

Only one Gameobject with this type (21680) and no data data

GAMEOBJECT_TYPE_FISHINGNODE = 17

Only one Gameobject with this type (35591) and no data data

GAMEOBJECT_TYPE_SUMMONING_RITUAL = 18

  • data0: casters?
  • data1: spell (Spell Id from Spell.dbc)
  • data2: animSpell (Spell Id from Spell.dbc)
  • data3: ritualPersistent (Boolean flag)
  • data4: casterTargetSpell (Spell Id from Spell.dbc)
  • data5: casterTargetSpellTargets (Boolean flag)
  • data6: castersGrouped (Boolean flag)
  • data7: ritualNoTargetCheck
  • data8: conditionID1

GAMEOBJECT_TYPE_MAILBOX = 19

No data used, all are always 0

GAMEOBJECT_TYPE_DO_NOT_USE = 20

An auction house type in the client, not used by the core.

GAMEOBJECT_TYPE_GUARDPOST = 21

  • data0: CreatureID
  • data1: unk

GAMEOBJECT_TYPE_SPELLCASTER = 22

  • data0: spell (Spell Id from Spell.dbc)
  • data1: charges
  • data2: partyOnly (Boolean flag, need to be in group to use it)
  • data3: allowMounted
  • data4: GiganticAOI
  • data5: conditionID1
  • data6: playerCast
  • data7: NeverUsableWhileMounted

GAMEOBJECT_TYPE_MEETINGSTONE = 23

  • data0: minLevel
  • data1: maxLevel
  • data2: areaID (From AreaTable.dbc)

GAMEOBJECT_TYPE_FLAGSTAND = 24

  • data0: open (LockId from Lock.dbc)
  • data1: pickupSpell (Spell Id from Spell.dbc)
  • data2: radius (distance)
  • data3: returnAura (Spell Id from Spell.dbc)
  • data4: returnSpell (Spell Id from Spell.dbc)
  • data5: noDamageImmune (Boolean flag)
  • data6: openTextID
  • data7: losOK (Boolean flag)
  • data8: conditionID1
  • data9: playerCast
  • data10: GiganticAOI
  • data11: InfiniteAOI
  • data12: cooldown

GAMEOBJECT_TYPE_FISHINGHOLE = 25

GAMEOBJECT_TYPE_FLAGDROP = 26

  • data0: open (LockId from Lock.dbc)
  • data1: eventID (Unknown Event ID)
  • data2: pickupSpell (Spell Id from Spell.dbc)
  • data3: noDamageImmune (Boolean flag)
  • data4: openTextID
  • data5: playerCast
  • data6: ExpireDuration
  • data7: GiganticAOI
  • data8: InfiniteAOI
  • data9: cooldown

GAMEOBJECT_TYPE_MINI_GAME = 27

Object type not used. Reused in core for CUSTOM_TELEPORT

GAMEOBJECT_TYPE_DO_NOT_USE_2 = 28

Object type not used

GAMEOBJECT_TYPE_CAPTURE_POINT = 29

  • data0: radius (Distance)
  • data1: spell (Unknown ID, not a spell id in dbc file, maybe server only side spell)
  • data2: worldState1
  • data3: worldstate2
  • data4: winEventID1 (Unknown Event ID)
  • data5: winEventID2 (Unknown Event ID)
  • data6: contestedEventID1 (Unknown Event ID)
  • data7: contestedEventID2 (Unknown Event ID)
  • data8: progressEventID1 (Unknown Event ID)
  • data9: progressEventID2 (Unknown Event ID)
  • data10: neutralEventID1 (Unknown Event ID)
  • data11: neutralEventID2 (Unknown Event ID)
  • data12: neutralPercent
  • data13: worldstate3
  • data14: minSuperiority
  • data15: maxSuperiority
  • data16: minTime (in seconds)
  • data17: maxTime (in seconds)
  • data18: large? (Boolean flag)
  • data19: highlight
  • data20: startingValue
  • data21: unidirectional
  • data22: killbonustime
  • data23: speedWorldState1

GAMEOBJECT_TYPE_AURA_GENERATOR = 30

  • data0: startOpen (Boolean flag)
  • data1: radius (Distance)
  • data2: auraID1 (Spell Id from Spell.dbc)
  • data3: conditionID1 (Unknown ID)
  • data4: auraID2
  • data5: conditionID2
  • data6: serverOnly

GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY = 31

  • data0: mapID (From Map.dbc)

  • data1: difficulty

  • data2: DifficultyHeroic

  • data3: DifficultyEpic

  • data4: DifficultyLegendary

  • data5: HeroicAttachment

  • data6: ChallengeAttachment

  • data7: DifficultyAnimations

  • data8: LargeAOI

  • data9: GiganticAOI

  • data10: Legacy

     

    Value Comment
    0 5 man normal, 10 man normal
    1 5 man heroic, 25 normal
    2 10 man heroic
    3 25 man heroic

     

GAMEOBJECT_TYPE_BARBER_CHAIR = 32

  • data0: chairheight
  • data1: HeightOffset
  • data2: SitAnimKit

GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33

  • data0: intactNumHits
  • data1: creditProxyCreature
  • data2: state1Name
  • data3: intactEvent
  • data4: damagedDisplayId
  • data5: damagedNumHits
  • data6: empty3
  • data7: empty4
  • data8: empty5
  • data9: damagedEvent
  • data10: destroyedDisplayId
  • data11: empty7
  • data12: empty8
  • data13: empty9
  • data14: destroyedEvent
  • data15: empty10
  • data16: debuildingTimeSecs
  • data17: empty11
  • data18: destructibleData
  • data19: rebuildingEvent
  • data20: empty12
  • data21: empty13
  • data22: damageEvent
  • data23: empty14

GAMEOBJECT_TYPE_GUILD_BANK = 34

No data data used, all are always 0

GAMEOBJECT_TYPE_TRAPDOOR = 35

  • data0: whenToPause
  • data1: startOpen
  • data2: autoClose
  • data3: BlocksPathsDown
  • data4: PathBlockerBump

AIName

This field is overridden by ScriptName field if both are set. Note: Only SmartGameObjectAI can be used in this field, do not use SmartAI

ScriptName

Name of the script this object uses if needed

VerifiedBuild

This field is used to determine if this gameobject template originates from verified sniffs.

If value is 0 then it has not been parsed yet or it has been inherited from an older DB or another Core.

If value is above 0 then it has been parsed with sniffs from that specific client build.