- added SFLAG2_NORADIUSPUSH flag.

This commit is contained in:
Christoph Oelckers 2022-11-22 23:41:02 +01:00
parent 93ef4b34d7
commit 786c335489
6 changed files with 11 additions and 6 deletions

View file

@ -352,7 +352,7 @@ void hitradius_d(DDukeActor* actor, int r, int hp1, int hp2, int hp3, int h
act2->hitextra = hp1 + (krand() % (hp2 - hp1));
}
if (act2->spr.picnum != TANK && act2->spr.picnum != ROTATEGUN && act2->spr.picnum != RECON && !bossguy(act2))
if (!actorflag(act2, SFLAG2_NORADIUSPUSH) && !bossguy(act2))
{
if (act2->vel.X < 0) act2->vel.X = 0;
act2->vel.X += ( (actor->spr.extra / 4.));

View file

@ -285,10 +285,7 @@ void hitradius_r(DDukeActor* actor, int r, int hp1, int hp2, int hp3, int h
act2->hitextra = hp1 + (krand() % (hp2 - hp1));
}
int pic = act2->spr.picnum;
if ((isRRRA())?
(pic != HULK && pic != MAMA && pic != BILLYPLAY && pic != COOTPLAY && pic != MAMACLOUD) :
(pic != HULK && pic != SBMOVE))
if (!actorflag(act2, SFLAG2_NORADIUSPUSH) && !bossguy(act2))
{
if (act2->vel.X < 0) act2->vel.X = 0;
act2->vel.X += ((actor->spr.extra / 4.));

View file

@ -366,6 +366,7 @@ enum sflags2_t
SFLAG2_ALWAYSROTATE1 = 0x00001000,
SFLAG2_DIENOW = 0x00002000,
SFLAG2_TRANFERPALTOJIBS = 0x00004000,
SFLAG2_NORADIUSPUSH = 0x00008000,
};
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>;

View file

@ -121,6 +121,7 @@ void initactorflags_d()
setflag(SFLAG2_ALWAYSROTATE1, { RAT, CAMERA1 });
setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION, KNEE });
setflag(SFLAG2_TRANFERPALTOJIBS, { LIZTROOP });
setflag(SFLAG2_NORADIUSPUSH, { TANK, ROTATEGUN, RECON });
if (isWorldTour())
{

View file

@ -178,6 +178,7 @@ void initactorflags_r()
setflag(SFLAG2_GREENBLOOD, { OOZFILTER });
setflag(SFLAG2_ALWAYSROTATE1, { RAT, CAMERA1 });
setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION });
setflag(SFLAG2_NORADIUSPUSH, { HULK });
// Animals were not supposed to have this, but due to a coding bug the logic was unconditional for everything in the game.
@ -190,6 +191,11 @@ void initactorflags_r()
{
setflag(SFLAG_MOVEFTA_CHECKSEEWITHPAL8, { MINION });
setflag(SFLAG2_TRANFERPALTOJIBS, { MINION });
setflag(SFLAG2_NORADIUSPUSH, { MAMA, BILLYPLAY, COOTPLAY, MAMACLOUD });
}
else
{
setflag(SFLAG2_NORADIUSPUSH, { SBMOVE });
}
gs.actorinfo[RPG2].flags |= SFLAG_FORCEAUTOAIM;

View file

@ -1379,7 +1379,7 @@ x(HENSTAND, 4897)
x(PIG, 4945)
x(PIGSTAYPUT, 4946)
x(PIGEAT, 4983)
x(SBMOVE, 5015)
x(SBMOVE, 5015) // E1L7 shit boss, only RR1.
x(SBSPIT, 5050)
x(SBDIP, 5085)
x(MINION, 5120)