Gameobject template SF

From Project Skyfire
Jump to: navigation, search

Back to world database list of tables.


The `gameobject_template` table

Contains template off all world's objects


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 "
faction smallint(5) unsigned NO 0
flags int(10) unsigned NO 0
size float signed NO 1
QuestItem1 int(11) unsigned NO 0
QuestItem2 int(11) unsigned NO 0
QuestItem3 int(11) unsigned NO 0
QuestItem4 int(11) unsigned NO 0
QuestItem5 int(11) unsigned NO 0
QuestItem6 int(11) unsigned NO 0
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. This field comes from WDB and is not to be changed

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_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

This field comes from WDB and is not to be changed

displayId

Graphic model id sent to the client from GameObjectDisplayInfo.dbc This field comes from WDB and is not to be changed

name

Object's name. This field comes from WDB and is not to be changed

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.

This field comes from WDB and is not to be changed

castBarCaption

Shows unique text in the object's casting bar when the object is used. This field comes from WDB and is not to be changed

unk1

This field has no description. You can help wiki by clicking here to describe this field, if you have permissions.

faction

Object's faction, if any. See FactionTemplate.dbc Values for this field can be sniffed.

flags

Flag Name Comments
1 0x00000001 GO_FLAG_IN_USE Gameobject in use - Disables interaction while being animated
2 0x00000002 GO_FLAG_LOCKED Makes the Gameobject Locked. Requires a key, spell, or event to be opened. "Locked" appears in tooltip
4 0x00000004 GO_FLAG_INTERACT_COND Untargetable, cannot interact
8 0x00000008 GO_FLAG_TRANSPORT Gameobject can transport (boat, elevator, car)
16 0x00000010 GO_FLAG_NOT_SELECTABLE Not selectable! (Not even in GM-mode)
32 0x00000020 GO_FLAG_NODESPAWN Never despawns. Typical for gameobjects with on/off state (doors for example)
64 0x00000040 GO_FLAG_DAMAGED Gameobject has been siege damaged
128 0x00000080 GO_FLAG_DESTROYED Gameobject has been destroyed

Values for this field can be sniffed.

size

Object's size must be set because graphic models can be resample. This field comes from WDB and is not to be changed

QuestItem1-6

This field has no description. You can help wiki by clicking here to describe this field, if you have permissions.
This field comes from WDB and is not to be changed

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)


  • 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)


  • GAMEOBJECT_TYPE_QUESTGIVER = 2
    • data0: open (LockId from Lock.dbc)
    • data1: questList (unknown ID)
    • data2: pageMaterial (PageTextMaterial.dbc)
    • data3: gossipID (gossip_menu 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 comes from WDB 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 (unknown ID)
    • 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)


  • 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)


  • 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)


  • GAMEOBJECT_TYPE_CHAIR = 7
    • data0: chairslots (number of players that can sit down on it)
    • data1: chairorientation? (number of usable side?)


  • 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)



  • 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:  ? (unknown flag)
    • 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)


  • GAMEOBJECT_TYPE_TRANSPORT = 11

No data data used, all are always 0


  • GAMEOBJECT_TYPE_AREADAMAGE = 12

Object type not used



  • 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
    • data5:  ?
    • data6:  ?
    • data7:  ?
    • data8:  ?


  • 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


  • 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:  ?
    • data7: losOK (Boolean flag)



  • 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


  • 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_AURAGENERATOR = 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
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

Used for barbier chairs.


  • 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

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

This field is used by the TrinityDB Team to determine whether a template has been verified from WDB files. Not sure if it is used by Skyfire. It is best to get the correct data to add to database rather than waste time with wrong info.

If value is 0 then it has not been parsed yet.

If value is above 0 then it has been parsed with WDB files from that specific client build.

If value is -1 then it is just a place holder until proper data are found on WDBs.

If value is - client build then it was parsed with WDB files from that specific client build and manually edited later for some special necessity.