mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-02 22:22:55 +00:00
Merge branch 'acid-dropdash' into 'master'
acid drop gives a small dropdash on landing See merge request kart-krew-dev/ring-racers-internal!2860
This commit is contained in:
commit
c77091496b
5 changed files with 31 additions and 1 deletions
|
|
@ -754,6 +754,7 @@ struct player_t
|
||||||
UINT16 bigwaypointgap; // timer counts down if finish line distance gap is too big to update waypoint
|
UINT16 bigwaypointgap; // timer counts down if finish line distance gap is too big to update waypoint
|
||||||
UINT8 startboost; // (0 to 125) - Boost you get from start of race
|
UINT8 startboost; // (0 to 125) - Boost you get from start of race
|
||||||
UINT8 dropdashboost; // Boost you get when holding A while respawning
|
UINT8 dropdashboost; // Boost you get when holding A while respawning
|
||||||
|
UINT8 aciddropdashboost; // acid dropdash
|
||||||
|
|
||||||
UINT16 flashing;
|
UINT16 flashing;
|
||||||
UINT16 spinouttimer; // Spin-out from a banana peel or oil slick (was "pw_bananacam")
|
UINT16 spinouttimer; // Spin-out from a banana peel or oil slick (was "pw_bananacam")
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,7 @@ demoghost *ghosts = NULL;
|
||||||
// - 0x000E (Ring Racers 2.4 staff ghosts part 1 - initial recordings)
|
// - 0x000E (Ring Racers 2.4 staff ghosts part 1 - initial recordings)
|
||||||
// - 0x000F (Ring Racers 2.4 staff ghosts part 2 - dynslopes thinker fix)
|
// - 0x000F (Ring Racers 2.4 staff ghosts part 2 - dynslopes thinker fix)
|
||||||
// - 0x0010 (Ring Racers 2.4 staff ghosts part 3 - skinlimit raise. don't say we never did anythin for 'ya)
|
// - 0x0010 (Ring Racers 2.4 staff ghosts part 3 - skinlimit raise. don't say we never did anythin for 'ya)
|
||||||
|
// - 0x0011 (Ring Racers 2.4 staff ghosts part 4 - acid dropdash)
|
||||||
|
|
||||||
#define MINDEMOVERSION 0x000E
|
#define MINDEMOVERSION 0x000E
|
||||||
#define DEMOVERSION 0x0011
|
#define DEMOVERSION 0x0011
|
||||||
|
|
|
||||||
24
src/k_kart.c
24
src/k_kart.c
|
|
@ -1909,7 +1909,7 @@ void K_SpawnDashDustRelease(player_t *player)
|
||||||
if (!P_IsObjectOnGround(player->mo))
|
if (!P_IsObjectOnGround(player->mo))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!player->speed && !player->startboost && !player->spindash && !player->dropdashboost)
|
if (!player->speed && !player->startboost && !player->spindash && !player->dropdashboost && !player->aciddropdashboost)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
travelangle = player->mo->angle;
|
travelangle = player->mo->angle;
|
||||||
|
|
@ -3780,6 +3780,11 @@ static void K_GetKartBoostPower(player_t *player)
|
||||||
ADDBOOST(FRACUNIT/3, 4*FRACUNIT, HANDLESCALING); // + 33% top speed, + 400% acceleration, +50% handling
|
ADDBOOST(FRACUNIT/3, 4*FRACUNIT, HANDLESCALING); // + 33% top speed, + 400% acceleration, +50% handling
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (player->aciddropdashboost) // Great value Drop dash
|
||||||
|
{
|
||||||
|
ADDBOOST(FRACUNIT/3, 4*FRACUNIT, HANDLESCALING/3); // + 33% top speed, + 400% acceleration, +33% handling, No sliptides here
|
||||||
|
}
|
||||||
|
|
||||||
if (player->driftboost) // Drift Boost
|
if (player->driftboost) // Drift Boost
|
||||||
{
|
{
|
||||||
// Rebuff Eggman's stat block corner
|
// Rebuff Eggman's stat block corner
|
||||||
|
|
@ -10023,6 +10028,20 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
|
|
||||||
if (onground && player->transfer)
|
if (onground && player->transfer)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (G_CompatLevel(0x0010))
|
||||||
|
{
|
||||||
|
// Ghosts prior to 2.4 RC2 don't get this
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (player->fastfall) // If you elected to acid drop, you get a small dropdash boost on landing
|
||||||
|
{
|
||||||
|
S_StartSound(player->mo, sfx_s23c);
|
||||||
|
player->aciddropdashboost = max(player->aciddropdashboost, 35);
|
||||||
|
K_SpawnDashDustRelease(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
player->fastfall = 0;
|
player->fastfall = 0;
|
||||||
player->transfer = 0;
|
player->transfer = 0;
|
||||||
player->pflags2 &= ~PF2_SUPERTRANSFERVFX;
|
player->pflags2 &= ~PF2_SUPERTRANSFERVFX;
|
||||||
|
|
@ -10543,6 +10562,9 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
if (player->dropdashboost)
|
if (player->dropdashboost)
|
||||||
player->dropdashboost--;
|
player->dropdashboost--;
|
||||||
|
|
||||||
|
if (player->aciddropdashboost)
|
||||||
|
player->aciddropdashboost--;
|
||||||
|
|
||||||
if (player->wavedashboost > 0 && onground == true)
|
if (player->wavedashboost > 0 && onground == true)
|
||||||
{
|
{
|
||||||
player->wavedashboost--;
|
player->wavedashboost--;
|
||||||
|
|
|
||||||
|
|
@ -321,6 +321,8 @@ static int player_get(lua_State *L)
|
||||||
lua_pushinteger(L, plr->startboost);
|
lua_pushinteger(L, plr->startboost);
|
||||||
else if (fastcmp(field,"dropdashboost"))
|
else if (fastcmp(field,"dropdashboost"))
|
||||||
lua_pushinteger(L, plr->dropdashboost);
|
lua_pushinteger(L, plr->dropdashboost);
|
||||||
|
else if (fastcmp(field,"aciddropdashboost"))
|
||||||
|
lua_pushinteger(L, plr->aciddropdashboost);
|
||||||
else if (fastcmp(field,"aizdriftstrat"))
|
else if (fastcmp(field,"aizdriftstrat"))
|
||||||
lua_pushinteger(L, plr->aizdriftstrat);
|
lua_pushinteger(L, plr->aizdriftstrat);
|
||||||
else if (fastcmp(field,"aizdriftextend"))
|
else if (fastcmp(field,"aizdriftextend"))
|
||||||
|
|
@ -986,6 +988,8 @@ static int player_set(lua_State *L)
|
||||||
plr->startboost = luaL_checkinteger(L, 3);
|
plr->startboost = luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"dropdashboost"))
|
else if (fastcmp(field,"dropdashboost"))
|
||||||
plr->dropdashboost = luaL_checkinteger(L, 3);
|
plr->dropdashboost = luaL_checkinteger(L, 3);
|
||||||
|
else if (fastcmp(field,"aciddropdashboost"))
|
||||||
|
plr->aciddropdashboost = luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"aizdriftstrat"))
|
else if (fastcmp(field,"aizdriftstrat"))
|
||||||
plr->aizdriftstrat = luaL_checkinteger(L, 3);
|
plr->aizdriftstrat = luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"aizdrifttilt"))
|
else if (fastcmp(field,"aizdrifttilt"))
|
||||||
|
|
|
||||||
|
|
@ -468,6 +468,7 @@ static void P_NetArchivePlayers(savebuffer_t *save)
|
||||||
WRITEUINT16(save->p, players[i].bigwaypointgap);
|
WRITEUINT16(save->p, players[i].bigwaypointgap);
|
||||||
WRITEUINT8(save->p, players[i].startboost);
|
WRITEUINT8(save->p, players[i].startboost);
|
||||||
WRITEUINT8(save->p, players[i].dropdashboost);
|
WRITEUINT8(save->p, players[i].dropdashboost);
|
||||||
|
WRITEUINT8(save->p, players[i].aciddropdashboost);
|
||||||
|
|
||||||
WRITEUINT16(save->p, players[i].flashing);
|
WRITEUINT16(save->p, players[i].flashing);
|
||||||
WRITEUINT16(save->p, players[i].spinouttimer);
|
WRITEUINT16(save->p, players[i].spinouttimer);
|
||||||
|
|
@ -1146,6 +1147,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
|
||||||
players[i].bigwaypointgap = READUINT16(save->p);
|
players[i].bigwaypointgap = READUINT16(save->p);
|
||||||
players[i].startboost = READUINT8(save->p);
|
players[i].startboost = READUINT8(save->p);
|
||||||
players[i].dropdashboost = READUINT8(save->p);
|
players[i].dropdashboost = READUINT8(save->p);
|
||||||
|
players[i].aciddropdashboost = READUINT8(save->p);
|
||||||
|
|
||||||
players[i].flashing = READUINT16(save->p);
|
players[i].flashing = READUINT16(save->p);
|
||||||
players[i].spinouttimer = READUINT16(save->p);
|
players[i].spinouttimer = READUINT16(save->p);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue