mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-22 17:01:08 +00:00
- NOHITJIBS flag.
This commit is contained in:
parent
91ee3cb7b8
commit
fc0c8e0787
9 changed files with 31 additions and 24 deletions
|
@ -195,6 +195,7 @@ static FFlagDef DukeActorFlagDefs[] =
|
|||
DEFINE_FLAG(SFLAG3, MOVE_NOPLAYERINTERACT, DDukeActor, flags3),
|
||||
DEFINE_FLAG(SFLAG3, MAGMAIMMUNE, DDukeActor, flags3),
|
||||
DEFINE_FLAG(SFLAG3, DESTRUCTOIMMUNE, DDukeActor, flags3),
|
||||
DEFINE_FLAG(SFLAG3, NOHITJIBS, DDukeActor, flags3),
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -440,6 +440,7 @@ enum sflags3_t
|
|||
SFLAG3_MOVE_NOPLAYERINTERACT = 0x04000000,
|
||||
SFLAG3_MAGMAIMMUNE = 0x08000000,
|
||||
SFLAG3_DESTRUCTOIMMUNE = 0x10000000,
|
||||
SFLAG3_NOHITJIBS = 0x20000000,
|
||||
};
|
||||
|
||||
using EDukeFlags3 = TFlags<sflags3_t, uint32_t>;
|
||||
|
|
|
@ -173,20 +173,19 @@ void checkhitdefault_d(DDukeActor* targ, DDukeActor* proj)
|
|||
|
||||
if (proj->spr.picnum == DTILE_RPG) proj->spr.extra <<= 1;
|
||||
|
||||
if ((targ->spr.picnum != DTILE_DRONE) && (targ->spr.picnum != DTILE_ROTATEGUN) && (targ->spr.picnum != DTILE_COMMANDER) && targ->spr.picnum != DTILE_GREENSLIME)
|
||||
if (proj->spr.picnum != DTILE_FREEZEBLAST)
|
||||
if (!(targ->flags3 & SFLAG3_NOHITJIBS) && !(proj->flags3 & SFLAG3_NOHITJIBS))
|
||||
{
|
||||
auto spawned = spawn(proj, DukeJibs6Class);
|
||||
if (spawned)
|
||||
{
|
||||
auto spawned = spawn(proj, DukeJibs6Class);
|
||||
if (spawned)
|
||||
{
|
||||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->vel.X = 1;
|
||||
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||
}
|
||||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->vel.X = 1;
|
||||
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||
}
|
||||
}
|
||||
|
||||
auto Owner = proj->GetOwner();
|
||||
|
||||
|
|
|
@ -171,20 +171,19 @@ void checkhitdefault_r(DDukeActor* targ, DDukeActor* proj)
|
|||
if (proj->spr.picnum == RTILE_RPG) proj->spr.extra <<= 1;
|
||||
else if (isRRRA() && proj->spr.picnum == RTILE_RPG2) proj->spr.extra <<= 1;
|
||||
|
||||
if ((targ->spr.picnum != RTILE_DRONE))
|
||||
if (proj->spr.picnum != RTILE_FREEZEBLAST)
|
||||
if (!(targ->flags3 & SFLAG3_NOHITJIBS) && !(proj->flags3 & SFLAG3_NOHITJIBS))
|
||||
{
|
||||
auto spawned = spawn(proj, DukeJibs6Class);
|
||||
if (spawned)
|
||||
{
|
||||
auto spawned = spawn(proj, DukeJibs6Class);
|
||||
if (spawned)
|
||||
{
|
||||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->vel.X = 1;
|
||||
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||
}
|
||||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->vel.X = 1;
|
||||
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||
}
|
||||
}
|
||||
|
||||
auto Owner = proj->GetOwner();
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ class DukeCommander : DukeActor
|
|||
+FLOATING;
|
||||
+SHOOTCENTERED;
|
||||
+NORANDOMANGLEWHENBLOCKED;
|
||||
+NOHITJIBS;
|
||||
gutsoffset -24;
|
||||
falladjustz 0;
|
||||
floating_floordist 8;
|
||||
|
|
|
@ -12,6 +12,7 @@ class DukeFreezeBlast : DukeProjectile
|
|||
+FULLBRIGHT;
|
||||
+FREEZEDAMAGE;
|
||||
+REFLECTIVE;
|
||||
+NOHITJIBS;
|
||||
}
|
||||
|
||||
override bool postmoveeffect(CollisionData coll)
|
||||
|
|
|
@ -8,6 +8,7 @@ class DukeGreenSlime : DukeActor
|
|||
+DONTDIVEALIVE;
|
||||
+FORCESECTORSHADE;
|
||||
+SHRINKAUTOAIM;
|
||||
+NOHITJIBS;
|
||||
sparkoffset -8;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ class DukeDrone : DukeActor
|
|||
+FLOATING;
|
||||
+QUICKALTERANG;
|
||||
+NOJIBS;
|
||||
+NOHITJIBS;
|
||||
falladjustz 0;
|
||||
floating_floordist 30;
|
||||
floating_ceilingdist 50;
|
||||
|
@ -28,6 +29,7 @@ class DukeTurret : DukeActor
|
|||
+INTERNAL_BADGUY;
|
||||
+KILLCOUNT;
|
||||
+NOVERTICALMOVE;
|
||||
+NOHITJIBS;
|
||||
aimoffset 32;
|
||||
}
|
||||
|
||||
|
@ -54,6 +56,7 @@ class DukeRotateGun : DukeActor
|
|||
+SHOOTCENTERED;
|
||||
+NOVERTICALMOVE;
|
||||
+MOVE_NOPLAYERINTERACT;
|
||||
+NOHITJIBS;
|
||||
sparkoffset -8;
|
||||
aimoffset 32;
|
||||
shootzoffset 0;
|
||||
|
|
|
@ -456,6 +456,7 @@ class RedneckMosquito : DukeActor
|
|||
+FLOATING;
|
||||
+QUICKALTERANG;
|
||||
+NOJIBS;
|
||||
+NOHITJIBS;
|
||||
falladjustz 0;
|
||||
floating_floordist 30;
|
||||
floating_ceilingdist 50;
|
||||
|
|
Loading…
Reference in a new issue