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