# 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](#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: 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](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. Note: Only `SmartGameObjectAI` can be used in this field, do not use `SmartAI` ### ScriptName Name of the script this object uses if needed `WDBVerified`