AzerothCore
Pages :

gameobject

<-Back-to:World

The `gameobject` table

This table holds the individual object data on each spawned game object in the world. This data along with the object's template data is read and used to instantiate the objects in the world.

Structure

Field Type Attributes Key Null Default Extra Comment
guid INT UNSIGNED PRI NO NULL Auto increment Global Unique Identifier
id INT UNSIGNED NO 0 Gameobject Identifier
map SMALLINT UNSIGNED NO 0 Map Identifier
zoneId SMALLINT UNSIGNED NO 0 Zone Identifier
areaId SMALLINT UNSIGNED NO 0 Area Identifier
spawnMask TINYINT UNSIGNED NO 1
phaseMask SMALLINT UNSIGNED NO 1
position_x FLOAT SIGNED NO 0
position_y FLOAT SIGNED NO 0
position_z FLOAT SIGNED NO 0
orientation FLOAT SIGNED NO 0
rotation0 FLOAT SIGNED NO 0
rotation1 FLOAT SIGNED NO 0
rotation2 FLOAT SIGNED NO 0
rotation3 FLOAT SIGNED NO 0
spawntimesecs INT SIGNED NO 0
animprogress TINYINT UNSIGNED NO 0
state TINYINT UNSIGNED NO 1
ScriptName CHAR YES ''
VerifiedBuild INT SIGNED YES NULL Not used by the core.
Comment TEXT YES NULL

Description of the fields

guid

The global unique identifier for the game object. This field must be unique among all game objects.

id

The template ID of the gameobject. See gameobject_template.entry

map

The map ID where this object is spawned. See Maps.dbc

zoneId

The ID of the zone that this object is spawned in. (e.g. The Barrens)

This column is filled in by the worldserver on startup if the Calculate.Gameoject.Zone.Area.Data setting is enabled. It originates from AreaTable.dbc.

areaId

The ID of the area that this object is spawned in. You can think of an area as a "subzone" of a zone, e.g. Lushwater Oasis inside The Barrens.

This column is filled in by the worldserver on startup if the Calculate.Gameoject.Zone.Area.Data setting is enabled. It originates from AreaTable.dbc.

spawnMask

Controls under which difficulties the object is spawned.

Just like flags you can add them as you wish so 3 would be: Spawned in 10/25 man normal versions of maps (pre 3.2 all maps)

Value Comment
0 Not spawned
1 Spawned only in 10-man-normal versions of maps (includes maps without a heroic mode)
2 Spawned only in 25-man-normal versions of maps (or heroics pre 3.2)
4 Spawned only in 10-man heroic versions of maps
8 Spawned only in 25-man-heroic versions of maps
15 Spawned in all versions of maps

phaseMask

This is a bitmask field that describes all the phases that this gameobject will appear in. Aura 261 determines the phase you can see. For example, if you had this aura http://www.wowhead.com/?spell=55782, you would be able to see gameobjects in phase 2. If you wanted the gameobject to be visible in both phase 1 and phase 2, you would set the phaseMask to 3.

position_x

The X position.

position_y

The Y position.

position_z

The Z position.

orientation

The orientation. (North = 0, South = 3.14159)

rotation0

rotation1

rotation2

rotation3

spawntimesecs

Time in seconds for this object to respawn.

Using 0 will result in the object not despawning on use.

Using a negative value will result in the object starting out by being "despawned" until a script will spawn it. It will then despawn after the amount of time specified here has passed.

animprogress

Not really known what this is used for at this time. However, always set it to 100 for chests.

state

For chests or doors.

  • 1 = closed
  • 0 = open

ScriptName

Same as gameobject_template.scriptname.

A gameobject.scriptname record will override a gameobject_template.scriptname record.

VerifiedBuild

This field is used to determine if this gameobject originates from verified sniffs.

If value is 0 then it has not been parsed yet or it has been inherited from an older DB or another Core.

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

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.

comment

This field serves to add additional context to this gameobject, mostly in the context of sniffed values or script notes.

For example, if a gameobject's position needed to be modified, the original positions are kept in the comment field. Or if the gobs in question are part of a larger script, the comment serves for context.