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".

See also