-
Notifications
You must be signed in to change notification settings - Fork 48
gameobject_template
Back to world database list of tables.
Contains template off all world’s objects
Field | Type | Null | Key | Default | Extra |
entry | int(10) unsigned | NO | PRI | 0 | |
type | int(10) unsigned | NO | 0 | ||
displayId | int(10) unsigned | NO | 0 | ||
name | char(100) | NO | MUL | 0 | |
IconName | varchar | NO | |||
castBarCaption | varchar(100) | NO | |||
faction | int(4) unsigned | NO | 0 | ||
flags | int(4) unsigned | NO | 0 | ||
ExtraFlags | int(11) unsigned | NO | 0 | ||
size | float | NO | 1 | ||
data0 | int(10) unsigned | NO | 0 | ||
data1 | int(10) unsigned | NO | 0 | ||
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(10) unsigned | NO | 0 | ||
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 | ||
CustomData1 | int(11) unsigned | NO | 0 | ||
mingold | mediumint(8) unsigned | NO | 0 | ||
maxgold | mediumint(8) unsigned | NO | 0 | ||
ScriptName | char(100) | NO |
Id of the gameobject template
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
Graphic model id sent to the client from GameObjectDisplayInfo.dbc.
Object’s name
Shows unique text in the object’s casting bar when the object is used.
Object’s faction, if any. See FactionTemplate.dbc
- 1 = in use (can’t interact with the object)
- 2 = Makes chests/doors locked (requiring a key, spell, event to open)
- 4 = Untargetable
- 8 = Transport (Object can transport (elevator, boat, car))
- 16 = Player cant interact with the object.
- 32 = No despawn (never despawn, typically for doors, they just change state)
- 64 = Triggered (typically, summoned objects. Triggered by spell or other events)
NOTE: All chests that contain only quest loots need to have flag 4 set as the core will only allow players who have the quest in their questlog to loot them.
- 1 = GAMEOBJECT_EXTRA_FLAG_CUSTOM_ANIM_ON_USE (// GO that plays custom animation on usage)
Object’s size must be set because graphic models can be resample.
The content of the data fields depends on the gameobject type
-
GAMEOBJECT_TYPE_DOOR = 0
- data0: startOpen (Boolean flag)
- data1: open (LockId from Lock.dbc)
- data2: autoClose (65536 * seconds(sniff value)) (e.g. open after 5 min = 300 * 65536 = 19660800)
- data3: noDamageImmune (Boolean flag)
- data4: openTextID (Unknown Text ID)
- data5: closeTextID (Unknown Text ID)
-
GAMEOBJECT_TYPE_BUTTON = 1
- data0: startOpen (State)
- data1: open (LockId from Lock.dbc)
- data2: autoClose (65536 * seconds(sniff value))
- 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)
-
GAMEOBJECT_TYPE_QUESTGIVER = 2
- data0: open (LockId from Lock.dbc)
- data1: questList (unknown ID)
- data2: pageMaterial (PageTextMaterial.dbc)
- data3: gossipID (unknown ID)
- data4: customAnim (unknown value from 1 to 4)
- data5: noDamageImmune (Boolean flag)
- data6: openTextID (Unknown Text ID)
- data7: losOK (Boolean flag)
- data8: allowMounted (Boolean flag)
- data9: large? (Boolean flag)
-
GAMEOBJECT_TYPE_CHEST = 3
- data0: open (LockId from Lock.dbc)
- data1: chestLoot (gameobject_loot_template.entry) This field is obtained from WDB data and is not to be changed
- 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 (dbscripts_on_event)
- data7: linkedTrap (gameobject_template.entry (Spawned GO type 6))
- data8: questID (quest_template.entry 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)
- 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.entry to work)
-
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: charges (0 or 1)
- data5: cooldown (time in seconds)
- data6: autoClose (unknown)
- 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)
-
GAMEOBJECT_TYPE_CHAIR = 7
- data0: chairslots (number of players that can sit down on it)
- data1: chairorientation? (number of usable side?)
-
GAMEOBJECT_TYPE_SPELLFOCUS = 8
- data0: spellFocusType (from SpellFocusObject.dbc)
- data1: diameter (so radius*2)
- data2: linkedTrap (gameobject_template.entry (Spawned GO type 6))
-
GAMEOBJECT_TYPE_TEXT = 9
- data0: pageID (page_text.entry)
- data1: language (from Languages.dbc)
- data2: pageMaterial (PageTextMaterial.dbc)
-
GAMEOBJECT_TYPE_GOOBER = 10
- data0: open (LockId from Lock.dbc)
- data1: questID (Required active quest_template.entry to work)
- data2: eventID (The id of the event that the gameobject will activate)
- data3: autoClose (most be the same like doors (65536 * seconds(sniff value))
- data4: customAnim (unknown)
- data5: consumable (Boolean flag controling if gameobject will despawn or not)
- data6: cooldown (time in 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)
- GAMEOBJECT_TYPE_TRANSPORT = 11
No data data used, all are always 0
- GAMEOBJECT_TYPE_AREADAMAGE = 12
Object type not used
-
GAMEOBJECT_TYPE_CAMERA = 13
- data0: open (LockId from Lock.dbc)
- data1: camera (Cinematic entry from CinematicCamera.dbc)
- GAMEOBJECT_TYPE_MAPOBJECT = 14
No data data used, all are always 0
-
GAMEOBJECT_TYPE_MOTRANSPORT = 15
- data0: taxiPathID (Id from TaxiPath.dbc)
- data1: moveSpeed
- data2: accelRate
- 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)
- GAMEOBJECT_TYPE_MAILBOX = 19
No data data used, all are always 0
-
GAMEOBJECT_TYPE_AUCTIONHOUSE = 20
- data0: actionHouseID (From AuctionHouse.dbc ?)
- GAMEOBJECT_TYPE_GUARDPOST = 21
Object type not used
-
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)
-
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)
-
GAMEOBJECT_TYPE_FISHINGHOLE = 25
- data0: radius (distance)
- data1: chestLoot (gameobject_loot_template.entry)
- data2: minRestock
- data3: maxRestock
-
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)
- 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)
-
GAMEOBJECT_TYPE_AURA_GENERATOR = 30
- data0: startOpen (Boolean flag)
- data1: radius (Distance)
- data2: auraID1 (Spell Id from spell.dbc)
- data3: conditionID1 (Unknown ID)
-
GAMEOBJECT_TYPE_DUNGEONDIFFICULTY = 31
- data0: mapID (From Map.dbc)
- data1: difficulty (0 or 1)
- GAMEOBJECT_TYPE_BARBER_CHAIR = 32
Used for barber chairs.
- GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33
Object type not used
- GAMEOBJECT_TYPE_GUILD_BANK = 34
No data data used, all are always 0
Minimum possible gold that the GO holds when looted, in copper.
Maximum possible gold that the GO holds when looted, in copper.
Name of the script this object uses if needed