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 |
" |
|
|
| VerifiedBuild |
INT |
|
|
YES |
NULL |
|
|
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_SUMMONING_RITUAL |
18 |
| GAMEOBJECT_TYPE_MAILBOX |
19 |
| GAMEOBJECT_TYPE_DO_NOT_USE |
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_DO_NOT_USE_2 |
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
A string sent to the client with the gameobject data. Its use is not known.
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.MenuID)
- 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.ID)
- 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_MO_TRANSPORT = 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_SUMMONING_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_DO_NOT_USE = 20
An auction house type in the client, not used by the core.
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_MINI_GAME = 27
Object type not used. Reused in core for CUSTOM_TELEPORT
GAMEOBJECT_TYPE_DO_NOT_USE_2 = 28
Object type not used
GAMEOBJECT_TYPE_CAPTURE_POINT = 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_AURA_GENERATOR = 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_DUNGEON_DIFFICULTY = 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
VerifiedBuild
This field is used to determine if this gameobject template originates from verified sniffs.
If value is 0 then it has not been parsed yet or it has been inherited from an older DB or another Core.
If value is above 0 then it has been parsed with sniffs from that specific client build.