mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
E-Brake ring: visual consistency and polish
- Always spawns on the ground below the player - If falling fast enough, spawn afterimages around the player like "falling through hoops" - Also fix scaling to Shrink/Grow
This commit is contained in:
parent
ea579457bc
commit
37ce3dba27
2 changed files with 25 additions and 9 deletions
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -10147,15 +10147,9 @@ void K_KartEbrakeVisuals(player_t *p)
|
||||||
{
|
{
|
||||||
if (p->ebrakefor % 20 == 0)
|
if (p->ebrakefor % 20 == 0)
|
||||||
{
|
{
|
||||||
wave = P_SpawnMobj(p->mo->x, p->mo->y, p->mo->z, MT_SOFTLANDING);
|
wave = P_SpawnMobj(p->mo->x, p->mo->y, p->mo->floorz, MT_SOFTLANDING);
|
||||||
P_SetScale(wave, p->mo->scale);
|
P_InstaScale(wave, p->mo->scale);
|
||||||
if (p->respawn.state == RESPAWNST_NONE)
|
P_SetTarget(&wave->target, p->mo);
|
||||||
{
|
|
||||||
wave->momx = p->mo->momx;
|
|
||||||
wave->momy = p->mo->momy;
|
|
||||||
wave->momz = p->mo->momz;
|
|
||||||
wave->standingslope = p->mo->standingslope;
|
|
||||||
}
|
|
||||||
K_ReduceVFX(wave, p);
|
K_ReduceVFX(wave, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
22
src/p_mobj.c
22
src/p_mobj.c
|
|
@ -10404,6 +10404,28 @@ void P_SceneryThinker(mobj_t *mobj)
|
||||||
mobj->renderflags |= RF_DONTDRAW;
|
mobj->renderflags |= RF_DONTDRAW;
|
||||||
else
|
else
|
||||||
mobj->renderflags &= ~RF_DONTDRAW;
|
mobj->renderflags &= ~RF_DONTDRAW;
|
||||||
|
|
||||||
|
if (!P_MobjWasRemoved(mobj->target))
|
||||||
|
{
|
||||||
|
// Cast like a shadow on the ground
|
||||||
|
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->floorz);
|
||||||
|
mobj->standingslope = mobj->target->standingslope;
|
||||||
|
|
||||||
|
if (!P_IsObjectOnGround(mobj->target) && mobj->target->momz < -24 * mapobjectscale)
|
||||||
|
{
|
||||||
|
// Going down, falling through hoops
|
||||||
|
mobj_t *ghost = P_SpawnGhostMobj(mobj);
|
||||||
|
|
||||||
|
ghost->z = mobj->target->z;
|
||||||
|
ghost->momz = -(mobj->target->momz);
|
||||||
|
ghost->standingslope = NULL;
|
||||||
|
|
||||||
|
ghost->renderflags = mobj->renderflags;
|
||||||
|
ghost->fuse = 16;
|
||||||
|
ghost->extravalue1 = 1;
|
||||||
|
ghost->extravalue2 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mobj->type == MT_RANDOMAUDIENCE)
|
if (mobj->type == MT_RANDOMAUDIENCE)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue