diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index b5e81fb86..c79f62f28 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -271,8 +271,7 @@ SKIPWALLCHECK: actor[j].extra = hp1 + (krand()%(hp2-hp1)); } - if (sprite[j].picnum != TANK && sprite[j].picnum != ROTATEGUN && sprite[j].picnum != RECON && sprite[j].picnum != BOSS1 && - sprite[j].picnum != BOSS2 && sprite[j].picnum != BOSS3 && sprite[j].picnum != BOSS4) + if (!A_CheckSpriteFlags(j, SFLAG_NODAMAGEPUSH)) { if (sj->xvel < 0) sj->xvel = 0; sj->xvel += (s->extra<<2); diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 67ff3c5f2..d8b85f1c5 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -10772,9 +10772,14 @@ static void G_LoadExtraPalettes(void) // Has to be after setting the dynamic names (e.g. SHARK). static void A_InitEnemyFlags(void) { - int32_t DukeEnemies[] = { SHARK, RECON, DRONE, LIZTROOPONTOILET, LIZTROOPJUSTSIT, LIZTROOPSTAYPUT, LIZTROOPSHOOT, LIZTROOPJETPACK, LIZTROOPSHOOT, LIZTROOPDUCKING, - LIZTROOPRUNNING, LIZTROOP, OCTABRAIN, COMMANDER, COMMANDERSTAYPUT, PIGCOP, PIGCOPSTAYPUT, PIGCOPDIVE, EGG, LIZMAN, LIZMANSPITTING, LIZMANJUMP, ORGANTIC, + int32_t DukeEnemies[] = { + SHARK, RECON, DRONE, + LIZTROOPONTOILET, LIZTROOPJUSTSIT, LIZTROOPSTAYPUT, LIZTROOPSHOOT, + LIZTROOPJETPACK, LIZTROOPSHOOT, LIZTROOPDUCKING, LIZTROOPRUNNING, LIZTROOP, + OCTABRAIN, COMMANDER, COMMANDERSTAYPUT, PIGCOP, PIGCOPSTAYPUT, PIGCOPDIVE, EGG, + LIZMAN, LIZMANSPITTING, LIZMANJUMP, ORGANTIC, BOSS1, BOSS2, BOSS3, BOSS4, RAT, ROTATEGUN }; + int32_t i, SolidEnemies[] = { TANK, BOSS1, BOSS2, BOSS3, BOSS4, RECON, ROTATEGUN }; for (i=GREENSLIME; i<=GREENSLIME+7; i++)