gameobject_template Table¶
Defines base properties for game object types - type, display, data fields, and script.
Schema Summary¶
| Field | Type | Key | Null | Default | Extra |
|---|---|---|---|---|---|
entry |
mediumint(8) unsigned | PRI | NO | 0 | |
patch |
tinyint(3) unsigned | PRI | NO | 0 | |
type |
tinyint(3) unsigned | NO | 0 | ||
displayId |
mediumint(8) unsigned | NO | 0 | ||
name |
varchar(100) | NO | '' | ||
icon |
varchar(100) | NO | '' | ||
faction |
smallint(5) unsigned | NO | 0 | ||
flags |
int(10) unsigned | NO | 0 | ||
size |
float | NO | 1 | ||
data0 |
int(10) | NO | 0 | ||
data1 |
int(11) | NO | 0 | ||
data2 |
int(10) | NO | 0 | ||
data3 |
int(10) | NO | 0 | ||
data4 |
int(10) | NO | 0 | ||
data5 |
int(10) | NO | 0 | ||
data6 |
int(11) | NO | 0 | ||
data7 |
int(10) | NO | 0 | ||
data8 |
int(10) | NO | 0 | ||
data9 |
int(10) | NO | 0 | ||
data10 |
int(10) | NO | 0 | ||
data11 |
int(10) | NO | 0 | ||
data12 |
int(10) | NO | 0 | ||
data13 |
int(10) | NO | 0 | ||
data14 |
int(10) | NO | 0 | ||
data15 |
int(10) | NO | 0 | ||
data16 |
int(10) | NO | 0 | ||
data17 |
int(10) | NO | 0 | ||
data18 |
int(10) | NO | 0 | ||
data19 |
int(10) | NO | 0 | ||
data20 |
int(10) | NO | 0 | ||
data21 |
int(10) | NO | 0 | ||
data22 |
int(10) | NO | 0 | ||
data23 |
int(10) | NO | 0 | ||
mingold |
mediumint(8) unsigned | NO | 0 | ||
maxgold |
mediumint(8) unsigned | NO | 0 | ||
script_name |
varchar(64) | NO | '' |
Field Breakdown¶
entry- Unique gameobject template ID.patch- Content patch (progression) this row applies to.type- Object type; see Data Fields by Type.displayId- Display model row fromGameObjectDisplayInfo.dbc.name- Object name shown on interact/tooltip contexts.icon- Icon name (DBC passthrough, mostly empty in vanilla).faction- Faction template id (faction_template.id).flags- Behaviour bitmask; see the Flags table below.size- Display scale multiplier.mingold- Minimum coin dropped when looted (chest-type objects).maxgold- Maximum coin dropped when looted.script_name- C++ script binding (Scripts Library).
Flags (GO_FLAG_*)¶
| Flag | Name | Effect |
|---|---|---|
| 0x01 | IN_USE | interaction disabled while animating |
| 0x02 | LOCKED | needs key/spell/event; shows "Locked" |
| 0x04 | INTERACT_COND | cannot interact until condition met |
| 0x08 | TRANSPORT | object can carry units |
| 0x10 | NO_INTERACT | players cannot use it |
| 0x20 | NODESPAWN | never despawns (doors toggle state) |
| 0x40 | TRIGGERED | summoned/temporary object |
Source: src/game/Objects/GameObjectDefines.h.
Data Fields by Type¶
data0..data23 meaning depends entirely on type; column numbers below = dataN index.
Source of truth: the GameObjectInfo union in src/game/Objects/GameObjectDefines.h.
Types 4 BINDER, 14 MAP_OBJECT, 16 DUEL_ARBITER, 19 MAILBOX and 28 LOTTERY_KIOSK carry no
data*payload; their behaviour is hard-coded.
Type Index¶
| Type | Name | Purpose |
|---|---|---|
| 0 | DOOR | doors/gates, openable or scripted |
| 1 | BUTTON | buttons/levers |
| 2 | QUESTGIVER | object-based quest givers |
| 3 | CHEST | lootable chests |
| 4 | BINDER | spirit binder (set home) |
| 5 | GENERIC | misc props |
| 6 | TRAP | area traps casting spells |
| 7 | CHAIR | sittable benches |
| 8 | SPELL_FOCUS | spell focus requirement objects |
| 9 | TEXT | readable book pages |
| 10 | GOOBER | generic usable ("goober") objects |
| 11 | TRANSPORT | elevator-style transports (fixed path) |
| 12 | AREADAMAGE | damaging areas |
| 13 | CAMERA | plays a cinematic |
| 14 | MAP_OBJECT | reserved |
| 15 | MO_TRANSPORT | boats/zeppelins; see Transports |
| 16 | DUEL_ARBITER | duel arbiter flag |
| 17 | FISHINGNODE | fishing bobber |
| 18 | SUMMONING_RITUAL | ritual summoning circles |
| 19 | MAILBOX | mailbox |
| 20 | AUCTIONHOUSE | auction house object |
| 21 | GUARDPOST | summons guards when used |
| 22 | SPELLCASTER | casts a spell on users |
| 23 | MEETINGSTONE | meeting stones |
| 24 | FLAGSTAND | BG flag stand (WSG) |
| 25 | FISHINGHOLE | fishing pools |
| 26 | FLAGDROP | dropped BG flag |
| 27 | MINI_GAME | client mini-games |
| 28 | LOTTERY_KIOSK | lottery kiosk |
| 29 | CAPTURE_POINT | capture points |
| 30 | AURA_GENERATOR | persistent aura emitters |
Per-Type Data Fields¶
0 - DOOR¶
data0 startOpen · data1 lockId -> Lock.dbc · data2 autoCloseTime (seconds x 65536) · data3 noDamageImmune · data4 openTextID · data5 closeTextID
1 - BUTTON¶
Same as door for data0-2; plus data3 linkedTrap, data4 noDamageImmune, data5 large, data6 openTextID, data7 closeTextID, data8 losOK.
2 - QUESTGIVER¶
data0 lockId · data1 questList · data2 pageMaterial · data3 gossipID · data4 customAnim · data5 noDamageImmune · data6 openTextID · data7 losOK · data8 allowMounted · data9 large
3 - CHEST¶
data0 lockId (Lock.dbc) · data1 lootId ->
gameobject_loot_template.entry · data2 chestRestockTime ·
data3 consumable · data4/data5 min/max successful opens · data6 lootedEvent ·
data7 linkedTrap · data8 quest required to open · data9 level · data10 losOK ·
data11 leaveLoot · data12 notInCombat · data13 logLoot · data14 openTextID ·
data15 groupLootRules
4 - BINDER¶
Spirit binder; sets home bind. No data payload.
5 - GENERIC¶
data0 floatingTooltip · data1 highlight · data2 serverOnly · data3 large · data4 floatOnWater · data5 questID
6 - TRAP¶
data0 lockId · data1 level · data2 radius · data3 spellId · data4 charges · data5 cooldown · data6 autoCloseTime · data7 startDelay · data8 serverOnly · data9 stealthed · data10 large · data11 stealthAffected · data12 openTextID · data13 closeTextID
7 - CHAIR¶
data0 slots · data1 height · data2 onlyCreatorUse
8 - SPELL_FOCUS¶
data0 focusId (SpellFocusObject.dbc) · data1 radius · data2 linkedTrap · data3 serverOnly · data4 questID · data5 large
9 - TEXT¶
data0 pageID (page_text.entry) · data1 language · data2 pageMaterial ·
data3 allowMounted
10 - GOOBER¶
data0 lockId · data1 questId · data2 eventId · data3 autoCloseTime · data4 customAnim · data5 consumable · data6 cooldown · data7 pageId · data8 language · data9 pageMaterial · data10 spellId · data11 noDamageImmune · data12 linkedTrap · data13 large · data14 openTextID · data15 closeTextID · data16 losOK · data17 allowMounted · data18 floatingTooltip · data19 gossipID
11 - TRANSPORT¶
Elevator-style transport on a fixed path.
data0 pause · data1 startOpen · data2 autoCloseTime (seconds x 65536)
12 - AREADAMAGE¶
data0 lockId · data1 radius · data2 damageMin · data3 damageMax · data4 damageSchool · data5 autoCloseTime · data6 openTextID · data7 closeTextID
13 - CAMERA¶
data0 lockId · data1 cinematicId · data2 eventID · data3 openTextID
14 - MAP_OBJECT¶
Reserved; no data payload.
15 - MO_TRANSPORT¶
Boats/zeppelins; see Transports.
data0 taxiPathId · data1 moveSpeed · data2 accelRate · data3/data4 start/stop events · data5 transportPhysics · data6 mapID
16 - DUEL_ARBITER¶
Duel arbiter flag object; single spawn in game data.
17 - FISHINGNODE¶
Fishing bobber. data0 unused · data1 lootId (defined in the union but not read by the core;
bobber loot comes from fishing_loot_template keyed by zone/area id).
18 - SUMMONING_RITUAL¶
data0 required casters · data1 spellId · data2 animSpell · data3 ritualPersistent · data4 casterTargetSpell · data5 casterTargetSpellTargets · data6 castersGrouped · data7 ritualNoTargetCheck
19 - MAILBOX¶
Mailbox; no data payload.
20 - AUCTIONHOUSE¶
data0 auctionHouseID (Alliance / Horde / neutral house id)
21 - GUARDPOST¶
data0 creatureId of the guard summoned · data1 charges
22 - SPELLCASTER¶
data0 spellId cast on the user · data1 charges · data2 partyOnly · data3 allowMounted ·
data4 large · data5 conditionID1 (conditions)
23 - MEETINGSTONE¶
data0 minLevel · data1 maxLevel · data2 areaID
24 - FLAGSTAND¶
data0 lockId · data1 pickupSpell · data2 radius · data3 returnAura · data4 returnSpell · data5 noDamageImmune · data6 openTextID · data7 losOK
25 - FISHINGHOLE¶
data0 radius · data1 lootId (gameobject_loot_template.entry) ·
data2 minSuccessfulOpens · data3 maxSuccessfulOpens · data4 lockId
26 - FLAGDROP¶
data0 lockId · data1 eventID · data2 pickupSpell · data3 noDamageImmune · data4 openTextID
27 - MINI_GAME¶
Client mini-game object; unused in vanilla content.
data0 gameType
28 - LOTTERY_KIOSK¶
Lottery kiosk; unused in vanilla content.
29 - CAPTURE_POINT¶
Capture-point object (TBC-era mechanics; unused in vanilla content).
data0 radius · data1 spell · data2+ worldState / event ids per slot
30 - AURA_GENERATOR¶
Emits an aura to players inside its radius.
data0 startOpen · data1 radius · data2+ aura/spell ids and conditions per slot