DeathBallImpact: Difference between revisions
From Eternity Wiki
Jump to navigationJump to search
(Created page with "{{codepointer|description= Used by the Heretic super firemace sphere impact sequence.|usage= '''DeathBallImpact'''|examples= From base/heretic/things.edf: Death: FX02 C 4...") |
No edit summary |
||
Line 14: | Line 14: | ||
:*If no target, look all around in 16 directions, at a range of 640 map units, for a shootable target, and if found, change direction towards it. | :*If no target, look all around in 16 directions, at a range of 640 map units, for a shootable target, and if found, change direction towards it. | ||
:It will set the state to '''spawnstate''' and play the sound with '''dehackednum''' 354 (which in Heretic is '''ht_pstop'''). Note that the bouncing effect is actually controlled with the '''HERETICBOUNCES''' [[thing type flags|thing type flag]]. | :It will set the state to '''spawnstate''' and play the sound with '''dehackednum''' 354 (which in Heretic is '''ht_pstop'''). Note that the bouncing effect is actually controlled with the '''HERETICBOUNCES''' [[thing type flags|thing type flag]]. | ||
*If it hits a wall or is out of vertical velocity, destroy it: set the '''NOGRAVITY''' flag, remove the '''LOGRAV''' flag and play sound with '''dehackednum''' 367 ('''ht_phohit'''). | *If it hits a wall or is out of vertical velocity, destroy it: set the '''NOGRAVITY''' flag, remove the '''LOGRAV''' flag and play sound with '''dehackednum''' 367 ('''ht_phohit'''). It will continue going through the current state sequence (instead of being restored to the spawn state). | ||
This codepointer is meant to be called from a death frame, as it will restore the projectile to its spawn state if it can still move to a target. | This codepointer is meant to be called from a death frame, as it will restore the projectile to its spawn state if it can still move to a target. | ||
The homing destination will be marked as "tracer" with respect to any other codepointers which allow referencing "target" vs "tracer". | The homing destination will be marked as "tracer" with respect to any other codepointers which allow referencing "target" vs "tracer". | ||
}} | }} |
Latest revision as of 12:10, 17 April 2020
Description
Used by the Heretic super firemace sphere impact sequence.
Usage
DeathBallImpact
Parameters
No parameters.
Examples
From base/heretic/things.edf:
Death: FX02 C 4 Bright A_DeathBallImpact FX02 GHIJ 4 Bright stop
Notes
This codepointer handles the complex behaviour of the Heretic super mace spheres on impact.
- If it has landed on any liquid, remove it (only the terrain splash will remain, which is separate from the actor).
- If it has landed on the floor, and still has vertical velocity:
- If current target is still alive, change movement direction towards it. It will go towards it even if out of sight.
- If no target, look all around in 16 directions, at a range of 640 map units, for a shootable target, and if found, change direction towards it.
- It will set the state to spawnstate and play the sound with dehackednum 354 (which in Heretic is ht_pstop). Note that the bouncing effect is actually controlled with the HERETICBOUNCES thing type flag.
- If it hits a wall or is out of vertical velocity, destroy it: set the NOGRAVITY flag, remove the LOGRAV flag and play sound with dehackednum 367 (ht_phohit). It will continue going through the current state sequence (instead of being restored to the spawn state).
This codepointer is meant to be called from a death frame, as it will restore the projectile to its spawn state if it can still move to a target.
The homing destination will be marked as "tracer" with respect to any other codepointers which allow referencing "target" vs "tracer".