用户工具

站点工具


数据库:world数据库:gameobject_template

这是本文档旧的修订版!


gameobject_template 表


<-返回:World 数据库

包含所有游戏对象的模板。

表结构

FieldTypeAttributesKeyNullDefaultExtraComment
entryMEDIUMINTUNSIGNEDPRINO0
typeTINYINTUNSIGNED NO0
displayIdMEDIUMINTUNSIGNED NO0
nameVARCHAR(100)SIGNED NO
IconNameVARCHAR(100)SIGNED NO
castBarCaptionVARCHAR(100)SIGNED NO
unk1VARCHAR(100)SIGNED NO
sizeFLOATSIGNED NO1
data0INTUNSIGNED NO0
data1INTUNSIGNED NO-1
data2INTUNSIGNED NO0
data3INTUNSIGNED NO0
data4INTUNSIGNED NO0
data5INTUNSIGNED NO0
data6INTUNSIGNED NO-1
data7INTUNSIGNED NO0
data8INTUNSIGNED NO0
data9INTUNSIGNED NO0
data10INTUNSIGNED NO0
data11INTUNSIGNED NO0
data12INTUNSIGNED NO0
data13INTUNSIGNED NO0
data14INTUNSIGNED NO0
data15INTUNSIGNED NO0
data16INTUNSIGNED NO0
data17INTUNSIGNED NO0
data18INTUNSIGNED NO0
data19INTUNSIGNED NO0
data20INTUNSIGNED NO0
data21INTUNSIGNED NO0
data22INTUNSIGNED NO0
data23INTUNSIGNED NO0
AINamechar(64)SIGNED NO
ScriptNameVARCHAR(64)SIGNED NO
WDBVerifiedSMALLINTSIGNED YES1

字段说明


entry

Id of the gameobject template. WDB-fields

type

NameValue
GAMEOBJECT_TYPE_DOOR0
GAMEOBJECT_TYPE_BUTTON1
GAMEOBJECT_TYPE_QUESTGIVER2
GAMEOBJECT_TYPE_CHEST3
GAMEOBJECT_TYPE_BINDER4
GAMEOBJECT_TYPE_GENERIC5
GAMEOBJECT_TYPE_TRAP6
GAMEOBJECT_TYPE_CHAIR7
GAMEOBJECT_TYPE_SPELL_FOCUS8
GAMEOBJECT_TYPE_TEXT9
GAMEOBJECT_TYPE_GOOBER10
GAMEOBJECT_TYPE_TRANSPORT11
GAMEOBJECT_TYPE_AREADAMAGE12
GAMEOBJECT_TYPE_CAMERA13
GAMEOBJECT_TYPE_MAP_OBJECT14
GAMEOBJECT_TYPE_MO_TRANSPORT15
GAMEOBJECT_TYPE_DUEL_ARBITER16
GAMEOBJECT_TYPE_FISHINGNODE17
GAMEOBJECT_TYPE_RITUAL18
GAMEOBJECT_TYPE_MAILBOX19
GAMEOBJECT_TYPE_AUCTIONHOUSE20
GAMEOBJECT_TYPE_GUARDPOST21
GAMEOBJECT_TYPE_SPELLCASTER22
GAMEOBJECT_TYPE_MEETINGSTONE23
GAMEOBJECT_TYPE_FLAGSTAND24
GAMEOBJECT_TYPE_FISHINGHOLE25
GAMEOBJECT_TYPE_FLAGDROP26
GAMEOBJECT_TYPE_MINI_GAME27
GAMEOBJECT_TYPE_LOTTERY_KIOSK28
GAMEOBJECT_TYPE_CAPTURE_POINT29
GAMEOBJECT_TYPE_AURA_GENERATOR30
GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY31
GAMEOBJECT_TYPE_BARBER_CHAIR32
GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING33
GAMEOBJECT_TYPE_GUILD_BANK34
GAMEOBJECT_TYPE_TRAPDOOR35

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-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)
  • 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 (Unknown Text ID)
  • data7: closeTextID (Unknown 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 (Unknown 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

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: ? (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)
  • data13: closeTextID
  • 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: height
  • 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: 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)
  • 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 (Unknown ID)
  • data15: closeTextID (Unknown ID)
  • data16: losOK (Boolean flag) (somewhat related to battlegrounds)
  • data19: gossipID - casts the spell when used
  • data20: AllowMultiInteract
  • data21: floatOnWater
  • data22: conditionID1
  • data23: playerCast

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
  • data7: closeTextID

GAMEOBJECT_TYPE_CAMERA = 13

  • data0: open (LockId from Lock.dbc)
  • data1: camera (Cinematic entry from CinematicCamera.dbc)
  • data2: eventID
  • data3: openTextID
  • 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: unk

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

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. Note: Only SmartGameObjectAI can be used in this field, do not use SmartAI

ScriptName

Name of the script this object uses if needed

WDBVerified

数据库/world数据库/gameobject_template.1695559185.txt.gz · 最后更改: 2023/09/24 20:39 由 admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki