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
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.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)
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
- data0: pageID (page_text.entry)
- data1: language (from Languages.dbc)
- data2: pageMaterial (PageTextMaterial.dbc)
- data3: allowMounted
- data4: conditionID1
- data5: NeverUsableWhileMounted
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.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 (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_MOTRANSPORT = 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_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_AUCTIONHOUSE = 20
- data0: actionHouseID (From AuctionHouse.dbc ?)
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
- data0: radius (distance)
- data1: chestLoot (gameobject_loot_template.entry)
- data2: minRestock
- data3: maxRestock
- data4: open
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_MINIGAME = 27
Object type not used. Reused in core for CUSTOM_TELEPORT
- data0: 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)
- data3: conditionID1 (Unknown ID)
- data4: auraID2
- data5: conditionID2
- data6: serverOnly
GAMEOBJECT_TYPE_DUNGEONDIFFICULTY = 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
WDBVerified