EVENT DAMAGESPRITE

From EDukeWiki
Jump to navigation Jump to search
Event ID player# THISACTOR RETURN
EVENT_DAMAGESPRITE -1 Damage Source 2-6 values

EVENT_DAMAGESPRITE is a Game Event.

This event is triggered whenever a sprite is hit by a weapon, however it is executed before the damage is actually accumulated in htextra.

This event is only executed if the tilenum was set with damageeventtile and damageeventtilerange.

THISACTOR equals the spriteNum of the projectile or source of damage.

RETURN contains the spriteNum of the sprite that is being damaged. If you set this to -1, you can skip damage application entirely, in which case no damage is accumulated in htextra, and EVENT_POSTDAMAGESPRITE will not occur.

See also EVENT_DAMAGEFLOOR, EVENT_DAMAGECEILING, EVENT_DAMAGEWALL and EVENT_POSTDAMAGESPRITE.

Return Values

The additional return values of this event are only set if the damage type is RADIUSDAMAGE, i.e. explosive damage. If the damage was not caused by an explosion, only `userdef.return 0` is set, and `userdef.return 1` will be set to -1.

Note that radius damage is hard-coded to override all previously accumulated damage in a single tic. To bypass this, set RETURN to -1 and use the following values to apply the radius damage manually.

userdef.return 0 (alias RETURN)
Is set to the spritenum of the sprite being damaged. Set to -1 to skip applying the damage entirely. Cannot be used to change the destination of the damage.
userdef.return 1
Contains the blast radius if the damage type was radius damage. This value is set to -1 if no radius damage occurred.
userdef.return 2
Contains the damage dealt in the outermost blast radius area. (usually defined to be the lowest)
userdef.return 3
Contains the damage dealt in the second to outermost blast radius area.
userdef.return 4
Contains the damage dealt in the second to innermost blast radius area.
userdef.return 5
Contains the damage dealt in the innermost blast radius area. (usually defined to be the highest)