gameobject_template
Contains template of all gameobjects
Structure
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
mediumint(8) | unsigned | PRI | NO | 0 | |||
tinyint(3) | unsigned | NO | 0 | ||||
mediumint(8) | unsigned | NO | 0 | ||||
varchar(100) | signed | NO | " | ||||
varchar(100) | signed | NO | " | ||||
varchar(100) | signed | NO | " | ||||
varchar(100) | signed | NO | " | ||||
float | signed | NO | 1 | ||||
int(10) | unsigned | NO | 0 | ||||
int(11) | unsigned | NO | -1 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(11) | unsigned | NO | -1 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
int(10) | unsigned | NO | 0 | ||||
char(64) | signed | NO | " | ||||
varchar(64) | signed | NO | " | ||||
smallint(5) | signed | YES | 1 |
Description of the fields
entry
Id of the gameobject template. WDB-fields
type
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_MAP_OBJ_TRANSPORT = 15, GAMEOBJECT_TYPE_DUEL_ARBITER = 16, GAMEOBJECT_TYPE_FISHINGNODE = 17, GAMEOBJECT_TYPE_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_CONTROL_ZONE = 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, GAMEOBJECT_TYPE_NEW_FLAG = 36, GAMEOBJECT_TYPE_NEW_FLAG_DROP = 37, GAMEOBJECT_TYPE_GARRISON_BUILDING = 38, GAMEOBJECT_TYPE_GARRISON_PLOT = 39, GAMEOBJECT_TYPE_CLIENT_CREATURE = 40, GAMEOBJECT_TYPE_CLIENT_ITEM = 41, GAMEOBJECT_TYPE_CAPTURE_POINT = 42, GAMEOBJECT_TYPE_PHASEABLE_MO = 43, GAMEOBJECT_TYPE_GARRISON_MONUMENT = 44, GAMEOBJECT_TYPE_GARRISON_SHIPMENT = 45, GAMEOBJECT_TYPE_GARRISON_MONUMENT_PLAQUE = 46, GAMEOBJECT_TYPE_ITEM_FORGE = 47, GAMEOBJECT_TYPE_UI_LINK = 48, GAMEOBJECT_TYPE_KEYSTONE_RECEPTACLE = 49, GAMEOBJECT_TYPE_GATHERING_NODE = 50, GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD = 51, GAMEOBJECT_TYPE_MULTI = 52, GAMEOBJECT_TYPE_SIEGEABLE_MULTI = 53, GAMEOBJECT_TYPE_SIEGEABLE_MO = 54, GAMEOBJECT_TYPE_PVP_REWARD = 55, GAMEOBJECT_TYPE_PLAYER_CHOICE_CHEST = 56, GAMEOBJECT_TYPE_LEGENDARY_FORGE = 57, GAMEOBJECT_TYPE_GARR_TALENT_TREE = 58, GAMEOBJECT_TYPE_WEEKLY_REWARD_CHEST = 59, GAMEOBJECT_TYPE_CLIENT_MODEL = 60
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-32
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 (broadcast_text ID)
- data5: closeTextID (broadcast_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 (broadcast_text ID)
- data7: closeTextID (broadcast_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 (broadcast_text 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
- data24: trivialSkillHigh
- data25: Dungeon Encounter
- data26: spell
- data27: GiganticAOI
- data28: LargeAOI
- data29: spawnVignette
- data30: chestPersonalLoot
- data31: turnpersonallootsecurityoff
- data32: Chestproperties
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: autoCloseTime
- data7: startDelay? (time in seconds)
- data8: serverOnly? (always 0)
- data9: stealthed (Boolean flag)
- data10: large? (Boolean flag)
- data11: stealthAffected (Boolean flag)
- data12: openTextID (broadcast_text ID)
- data13: closeTextID (broadcast_text ID)
- 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)
- data1: radius
- 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 (broadcast_text ID)
- data15: closeTextID (broadcast_text ID)
- data16: losOK (Boolean flag) (somewhat related to battlegrounds)
- data17: Is usable while on mount/vehicle. (0/1)
- data18: floatingTooltip (0/1)
- data19: gossipID - casts the spell when used
- data20: AllowMultiInteract
- data21: floatOnWater
- data22: conditionID1
- data23: playerCast
- data24: SpawnVignette
- data25: startOpen
- data26: DontPlayOpenAnim
- data27: IgnoreBoundingBox
- data28: NeverUsableWhileMounted
- data29: SortFarZ
- data30: SyncAnimationtoObjectLifetime
- data31: NoFuzzyHit
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 (broadcast_text ID)
- data7: closeTextID (broadcast_text ID)
GAMEOBJECT_TYPE_CAMERA = 13
- data0: open (LockId from Lock.dbc)
- data1: camera (Cinematic entry from CinematicCamera.dbc)
- data2: eventID
- data3: openTextID (broadcast_text ID)
- 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: charges
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 (broadcast_text ID)
- 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 (broadcast_text ID)
- 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
- data24: speedWorldState2
- data25: UncontestedTime
- data26: FrequentHeartbeat
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. Only 'SmartGameObjectAI' can be used.
ScriptName
Name of the script this object uses if needed
WDBVerified