# gameobject\_template
Contains template of all gameobjects
## Structure
Field |
Type |
Attributes |
Key |
Null |
Default |
Extra |
Comment |
entry |
mediumint(8) |
unsigned |
PRI |
NO |
0 |
|
|
type |
tinyint(3) |
unsigned |
|
NO |
0 |
|
|
displayId |
mediumint(8) |
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(10) |
unsigned |
|
NO |
0 |
|
|
data1 |
int(11) |
unsigned |
|
NO |
-1 |
|
|
data2 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data3 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data4 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data5 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data6 |
int(11) |
unsigned |
|
NO |
-1 |
|
|
data7 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data8 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data9 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data10 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data11 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data12 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data13 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data14 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data15 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data16 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data17 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data18 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data19 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data20 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data21 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data22 |
int(10) |
unsigned |
|
NO |
0 |
|
|
data23 |
int(10) |
unsigned |
|
NO |
0 |
|
|
AIName |
char(64) |
signed |
|
NO |
" |
|
|
ScriptName |
varchar(64) |
signed |
|
NO |
" |
|
|
WDBVerified |
smallint(5) |
signed |
|
YES |
1 |
|
|
## Description of the fields
### entry
Id of the gameobject template. `WDB-fields`
### type
``` cpp
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
```
WDB-fields
### 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-32
The content of the data fields depends on the [gameobject type](#gameobject_template-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](#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](http://www.azerothcore.org/wiki/loot_template#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](#gameobject_template-entry) (Spawned GO type 6))
- data8: questID ([quest\_template.id](http://www.azerothcore.org/wiki/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
- data24: trivialSkillHigh
- data25: Dungeon Encounter
- data26: spell
- data27: GiganticAOI
- data28: LargeAOI
- data29: spawnVignette
- data30: chestPersonalLoot
- data31: turnpersonallootsecurityoff
- data32: Chestproperties
**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](http://www.azerothcore.org/wiki/quest_template#id) to work)
- data6: conditionID1
- data7: LargeAOI
- data8: UseGarrisonOwnerGuildColors
**GAMEOBJECT\_TYPE\_TRAP = 6**
- data0: open (LockId from [Lock.dbc](Lock) )
- data1: level (npc equivalent level for casted spell)
- data2: diameter (so radius \* 2)
- data3: spell (Spell Id from [Spell.dbc](Spell))
- 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: chairorientation? (number of usable side?)
- data2: onlyCreatorUse
- data3: triggeredEvent
- data4: conditionID1
**GAMEOBJECT\_TYPE\_SPELL\_FOCUS = 8**
- data0: spellFocusType (from SpellFocusObject.dbc; value also appears as RequiresSpellFocus in [Spell.dbc](https://trinitycore.atlassian.net/wiki/display/tc/Spell))
- data1: diameter (so radius\*2)
- data2: linkedTrap ([gameobject\_template.entry](#gameobject_template-entry) (Spawned GO type 6))
- data3: serverOnly? (Always 0)
- data4: questID (Required active [quest\_template.id](http://www.azerothcore.org/wiki/quest_template#id) to work)
- data5: large? (Boolean flag)
- data6: floatingTooltip (Boolean flag)
- data7: floatOnWater
- data8: conditionID1
**GAMEOBJECT\_TYPE\_TEXT = 9**
- data0: pageID ([page\_text.entry](page_text_2130246.html#page_text-entry))
- data1: language (from [Languages.dbc](Languages))
- data2: pageMaterial ([PageTextMaterial.dbc](PageTextMaterial))
- data3: allowMounted
- data4: conditionID1
- data5: NeverUsableWhileMounted
**GAMEOBJECT\_TYPE\_GOOBER = 10**
- data0: open (LockId from [Lock.dbc](Lock))
- data1: questID (Required active [quest\_template.id](http://www.azerothcore.org/wiki/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](http://www.azerothcore.org/wiki/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](#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
- data24: SpawnVignette
- data25: startOpen
- data26: DontPlayOpenAnim
- data27: IgnoreBoundingBox
- data28: NeverUsableWhileMounted
- data29: SortFarZ
- data30: SyncAnimationtoObjectLifetime
- data31: NoFuzzyHit
**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](Lock))
- data1: camera (Cinematic entry from [CinematicCamera.dbc](CinematicCamera))
- 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](TaxiPath))
- 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](Spell))
- data2: animSpell (Spell Id from [Spell.dbc](Spell))
- data3: ritualPersistent (Boolean flag)
- data4: casterTargetSpell (Spell Id from [Spell.dbc](Spell))
- 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**
- data0: actionHouseID (From [AuctionHouse.dbc](AuctionHouse) ?)
**GAMEOBJECT\_TYPE\_GUARDPOST = 21**
- data0: CreatureID
- data1: unk
**GAMEOBJECT\_TYPE\_SPELLCASTER = 22**
- data0: spell (Spell Id from [Spell.dbc](Spell))
- 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](AreaTable))
**GAMEOBJECT\_TYPE\_FLAGSTAND = 24**
- data0: open (LockId from [Lock.dbc](Lock))
- data1: pickupSpell (Spell Id from [Spell.dbc](Spell))
- data2: radius (distance)
- data3: returnAura (Spell Id from [Spell.dbc](Spell))
- data4: returnSpell (Spell Id from [Spell.dbc](Spell))
- data5: noDamageImmune (Boolean flag)
- data6: openTextID
- data7: losOK (Boolean flag)
- data8: conditionID1
- data9: playerCast
- data10: GiganticAOI
- data11: InfiniteAOI
- data12: cooldown
**GAMEOBJECT\_TYPE\_FISHINGHOLE = 25**
- data0: radius (distance)
- data1: chestLoot ([gameobject\_loot\_template.entry](http://www.azerothcore.org/wiki/loot_template#loot_template-Entry))
- data2: minRestock
- data3: maxRestock
- data4: open
**GAMEOBJECT\_TYPE\_FLAGDROP = 26**
- data0: open (LockId from [Lock.dbc](Lock))
- data1: eventID (Unknown Event ID)
- data2: pickupSpell (Spell Id from [Spell.dbc](Spell))
- 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
- data0: [areatrigger\_teleport.id](http://www.azerothcore.org/wiki/areatrigger_teleport#id)
**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
- data24: speedWorldState2
- data25: UncontestedTime
- data26: FrequentHeartbeat
**GAMEOBJECT\_TYPE\_AURAGENERATOR = 30**
- data0: startOpen (Boolean flag)
- data1: radius (Distance)
- data2: auraID1 (Spell Id from [Spell.dbc](Spell))
- data3: conditionID1 (Unknown ID)
- data4: auraID2
- data5: conditionID2
- data6: serverOnly
**GAMEOBJECT\_TYPE\_DUNGEONDIFFICULTY = 31**
- data0: mapID (From [Map.dbc](Map))
- 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. Only 'SmartGameObjectAI' can be used.
### ScriptName
Name of the script this object uses if needed
`WDBVerified`