Skip to content

Duke3D: Add WORKSLIKE flag PROJECTILE_HITRADIUS_ADDITIVE and global gameflag DUKE3D_GLOBAL_ADDITIVE_HITRADIUS

Dino Bollinger requested to merge dibollinger/eduke32:projectile_blast into master

This flag alters the radiusdamage calculation such that the radius damage is additive to the current htextra of the actor, rather than overwriting the current applied damage completely.

In particular, this is useful for weapons that fire rapid, explosive cluster shots, such as the explosive shells in AMC Squad. Without this flag, each pellet will only apply its own explosion damage, rather than applying the combined explosion damage like one would expect.

Also introduce a global gameflag that enables this behavior on all explosions, hardcoded and non-hardcoded. This is useful for standalone TCs and games that would like to build up on this behavior. It also gives guarantees to EVENT_DAMAGESPRITE that htextra is not lowered between event calls (assuming the CON code does not change the value of this member).

MR Notes: I expect PROJECTILE_PENETRATE to be backported from NetDuke32 eventually, hence I used flag 0x01000000 for this one.

Edited by Dino Bollinger

Merge request reports