A Explode: Difference between revisions
Jump to navigation
Jump to search
m ("than" for comparisons, not "then". I'm kinda amused a note about overflows was actually needed. What are people doing with this?) |
Major Cooke (talk | contribs) (Apparently, the pufftype was never discovered. I only found out through SLADE too. Fixed.) |
||
| Line 1: | Line 1: | ||
{{codepointer|Generic Attack}} |
{{codepointer|Generic Attack}} |
||
'''A_Explode''' [(int ''explosiondamage'' [, int ''explosionradius'' [, int ''flags'' [, bool ''alert''[, int ''fulldamageradius''[, int ''nails''[, int ''naildamage'']]]]]])] |
'''A_Explode''' [(int ''explosiondamage'' [, int ''explosionradius'' [, int ''flags'' [, bool ''alert''[, int ''fulldamageradius''[, int ''nails''[, int ''naildamage''[, str ''pufftype'']]]]]]])] |
||
== Usage == |
== Usage == |
||
| Line 17: | Line 17: | ||
* ''nails'': The number of horizontal hitscan attacks performed in a ring. (Default: 0) A value of 30 emulates the A_NailBomb codepointer from [[SMMU]], while still allowing to modify all other parameters from '''A_Explode'''. |
* ''nails'': The number of horizontal hitscan attacks performed in a ring. (Default: 0) A value of 30 emulates the A_NailBomb codepointer from [[SMMU]], while still allowing to modify all other parameters from '''A_Explode'''. |
||
* ''naildamage'': The amount of damage inflicted by nails, if any. (Default: 10) |
* ''naildamage'': The amount of damage inflicted by nails, if any. (Default: 10) |
||
* ''pufftype'': The name of the puff to use upon calling the explosion, originating from the actor's center. If nothing is supplied, {{BulletPuff}} is used. |
|||
'''Do not use the old actor property method of passing the parameters. Only use the parameters of '''A_Explode''' directly.''' |
'''Do not use the old actor property method of passing the parameters. Only use the parameters of '''A_Explode''' directly.''' |
||
Revision as of 21:21, 30 August 2014
A_Explode [(int explosiondamage [, int explosionradius [, int flags [, bool alert[, int fulldamageradius[, int nails[, int naildamage[, str pufftype]]]]]]])]
Usage
Performs an explosive (radius) attack. The amount of damage and the attack's radius are specified with explosiondamage and explosionradius, respectively. If the actor is a missile, you can set hurtshooter to 0 so that its originator will not be harmed by the attack. If the hurtshooter parameter is omitted, the shot will assume normal behavior and damage the shooter.
Parameters
- explosiondamage: How much damage are inflicted at the center of the explosion. (Default: 128)
- explosionradius: The area covered by the damage (damage inflicted drop linearly with distance). Note that a radius larger than 32767 extends beyond ZDoom's map space limitations, and will overflow with undesired results (such as becoming too small and damaging nothing). (Default: 128)
- flags: The following flags can be combined by using the | character between the constant names: (New from 4.14.3)
- XF_HURTSOURCE — Hurts the source: if set, the source can be damaged by the explosion. Note that the source is not necessarily the calling actor. This flag is set by default. (New from 4.14.3)
- XF_NOTMISSILE — Not a missile: if set, the calling actor is considered to be the source. By default, the calling actor is assumed to be a projectile, and the source is therefore considered to be the calling actor's target. (New from 4.14.3)
- alert: Whether the explosion rings the alarm? (Default: false)
- fulldamageradius: The area within which full damage is inflicted. (Default: 0)
- nails: The number of horizontal hitscan attacks performed in a ring. (Default: 0) A value of 30 emulates the A_NailBomb codepointer from SMMU, while still allowing to modify all other parameters from A_Explode.
- naildamage: The amount of damage inflicted by nails, if any. (Default: 10)
- pufftype: The name of the puff to use upon calling the explosion, originating from the actor's center. If nothing is supplied, Template:BulletPuff is used.
Do not use the old actor property method of passing the parameters. Only use the parameters of A_Explode directly.
Examples
Actor MyGrenade : Grenade { Speed 17 BounceFactor 0.4 BounceCount 6 States { Death: QEX1 A 0 A_PlaySound("Weapon/GenericExplode", CHAN_WEAPON) QEX1 A 5 A_Explode(100, 128) QEX1 BCDE 5 Stop } }