mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-31 09:20:59 +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, MOVE_NOPLAYERINTERACT, DDukeActor, flags3),
|
||||||
DEFINE_FLAG(SFLAG3, MAGMAIMMUNE, DDukeActor, flags3),
|
DEFINE_FLAG(SFLAG3, MAGMAIMMUNE, DDukeActor, flags3),
|
||||||
DEFINE_FLAG(SFLAG3, DESTRUCTOIMMUNE, 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_MOVE_NOPLAYERINTERACT = 0x04000000,
|
||||||
SFLAG3_MAGMAIMMUNE = 0x08000000,
|
SFLAG3_MAGMAIMMUNE = 0x08000000,
|
||||||
SFLAG3_DESTRUCTOIMMUNE = 0x10000000,
|
SFLAG3_DESTRUCTOIMMUNE = 0x10000000,
|
||||||
|
SFLAG3_NOHITJIBS = 0x20000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
using EDukeFlags3 = TFlags<sflags3_t, uint32_t>;
|
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 (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 (!(targ->flags3 & SFLAG3_NOHITJIBS) && !(proj->flags3 & SFLAG3_NOHITJIBS))
|
||||||
if (proj->spr.picnum != DTILE_FREEZEBLAST)
|
{
|
||||||
|
auto spawned = spawn(proj, DukeJibs6Class);
|
||||||
|
if (spawned)
|
||||||
{
|
{
|
||||||
auto spawned = spawn(proj, DukeJibs6Class);
|
if (proj->spr.pal == 6)
|
||||||
if (spawned)
|
spawned->spr.pal = 6;
|
||||||
{
|
spawned->spr.pos.Z += 4;
|
||||||
if (proj->spr.pal == 6)
|
spawned->vel.X = 1;
|
||||||
spawned->spr.pal = 6;
|
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||||
spawned->spr.pos.Z += 4;
|
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||||
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();
|
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;
|
if (proj->spr.picnum == RTILE_RPG) proj->spr.extra <<= 1;
|
||||||
else if (isRRRA() && proj->spr.picnum == RTILE_RPG2) proj->spr.extra <<= 1;
|
else if (isRRRA() && proj->spr.picnum == RTILE_RPG2) proj->spr.extra <<= 1;
|
||||||
|
|
||||||
if ((targ->spr.picnum != RTILE_DRONE))
|
if (!(targ->flags3 & SFLAG3_NOHITJIBS) && !(proj->flags3 & SFLAG3_NOHITJIBS))
|
||||||
if (proj->spr.picnum != RTILE_FREEZEBLAST)
|
{
|
||||||
|
auto spawned = spawn(proj, DukeJibs6Class);
|
||||||
|
if (spawned)
|
||||||
{
|
{
|
||||||
auto spawned = spawn(proj, DukeJibs6Class);
|
if (proj->spr.pal == 6)
|
||||||
if (spawned)
|
spawned->spr.pal = 6;
|
||||||
{
|
spawned->spr.pos.Z += 4;
|
||||||
if (proj->spr.pal == 6)
|
spawned->vel.X = 1;
|
||||||
spawned->spr.pal = 6;
|
spawned->spr.scale = DVector2(0.375, 0.375);
|
||||||
spawned->spr.pos.Z += 4;
|
spawned->spr.Angles.Yaw = DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||||
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();
|
auto Owner = proj->GetOwner();
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ class DukeCommander : DukeActor
|
||||||
+FLOATING;
|
+FLOATING;
|
||||||
+SHOOTCENTERED;
|
+SHOOTCENTERED;
|
||||||
+NORANDOMANGLEWHENBLOCKED;
|
+NORANDOMANGLEWHENBLOCKED;
|
||||||
|
+NOHITJIBS;
|
||||||
gutsoffset -24;
|
gutsoffset -24;
|
||||||
falladjustz 0;
|
falladjustz 0;
|
||||||
floating_floordist 8;
|
floating_floordist 8;
|
||||||
|
|
|
@ -12,6 +12,7 @@ class DukeFreezeBlast : DukeProjectile
|
||||||
+FULLBRIGHT;
|
+FULLBRIGHT;
|
||||||
+FREEZEDAMAGE;
|
+FREEZEDAMAGE;
|
||||||
+REFLECTIVE;
|
+REFLECTIVE;
|
||||||
|
+NOHITJIBS;
|
||||||
}
|
}
|
||||||
|
|
||||||
override bool postmoveeffect(CollisionData coll)
|
override bool postmoveeffect(CollisionData coll)
|
||||||
|
|
|
@ -8,6 +8,7 @@ class DukeGreenSlime : DukeActor
|
||||||
+DONTDIVEALIVE;
|
+DONTDIVEALIVE;
|
||||||
+FORCESECTORSHADE;
|
+FORCESECTORSHADE;
|
||||||
+SHRINKAUTOAIM;
|
+SHRINKAUTOAIM;
|
||||||
|
+NOHITJIBS;
|
||||||
sparkoffset -8;
|
sparkoffset -8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ class DukeDrone : DukeActor
|
||||||
+FLOATING;
|
+FLOATING;
|
||||||
+QUICKALTERANG;
|
+QUICKALTERANG;
|
||||||
+NOJIBS;
|
+NOJIBS;
|
||||||
|
+NOHITJIBS;
|
||||||
falladjustz 0;
|
falladjustz 0;
|
||||||
floating_floordist 30;
|
floating_floordist 30;
|
||||||
floating_ceilingdist 50;
|
floating_ceilingdist 50;
|
||||||
|
@ -28,6 +29,7 @@ class DukeTurret : DukeActor
|
||||||
+INTERNAL_BADGUY;
|
+INTERNAL_BADGUY;
|
||||||
+KILLCOUNT;
|
+KILLCOUNT;
|
||||||
+NOVERTICALMOVE;
|
+NOVERTICALMOVE;
|
||||||
|
+NOHITJIBS;
|
||||||
aimoffset 32;
|
aimoffset 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +56,7 @@ class DukeRotateGun : DukeActor
|
||||||
+SHOOTCENTERED;
|
+SHOOTCENTERED;
|
||||||
+NOVERTICALMOVE;
|
+NOVERTICALMOVE;
|
||||||
+MOVE_NOPLAYERINTERACT;
|
+MOVE_NOPLAYERINTERACT;
|
||||||
|
+NOHITJIBS;
|
||||||
sparkoffset -8;
|
sparkoffset -8;
|
||||||
aimoffset 32;
|
aimoffset 32;
|
||||||
shootzoffset 0;
|
shootzoffset 0;
|
||||||
|
|
|
@ -456,6 +456,7 @@ class RedneckMosquito : DukeActor
|
||||||
+FLOATING;
|
+FLOATING;
|
||||||
+QUICKALTERANG;
|
+QUICKALTERANG;
|
||||||
+NOJIBS;
|
+NOJIBS;
|
||||||
|
+NOHITJIBS;
|
||||||
falladjustz 0;
|
falladjustz 0;
|
||||||
floating_floordist 30;
|
floating_floordist 30;
|
||||||
floating_ceilingdist 50;
|
floating_ceilingdist 50;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue