mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Adjust Prison followers based on feedback...
- Exist for 1.5 seconds before disappearing
- Flickers away in the last half second
- Twice as many spawned, at half the size
- Different arc
- Severely reduced gravity
- Don't jump if they hypothetically touch the floor
This commit is contained in:
parent
9e49f761b0
commit
3805a4d5f0
3 changed files with 23 additions and 8 deletions
|
|
@ -207,6 +207,12 @@ Obj_AudienceThink
|
||||||
{
|
{
|
||||||
boolean landed = false;
|
boolean landed = false;
|
||||||
|
|
||||||
|
if (mobj->fuse && mobj->fuse < (TICRATE/2))
|
||||||
|
{
|
||||||
|
mobj->renderflags ^= RF_DONTDRAW;
|
||||||
|
return; // no jumping when you hit the floor, your gravity is weird
|
||||||
|
}
|
||||||
|
|
||||||
if (audience_mainstate(mobj) == S_NULL)
|
if (audience_mainstate(mobj) == S_NULL)
|
||||||
{
|
{
|
||||||
// Uninitialised, don't do anything funny.
|
// Uninitialised, don't do anything funny.
|
||||||
|
|
|
||||||
|
|
@ -2108,11 +2108,11 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
{
|
{
|
||||||
dir = FixedAngle(P_RandomKey(PR_RANDOMAUDIENCE, 360)*FRACUNIT);
|
dir = FixedAngle(P_RandomKey(PR_RANDOMAUDIENCE, 360)*FRACUNIT);
|
||||||
|
|
||||||
const fixed_t launchmomentum = 11 * mapobjectscale;
|
const fixed_t launchmomentum = 7 * mapobjectscale;
|
||||||
const fixed_t jaggedness = 4;
|
const fixed_t jaggedness = 4;
|
||||||
angle_t launchangle;
|
angle_t launchangle;
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
for (i = 0; i < 3; i++, dir += ANGLE_120)
|
for (i = 0; i < 6; i++, dir += ANG60)
|
||||||
{
|
{
|
||||||
cur = P_SpawnMobj(
|
cur = P_SpawnMobj(
|
||||||
target->x, target->y,
|
target->x, target->y,
|
||||||
|
|
@ -2130,13 +2130,9 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
if (P_MobjWasRemoved(cur))
|
if (P_MobjWasRemoved(cur))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// For Followers, this makes them
|
|
||||||
// MF2_AMBUSH - try to always look at the nearest player
|
|
||||||
// MF2_DONTRESPAWN - Check for death pits
|
|
||||||
cur->flags2 |= (MF2_AMBUSH|MF2_DONTRESPAWN);
|
|
||||||
|
|
||||||
cur->hitlag = target->hitlag;
|
cur->hitlag = target->hitlag;
|
||||||
|
|
||||||
|
cur->destscale /= 2;
|
||||||
P_SetScale(cur, cur->destscale/TICRATE);
|
P_SetScale(cur, cur->destscale/TICRATE);
|
||||||
cur->scalespeed = cur->destscale/TICRATE;
|
cur->scalespeed = cur->destscale/TICRATE;
|
||||||
cur->z -= cur->height/2;
|
cur->z -= cur->height/2;
|
||||||
|
|
@ -2145,7 +2141,13 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
cur->flags2 |= (source->flags2 & MF2_OBJECTFLIP);
|
cur->flags2 |= (source->flags2 & MF2_OBJECTFLIP);
|
||||||
cur->eflags |= (source->eflags & MFE_VERTICALFLIP);
|
cur->eflags |= (source->eflags & MFE_VERTICALFLIP);
|
||||||
|
|
||||||
launchangle = FixedAngle(P_RandomRange(PR_RANDOMAUDIENCE, 60/jaggedness, 80/jaggedness) * jaggedness*FRACUNIT);
|
launchangle = FixedAngle(
|
||||||
|
(
|
||||||
|
(
|
||||||
|
P_RandomRange(PR_RANDOMAUDIENCE, 12/jaggedness, 24/jaggedness) * jaggedness
|
||||||
|
) + (i & 1)*16
|
||||||
|
) * FRACUNIT
|
||||||
|
);
|
||||||
|
|
||||||
cur->momz = P_MobjFlip(target) // THIS one uses target!
|
cur->momz = P_MobjFlip(target) // THIS one uses target!
|
||||||
* P_ReturnThrustY(cur, launchangle, launchmomentum);
|
* P_ReturnThrustY(cur, launchangle, launchmomentum);
|
||||||
|
|
@ -2156,6 +2158,9 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
cur, cur->angle,
|
cur, cur->angle,
|
||||||
P_ReturnThrustX(cur, launchangle, launchmomentum)
|
P_ReturnThrustX(cur, launchangle, launchmomentum)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
cur->fuse = (3*TICRATE)/2;
|
||||||
|
cur->flags |= MF_NOCLIPHEIGHT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1278,6 +1278,10 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case MT_RANDOMAUDIENCE:
|
||||||
|
if (mo->fuse)
|
||||||
|
gravityadd /= 10;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue