/
gameobject_template

gameobject_template

Contains template of all gameobjects

Structure

Field

Type

Attributes

Key

Null

Default

Extra

Comment

entry

mediumint(8)

unsigned

PRI

NO

0



type

tinyint(3)

unsigned


NO

0



displayId

mediumint(8)

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(10)

unsigned


NO

0



data1

int(11)

unsigned


NO

-1



data2

int(10)

unsigned


NO

0



data3

int(10)

unsigned


NO

0



data4

int(10)

unsigned


NO

0



data5

int(10)

unsigned


NO

0



data6

int(11)

unsigned


NO

-1



data7

int(10)

unsigned


NO

0



data8

int(10)

unsigned


NO

0



data9

int(10)

unsigned


NO

0



data10

int(10)

unsigned


NO

0



data11

int(10)

unsigned


NO

0



data12

int(10)

unsigned


NO

0



data13

int(10)

unsigned


NO

0



data14

int(10)

unsigned


NO

0



data15

int(10)

unsigned


NO

0



data16

int(10)

unsigned


NO

0



data17

int(10)

unsigned


NO

0



data18

int(10)

unsigned


NO

0



data19

int(10)

unsigned


NO

0



data20

int(10)

unsigned


NO

0



data21

int(10)

unsigned


NO

0



data22

int(10)

unsigned


NO

0



data23

int(10)

unsigned


NO

0



AIName

char(64)

signed


NO

"



ScriptName

varchar(64)

signed


NO

"



WDBVerified

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

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

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

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

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

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


     

    ValueComment
    05 man normal, 10 man normal
    15 man heroic, 25 normal
    210 man heroic
    325 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

Related content