- another trip bomb flag.

This commit is contained in:
Christoph Oelckers 2022-01-19 09:02:20 +01:00
parent 0574da7cd4
commit e4cfc374be
3 changed files with 3 additions and 1 deletions

View file

@ -324,6 +324,7 @@ enum sflags_t
SFLAG_CHECKSLEEP = 0x08000000,
SFLAG_NOTELEPORT = 0x10000000,
SFLAG_SE24_REMOVE = 0x20000000,
SFLAG_BLOCK_TRIPBOMB = 0x40000000,
};

View file

@ -209,6 +209,7 @@ void initactorflags_d()
setflag(SFLAG_NOTELEPORT, { TRANSPORTERSTAR, TRANSPORTERBEAM, TRIPBOMB, BULLETHOLE, WATERSPLASH2, BURNING, BURNING2, FIRE, FIRE2, TOILETWATER, LASERLINE });
setflag(SFLAG_SE24_NOCARRY, { TRIPBOMB, LASERLINE, BOLT1, BOLT1 + 1,BOLT1 + 2, BOLT1 + 3, SIDEBOLT1, SIDEBOLT1 + 1, SIDEBOLT1 + 2, SIDEBOLT1 + 3, CRANE, CRANE1, CRANE2, BARBROKE });
setflag(SFLAG_SE24_REMOVE, { BLOODPOOL, PUKE, FOOTPRINTS, FOOTPRINTS2, FOOTPRINTS3, FOOTPRINTS4, BULLETHOLE, BLOODSPLAT1, BLOODSPLAT2, BLOODSPLAT3, BLOODSPLAT4 });
setflag(SFLAG_BLOCK_TRIPBOMB, { TRIPBOMB }); // making this a flag adds the option to let other things block placing trip bombs as well.
if (isWorldTour())
{

View file

@ -2031,7 +2031,7 @@ int operateTripbomb(int snum)
DukeSectIterator it(hit.hitSector);
while ((act = it.Next()))
{
if (act->spr.picnum == TRIPBOMB &&
if (!actorflag(act, SFLAG_BLOCK_TRIPBOMB) &&
abs(act->spr.pos.Z - hit.hitpos.Z) < (12 << 8) && ((act->spr.pos.X - hit.hitpos.X) * (act->spr.pos.X - hit.hitpos.X) + (act->spr.pos.Y - hit.hitpos.Y) * (act->spr.pos.Y - hit.hitpos.Y)) < (290 * 290))
return 0;
}