This table links gameobject_spawns to events.


Field Type Default Comment
event_entry int(3)    
id int(11)   Auto Num
entry int(10) 0  
map int(10) 0  
position_x float(0) 0  
position_y float(0) 0  
position_z float(0) 0  
facing float(0) 0  
orientation1 float(0) 0  
orientation2 float(0) 0  
orientation3 float(0) 0  
orientation4 float(0) 0  
state int(10) 0  
flags int(10) 0  
faction int(10) 0  
scale float(0) 0  
respawnNpcLink int(10) 0  
phase int(10) 0  
overrides int(10) 0  


The entry ID from event_properties table.


Autofilled by MySQL, do not touch.


The entry ID of the gameobject from gameobject_properties table.


The map ID where the gameobject is set.


The position on the map where the gameobject is set.


Facing = orientation….


Thats quiet interesting, it saves triangling of the gameobject.


0 = opened
1 = closed
2 = alternative opened


1    = 0x1  not selectable
2    = 0x2  locked (needs a key to open)
4    = 0x4  not targetable
8    = 0x8   ???
16   = 0x10 unclickable (only temp include in some instance scripts, not implemented yet)
32   = 0x20  ???
64   = 0x40  ???
128  = 0x??? ???
256  = 0x100 ???
512  = 0x200 damaged
1024 = 0x400 destroyed


The faction…


The customized scale. It would be saved after .go mod scale X. This field is set Default to the value from row Scale from gameobject_properties table.


This field describes in which phase the gameobject is.


1  = 0x01  Makes the gameobject forever visible on the map after you saw it at least once.
2  = 0x02  When you enter its map, the gameobject gets pushed to you no matter how far it is (but only for players).
4  = 0x04  he Map will get marked that it contains an object like this.
8  = 0x08  When this gameobject moves and sends updates about it's position, do so in the second range - MapMgr::ChangeObjectLocation, +/- 6 units wide instead of +/- 1.
16 = 0x10  Let the core decide about the flags sent in the A9 - example: 252 instead of 352 for Deeprun Tram.
32 = 0x20  Let the core use the full field instead an uint8 in GAMEOBJECT_BYTES_1, if the database creator knows what to do with it.
64 = 0x40  Makes it possible for the core to skip calculating these fields and use whatever was specified in the spawn.