mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-22 10:02:01 +00:00
WIP: low-ring conveyance fixups
This commit is contained in:
parent
09d2644241
commit
647ab66c2f
5 changed files with 46 additions and 0 deletions
|
|
@ -987,6 +987,7 @@ struct player_t
|
|||
|
||||
INT16 incontrol; // -1 to -175 when spinning out or tumbling, 1 to 175 when not. Use to check for combo hits or emergency inputs.
|
||||
UINT16 progressivethrust; // When getting beat up in GTR_BUMPERS, speed up the longer you've been out of control.
|
||||
UINT8 ringvisualwarning;
|
||||
|
||||
boolean analoginput; // Has an input been recorded that requires analog usage? For input display.
|
||||
|
||||
|
|
|
|||
29
src/k_kart.c
29
src/k_kart.c
|
|
@ -8437,6 +8437,20 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
debtflag->color = player->skincolor;
|
||||
debtflag->fuse = 2;
|
||||
|
||||
if (!(gametyperules & GTR_SPHERES))
|
||||
{
|
||||
P_SetScale(debtflag,
|
||||
Easing_InQuint(
|
||||
min(FRACUNIT, FRACUNIT*player->ringvisualwarning/(TICRATE*3)),
|
||||
debtflag->scale,
|
||||
debtflag->scale*2
|
||||
)
|
||||
);
|
||||
if (player->ringvisualwarning <= 1)
|
||||
debtflag->renderflags = K_GetPlayerDontDrawFlag(player);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (player->springstars && (leveltime & 1))
|
||||
|
|
@ -9013,6 +9027,21 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
player->incontrol++;
|
||||
}
|
||||
|
||||
if (player->rings <= 0)
|
||||
{
|
||||
if (player->ringvisualwarning > 1)
|
||||
player->ringvisualwarning--;
|
||||
}
|
||||
else
|
||||
{
|
||||
player->ringvisualwarning = 0;
|
||||
}
|
||||
|
||||
if (player->ringvisualwarning == 0 && player->rings <= 0)
|
||||
{
|
||||
player->ringvisualwarning = 6*TICRATE/2;
|
||||
}
|
||||
|
||||
player->incontrol = min(player->incontrol, 5*TICRATE);
|
||||
player->incontrol = max(player->incontrol, -5*TICRATE);
|
||||
|
||||
|
|
|
|||
|
|
@ -263,6 +263,8 @@ static int player_get(lua_State *L)
|
|||
lua_pushboolean(L, plr->incontrol);
|
||||
else if (fastcmp(field,"progressivethrust"))
|
||||
lua_pushboolean(L, plr->progressivethrust);
|
||||
else if (fastcmp(field,"ringvisualwarning"))
|
||||
lua_pushboolean(L, plr->ringvisualwarning);
|
||||
else if (fastcmp(field,"dotrickfx"))
|
||||
lua_pushboolean(L, plr->dotrickfx);
|
||||
else if (fastcmp(field,"bumperinflate"))
|
||||
|
|
@ -801,6 +803,8 @@ static int player_set(lua_State *L)
|
|||
plr->incontrol = luaL_checkinteger(L, 3);
|
||||
else if (fastcmp(field,"progressivethrust"))
|
||||
plr->progressivethrust = luaL_checkboolean(L, 3);
|
||||
else if (fastcmp(field,"ringvisualwarning"))
|
||||
plr->ringvisualwarning = luaL_checkboolean(L, 3);
|
||||
else if (fastcmp(field,"analoginput"))
|
||||
plr->markedfordeath = luaL_checkboolean(L, 3);
|
||||
else if (fastcmp(field,"markedfordeath"))
|
||||
|
|
|
|||
|
|
@ -3522,6 +3522,16 @@ void A_AttractChase(mobj_t *actor)
|
|||
|
||||
S_ReducedVFXSoundAtVolume(actor->target, sfx_s1b5, actor->target->player->ringvolume, NULL);
|
||||
|
||||
if (actor->target->player->rings <= 10 && P_IsDisplayPlayer(actor->target->player))
|
||||
{
|
||||
S_ReducedVFXSoundAtVolume(actor->target, sfx_gshab,
|
||||
255 - 10*actor->target->player->rings
|
||||
, NULL);
|
||||
|
||||
if (actor->target->player->rings == 0)
|
||||
S_ReducedVFXSoundAtVolume(actor->target, sfx_gshad, 255, NULL);
|
||||
}
|
||||
|
||||
actor->target->player->ringvolume -= RINGVOLUMEUSEPENALTY;
|
||||
|
||||
sparkle = P_SpawnMobj(actor->target->x, actor->target->y, actor->target->z, MT_RINGSPARKS);
|
||||
|
|
|
|||
|
|
@ -598,6 +598,7 @@ static void P_NetArchivePlayers(savebuffer_t *save)
|
|||
|
||||
WRITEINT16(save->p, players[i].incontrol);
|
||||
WRITEUINT16(save->p, players[i].progressivethrust);
|
||||
WRITEUINT8(save->p, players[i].ringvisualwarning);
|
||||
|
||||
WRITEUINT8(save->p, players[i].analoginput);
|
||||
|
||||
|
|
@ -1184,6 +1185,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
|
|||
|
||||
players[i].incontrol = READINT16(save->p);
|
||||
players[i].progressivethrust = READUINT16(save->p);
|
||||
players[i].ringvisualwarning = READUINT8(save->p);
|
||||
|
||||
players[i].analoginput = READUINT8(save->p);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue