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 "
WDBVerified SMALLINT SIGNED YES 1

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_RITUAL 18
GAMEOBJECT_TYPE_MAILBOX 19
GAMEOBJECT_TYPE_AUCTIONHOUSE 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_LOTTERY_KIOSK 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

field-no-description|7

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.menu_id)
  • 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.entry)
  • 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_MOTRANSPORT = 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_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_AUCTIONHOUSE = 20

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_MINIGAME = 27

Object type not used.聽Reused in core for CUSTOM_TELEPORT

GAMEOBJECT_TYPE_LOTTERYKIOSK = 28

Object type not used

GAMEOBJECT_TYPE_CAPTUREPOINT = 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_AURAGENERATOR = 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_DUNGEONDIFFICULTY = 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

WDBVerified