- another flag and the second old one renamed.

This commit is contained in:
Christoph Oelckers 2022-12-29 16:05:38 +01:00
parent 9ddb5987cd
commit ac430e6bc7
9 changed files with 21 additions and 12 deletions

View file

@ -126,7 +126,7 @@ static FFlagDef DukeActorFlagDefs[] =
DEFINE_FLAG(SFLAG, INFLAME, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, NOFLOORFIRE, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, HITRADIUS_CHECKHITONLY, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, HITRADIUS_FLAG2, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, HITRADIUS_FORCEEFFECT, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, CHECKSLEEP, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, NOTELEPORT, DDukeActor, flags1),
DEFINE_FLAG(SFLAG, SE24_REMOVE, DDukeActor, flags1),
@ -181,6 +181,7 @@ static FFlagDef DukeActorFlagDefs[] =
DEFINE_FLAG(SFLAG3, NOCEILINGBLAST, DDukeActor, flags3),
DEFINE_FLAG(SFLAG3, HITRADIUS_DONTHURTSHOOTER, DDukeActor, flags3),
DEFINE_FLAG(SFLAG3, HITRADIUS_NODAMAGE, DDukeActor, flags3),
DEFINE_FLAG(SFLAG3, HITRADIUS_NOEFFECT, DDukeActor, flags3),
};

View file

@ -188,7 +188,7 @@ void hitradius_d(DDukeActor* actor, int r, int hp1, int hp2, int hp3, int h
checkhitsprite(act2, actor);
}
}
else if (act2->spr.extra >= 0 && act2 != actor && ((act2->flags1 & SFLAG_HITRADIUS_FLAG2) || badguy(act2) || (act2->spr.cstat & CSTAT_SPRITE_BLOCK_ALL)))
else if (act2->spr.extra >= 0 && act2 != actor && ((act2->flags1 & SFLAG_HITRADIUS_FORCEEFFECT) || badguy(act2) || (act2->spr.cstat & CSTAT_SPRITE_BLOCK_ALL)))
{
if (actor->spr.picnum == DTILE_SHRINKSPARK && act2->spr.picnum != DTILE_SHARK && (act2->spr.scale.X < 0.375))
{

View file

@ -174,13 +174,13 @@ void hitradius_r(DDukeActor* actor, int r, int hp1, int hp2, int hp3, int h
checkhitsprite(act2, actor);
}
}
else if (act2->spr.extra >= 0 && act2 != actor && ((act2->flags1 & SFLAG_HITRADIUS_FLAG2) || badguy(act2) || (act2->spr.cstat & CSTAT_SPRITE_BLOCK_ALL)))
else if (act2->spr.extra >= 0 && act2 != actor && ((act2->flags1 & SFLAG_HITRADIUS_FORCEEFFECT) || badguy(act2) || (act2->spr.cstat & CSTAT_SPRITE_BLOCK_ALL)))
{
if (actor->flags3 & SFLAG3_HITRADIUS_DONTHURTSHOOTER && act2 == Owner)
{
continue;
}
if ((isRRRA()) && act2->spr.picnum == RTILE_MINION && act2->spr.pal == 19)
if (actor->flags3 & SFLAG3_HITRADIUS_NOEFFECT)
{
continue;
}

View file

@ -345,8 +345,8 @@ enum sflags_t
SFLAG_FLAMMABLEPOOLEFFECT = 0x00400000,
SFLAG_INFLAME = 0x00800000,
SFLAG_NOFLOORFIRE = 0x01000000,
SFLAG_HITRADIUS_FLAG1 = 0x02000000,
SFLAG_HITRADIUS_FLAG2 = 0x04000000,
SFLAG_HITRADIUS_CHECKHITONLY = 0x02000000,
SFLAG_HITRADIUS_FORCEEFFECT = 0x04000000,
SFLAG_CHECKSLEEP = 0x08000000,
SFLAG_NOTELEPORT = 0x10000000,
SFLAG_SE24_REMOVE = 0x20000000,
@ -412,6 +412,10 @@ enum sflags3_t
SFLAG3_DONTLIGHTSHOOTER = 0x00000400,
SFLAG3_SHOOTCENTERED = 0x00000800, // enemies default to right hand shooting. This disables it.
SFLAG3_NOCEILINGBLAST = 0x00001000, // do not damage ceilings when exploding
SFLAG3_HITRADIUS_DONTHURTSHOOTER = 0x00002000,
SFLAG3_HITRADIUS_NODAMAGE = 0x00004000, // Hitradius inflicts no damage, only a damage type.
SFLAG3_HITRADIUS_NOEFFECT = 0x00008000, // Completely immune to hitradius
};

View file

@ -4,7 +4,7 @@ class RedneckBowlingPin : DukeActor
{
RedneckBowlingPin.Behavior 0;
spriteset "BOWLINGPIN", "BOWLINGPIN1", "BOWLINGPIN2";
+HITRADIUS_FLAG2;
+HITRADIUS_FORCEEFFECT;
+HITRADIUSCHECK;
}
@ -125,7 +125,7 @@ class RedneckHenstand : RedneckBowlingPin
{
spriteset "HENSTAND", "HENSTAND1";
RedneckBowlingPin.Behavior 1;
-HITRADIUS_FLAG2;
-HITRADIUS_FORCEEFFECT;
-HITRADIUSCHECK;
}
@ -156,7 +156,7 @@ class RedneckBowlingBall : RedneckBowlingPin
{
pic "BOWLINGBALL";
RedneckBowlingPin.Behavior 2;
-HITRADIUS_FLAG2;
-HITRADIUS_FORCEEFFECT;
-HITRADIUSCHECK;
}

View file

@ -15,7 +15,7 @@ class DukeTripBomb : DukeActor
// Note: The trip bomb has its health defined through CON! Value is 100. Con-based definitions will take precendence.
strength 100;
+CHECKSLEEP;
+HITRADIUS_FLAG2;
+HITRADIUS_FORCEEFFECT;
+MOVEFTA_MAKESTANDABLE;
+SE24_NOCARRY;
+DONTANIMATE;

View file

@ -15,6 +15,10 @@ class RedneckMinion : DukeActor
self.setClipDistFromTile();
if (Raze.isRRRA() && ud.ufospawnsminion)
self.pal = 8;
if (self.pal == 19)
{
self.bHitradius_NoEffect = true;
}
}
override bool animate(tspritetype t)

View file

@ -40,7 +40,7 @@ class DukePlayerLyingDead : DukeActor
default
{
pic "DUKELYINGDEAD";
+HITRADIUS_FLAG2;
+HITRADIUS_FORCEEFFECT;
}
override void Initialize()

View file

@ -8,7 +8,7 @@ class DukeQueball : DukeActor
default
{
pic "QUEBALL";
+HITRADIUS_FLAG2;
+HITRADIUS_FORCEEFFECT;
+HITRADIUSCHECK;
}