event_gameobject_spawns

This table links gameobject_spawns to events.

Structure

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  

event_entry

The entry ID from event_properties table.

id

Autofilled by MySQL, do not touch.

entry

The entry ID of the gameobject from gameobject_properties table.

map

The map ID where the gameobject is set.

position_x_y

The position on the map where the gameobject is set.

Facing

Facing = orientation….

orientation_1_4

Thats quiet interesting, it saves triangling of the gameobject.

state

0 = opened
1 = closed
2 = alternative opened

flags

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

faction

The faction…

scale

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.

phase

This field describes in which phase the gameobject is.

overrides

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.