# 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-23 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 **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 **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 **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`