diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index 1a7982b5d..d4ad0b438 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -1977,31 +1977,33 @@ ACTOR_STATIC void G_MoveStandables(void) t[1] = s->ang; k = A_IncurDamage(i); + if (k < 0) + goto crack_default; - if (k >= 0) - switch (DYNAMICTILEMAP(k)) + switch (DYNAMICTILEMAP(k)) + { + case FIREEXT__STATIC: + case RPG__STATIC: + case RADIUSEXPLOSION__STATIC: + case SEENINE__STATIC: + case OOZFILTER__STATIC: + for (SPRITES_OF(STAT_STANDABLE, j)) { - case FIREEXT__STATIC: - case RPG__STATIC: - case RADIUSEXPLOSION__STATIC: - case SEENINE__STATIC: - case OOZFILTER__STATIC: - for (SPRITES_OF(STAT_STANDABLE, j)) - { - if (s->hitag == sprite[j].hitag && (sprite[j].picnum == OOZFILTER || sprite[j].picnum == SEENINE)) - if (sprite[j].shade != -32) - sprite[j].shade = -32; - } - - goto DETONATE; - - default: - s->cstat = t[0]; - s->ang = t[1]; - s->extra = 0; - - goto BOLT; + if (s->hitag == sprite[j].hitag && (sprite[j].picnum == OOZFILTER || sprite[j].picnum == SEENINE)) + if (sprite[j].shade != -32) + sprite[j].shade = -32; } + + goto DETONATE; + + crack_default: + default: + s->cstat = t[0]; + s->ang = t[1]; + s->extra = 0; + + goto BOLT; + } } goto BOLT; } diff --git a/polymer/eduke32/source/actors.h b/polymer/eduke32/source/actors.h index 93b9a437e..700cd87a2 100644 --- a/polymer/eduke32/source/actors.h +++ b/polymer/eduke32/source/actors.h @@ -224,8 +224,8 @@ enum sflags_t { SPRITE_DIDNOSE7WATER = 0x00080000, // used temporarily }; -// custom projectiles -// KEEPINSYNC lunatic/con_lang.lua +// Custom projectiles "workslike" flags. +// XXX: Currently not predefined from CON. enum pflags_t { PROJECTILE_HITSCAN = 0x00000001, PROJECTILE_RPG = 0x00000002,