EVENT EGS: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
mNo edit summary
m prune more trash info
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
EVENT_EGS is a [[EDuke32_event_list|Game Event]].
EVENT_EGS is a [[EDuke32_event_list|Game Event]].


This [[event]] is triggered when a new sprite is spawned on the map.
This [[event]] is triggered when a new sprite is spawned on the map after load. It is NOT triggered for any pre-placed sprites that are already on the map at load-time.


This event run for all actors, thus the gamevar [[THISACTOR]] refers to the ID of the sprite that is executing the code.
In comparison, [[EVENT_SPAWN]] runs for all sprites that pre-exist when the map is loaded, AS WELL AS all newly spawned sprites.
 
The playernum is set to the closest player in range. [[vm.playerDist]] is set to the distance of the spawned sprite to the closest player, hence commands such as [[ifpdistl]] will work as expected.
 
Internally, this is the moment the sprite structures and gamevars are reset for the sprite ID.
 
In comparison, [[EVENT_SPAWN]] runs for all sprites that pre-exist when the map is loaded and newly spawned sprites, and internally is used for changing the properties of specific sprites (such as enemies, etc).


Note that EVENT_EGS and EVENT_SPAWN are triggered the moment the sprite is spawned.
Note that EVENT_EGS and EVENT_SPAWN are triggered the moment the sprite is spawned.

Latest revision as of 00:32, 5 February 2022

Event ID player# THISACTOR RETURN
EVENT_EGS closest player to sprite spawned sprite 0 values

EVENT_EGS is a Game Event.

This event is triggered when a new sprite is spawned on the map after load. It is NOT triggered for any pre-placed sprites that are already on the map at load-time.

In comparison, EVENT_SPAWN runs for all sprites that pre-exist when the map is loaded, AS WELL AS all newly spawned sprites.

Note that EVENT_EGS and EVENT_SPAWN are triggered the moment the sprite is spawned.

For example:

useractor notenemy ACTOR
    espawn PIGCOP
    setactor[RETURN].pal 1
enda

onevent EVENT_EGS
    ifactor PIGCOP
        spritepal 2
endevent

In this case, the PIGCOP palette will be 1, because EVENT_EGS takes place before the lines below the espawn command.

Deleting sprites during EVENT_EGS may cause problems, since some hard-coded functions may try to change their properties after they were spawned (similar to the espawn example above).

EVENT_EGS can be used to save the original sprite owner before it's changed.