mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-17 10:11:12 +00:00
= Nerfed Megas across the board.
- Rarer - Speed reduced from +25% to +20% - Getting squished doesn't last as long = Nerfed the Banana Meta - or at least changed it - You don't wipeout for as long - You don't lose as much speed from wiping out (1/2 instead of 1/4) = Respawning after death is faster - Lakitu drops you faster, only three floaty sounds instead of four = Adjusted the camera to the values given by Sev
This commit is contained in:
parent
01126d1232
commit
ba7580d8e2
5 changed files with 50 additions and 32 deletions
|
@ -143,16 +143,16 @@ extern FILE *logstream;
|
||||||
#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3
|
#define DEVELOP // Disable this for release builds to remove excessive cheat commands and enable MD5 checking and stuff, all in one go. :3
|
||||||
#ifdef DEVELOP
|
#ifdef DEVELOP
|
||||||
#define VERSION 104 // Game version
|
#define VERSION 104 // Game version
|
||||||
#define SUBVERSION 4 // more precise version number
|
#define SUBVERSION 7 // more precise version number
|
||||||
#define VERSIONSTRING "Development EXE"
|
#define VERSIONSTRING "Development EXE"
|
||||||
#define VERSIONSTRINGW "v1.4.4"
|
#define VERSIONSTRINGW "v1.4.7"
|
||||||
// most interface strings are ignored in development mode.
|
// most interface strings are ignored in development mode.
|
||||||
// we use comprevision and compbranch instead.
|
// we use comprevision and compbranch instead.
|
||||||
#else
|
#else
|
||||||
#define VERSION 104 // Game version
|
#define VERSION 104 // Game version
|
||||||
#define SUBVERSION 4 // more precise version number
|
#define SUBVERSION 7 // more precise version number
|
||||||
#define VERSIONSTRING "DevEXE v1.4.4"
|
#define VERSIONSTRING "DevEXE v1.4.7"
|
||||||
#define VERSIONSTRINGW L"v1.4.4"
|
#define VERSIONSTRINGW L"v1.4.7"
|
||||||
// Hey! If you change this, add 1 to the MODVERSION below!
|
// Hey! If you change this, add 1 to the MODVERSION below!
|
||||||
// Otherwise we can't force updates!
|
// Otherwise we can't force updates!
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2338,7 +2338,7 @@ void G_PlayerReborn(INT32 player)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leveltime > 157)
|
if (leveltime > 157)
|
||||||
p->kartstuff[k_lakitu] = 64; // Lakitu Spawner
|
p->kartstuff[k_lakitu] = 48; // Lakitu Spawner
|
||||||
|
|
||||||
if (gametype == GT_COOP)
|
if (gametype == GT_COOP)
|
||||||
P_FindEmerald(); // scan for emeralds to hunt for
|
P_FindEmerald(); // scan for emeralds to hunt for
|
||||||
|
|
39
src/k_kart.c
39
src/k_kart.c
|
@ -671,9 +671,9 @@ static INT32 K_KartItemOddsDistance_Retro[NUMKARTITEMS][9] =
|
||||||
//P-Odds 0 1 2 3 4 5 6 7 8
|
//P-Odds 0 1 2 3 4 5 6 7 8
|
||||||
/*Magnet*/ { 0, 1, 2, 0, 0, 0, 0, 0, 0 }, // Magnet
|
/*Magnet*/ { 0, 1, 2, 0, 0, 0, 0, 0, 0 }, // Magnet
|
||||||
/*Boo*/ { 0, 0, 2, 2, 1, 0, 0, 0, 0 }, // Boo
|
/*Boo*/ { 0, 0, 2, 2, 1, 0, 0, 0, 0 }, // Boo
|
||||||
/*Mushroom*/ { 1, 0, 0, 3, 7, 6, 0, 0, 0 }, // Mushroom
|
/*Mushroom*/ { 1, 0, 0, 3, 7, 5, 0, 0, 0 }, // Mushroom
|
||||||
/*Triple Mushroom*/ { 0, 0, 0, 0, 3, 8, 6, 4, 0 }, // Triple Mushroom
|
/*Triple Mushroom*/ { 0, 0, 0, 0, 3,10, 6, 4, 0 }, // Triple Mushroom
|
||||||
/*Mega Mushroom*/ { 0, 0, 0, 0, 1, 2, 1, 0, 0 }, // Mega Mushroom
|
/*Mega Mushroom*/ { 0, 0, 0, 0, 0, 1, 1, 0, 0 }, // Mega Mushroom
|
||||||
/*Gold Mushroom*/ { 0, 0, 0, 0, 0, 1, 6, 8,12 }, // Gold Mushroom
|
/*Gold Mushroom*/ { 0, 0, 0, 0, 0, 1, 6, 8,12 }, // Gold Mushroom
|
||||||
/*Star*/ { 0, 0, 0, 0, 0, 0, 4, 6, 8 }, // Star
|
/*Star*/ { 0, 0, 0, 0, 0, 0, 4, 6, 8 }, // Star
|
||||||
|
|
||||||
|
@ -686,7 +686,7 @@ static INT32 K_KartItemOddsDistance_Retro[NUMKARTITEMS][9] =
|
||||||
/*Bob-omb*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Bob-omb
|
/*Bob-omb*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Bob-omb
|
||||||
/*Blue Shell*/ { 0, 0, 0, 0, 0, 1, 2, 0, 0 }, // Blue Shell
|
/*Blue Shell*/ { 0, 0, 0, 0, 0, 1, 2, 0, 0 }, // Blue Shell
|
||||||
/*Fire Flower*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Fire Flower
|
/*Fire Flower*/ { 0, 0, 1, 2, 1, 0, 0, 0, 0 }, // Fire Flower
|
||||||
/*Triple Red Shell*/ { 0, 0, 0, 1, 0, 0, 0, 0, 0 }, // Triple Red Shell
|
/*Triple Red Shell*/ { 0, 0, 0, 1, 1, 0, 0, 0, 0 }, // Triple Red Shell
|
||||||
/*Lightning*/ { 0, 0, 0, 0, 0, 0, 1, 2, 0 } // Lightning
|
/*Lightning*/ { 0, 0, 0, 0, 0, 0, 1, 2, 0 } // Lightning
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1092,8 +1092,8 @@ void K_SwapMomentum(mobj_t *mobj1, mobj_t *mobj2, boolean bounce)
|
||||||
mobj1->momx = FixedMul(mobj2->momx, FixedDiv(m2w*FRACUNIT, m1w*FRACUNIT));
|
mobj1->momx = FixedMul(mobj2->momx, FixedDiv(m2w*FRACUNIT, m1w*FRACUNIT));
|
||||||
mobj1->momy = FixedMul(mobj2->momy, FixedDiv(m2w*FRACUNIT, m1w*FRACUNIT));
|
mobj1->momy = FixedMul(mobj2->momy, FixedDiv(m2w*FRACUNIT, m1w*FRACUNIT));
|
||||||
}
|
}
|
||||||
else
|
else*/
|
||||||
{*/
|
//{
|
||||||
newx = mobj1->momx;
|
newx = mobj1->momx;
|
||||||
newy = mobj1->momy;
|
newy = mobj1->momy;
|
||||||
mobj1->momx = mobj2->momx;
|
mobj1->momx = mobj2->momx;
|
||||||
|
@ -1123,6 +1123,7 @@ void K_KartBouncer(void)
|
||||||
&& !players[i].kartstuff[k_growshrinktimer]
|
&& !players[i].kartstuff[k_growshrinktimer]
|
||||||
&& !players[i].kartstuff[k_squishedtimer]
|
&& !players[i].kartstuff[k_squishedtimer]
|
||||||
&& !players[i].kartstuff[k_bootaketimer]
|
&& !players[i].kartstuff[k_bootaketimer]
|
||||||
|
&& !players[i].kartstuff[k_spinouttimer]
|
||||||
&& !players[i].kartstuff[k_startimer])
|
&& !players[i].kartstuff[k_startimer])
|
||||||
{
|
{
|
||||||
for (j = i+1; j < MAXPLAYERS; j++)
|
for (j = i+1; j < MAXPLAYERS; j++)
|
||||||
|
@ -1130,6 +1131,7 @@ void K_KartBouncer(void)
|
||||||
&& !players[j].kartstuff[k_squishedtimer]
|
&& !players[j].kartstuff[k_squishedtimer]
|
||||||
&& !players[j].kartstuff[k_growshrinktimer]
|
&& !players[j].kartstuff[k_growshrinktimer]
|
||||||
&& !players[j].kartstuff[k_bootaketimer]
|
&& !players[j].kartstuff[k_bootaketimer]
|
||||||
|
&& !players[j].kartstuff[k_spinouttimer]
|
||||||
&& !players[j].kartstuff[k_startimer])
|
&& !players[j].kartstuff[k_startimer])
|
||||||
{
|
{
|
||||||
if (players[j].mo == players[i].mo)
|
if (players[j].mo == players[i].mo)
|
||||||
|
@ -1217,8 +1219,8 @@ static void K_UpdateOffroad(player_t *player)
|
||||||
// A higher kart weight means you can stay offroad for longer without losing speed
|
// A higher kart weight means you can stay offroad for longer without losing speed
|
||||||
offroad = (1872 + 5*156 - kartweight*156)*offroadstrength;
|
offroad = (1872 + 5*156 - kartweight*156)*offroadstrength;
|
||||||
|
|
||||||
if (player->kartstuff[k_growshrinktimer] > 1) // megashroom slows down half as fast
|
//if (player->kartstuff[k_growshrinktimer] > 1) // megashroom slows down half as fast
|
||||||
offroad /= 2;
|
// offroad /= 2;
|
||||||
|
|
||||||
player->kartstuff[k_offroad] += offroad;
|
player->kartstuff[k_offroad] += offroad;
|
||||||
}
|
}
|
||||||
|
@ -1240,7 +1242,7 @@ void K_LakituChecker(player_t *player)
|
||||||
{
|
{
|
||||||
ticcmd_t *cmd = &player->cmd;
|
ticcmd_t *cmd = &player->cmd;
|
||||||
|
|
||||||
if (player->kartstuff[k_lakitu] == 60)
|
if (player->kartstuff[k_lakitu] == 44)
|
||||||
{
|
{
|
||||||
mobj_t *mo;
|
mobj_t *mo;
|
||||||
angle_t newangle;
|
angle_t newangle;
|
||||||
|
@ -1473,7 +1475,7 @@ static fixed_t K_GetKartBoostPower(player_t *player, boolean speed)
|
||||||
{ // Mega Mushroom
|
{ // Mega Mushroom
|
||||||
if (speed)
|
if (speed)
|
||||||
{
|
{
|
||||||
boostvalue = max(boostvalue, FRACUNIT/4); // + 25%
|
boostvalue = max(boostvalue, FRACUNIT/5); // + 20%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (player->kartstuff[k_startimer])
|
if (player->kartstuff[k_startimer])
|
||||||
|
@ -1605,17 +1607,18 @@ void K_SpinPlayer(player_t *player, mobj_t *source)
|
||||||
if (player->kartstuff[k_spinouttype] <= 0)
|
if (player->kartstuff[k_spinouttype] <= 0)
|
||||||
{
|
{
|
||||||
if (player->kartstuff[k_spinouttype] == 0)
|
if (player->kartstuff[k_spinouttype] == 0)
|
||||||
player->kartstuff[k_spinouttimer] = 2*TICRATE;
|
player->kartstuff[k_spinouttimer] = 3*TICRATE/2; // Explosion/Banana Wipeout
|
||||||
else
|
else
|
||||||
player->kartstuff[k_spinouttimer] = 3*TICRATE/2;
|
player->kartstuff[k_spinouttimer] = 3*TICRATE/2; // Oil Slick Wipeout
|
||||||
|
|
||||||
if (player->speed < K_GetKartSpeed(player, true)/4) // player->normalspeed/4)
|
// At Wipeout, playerspeed is increased to 1/4 their regular speed, moving them forward
|
||||||
P_InstaThrust(player->mo, player->mo->angle, FixedMul(K_GetKartSpeed(player, true)/4, player->mo->scale)); // FixedMul(player->normalspeed/4, player->mo->scale));
|
if (player->speed < K_GetKartSpeed(player, true)/4)
|
||||||
|
P_InstaThrust(player->mo, player->mo->angle, FixedMul(K_GetKartSpeed(player, true)/4, player->mo->scale));
|
||||||
|
|
||||||
S_StartSound(player->mo, sfx_slip);
|
S_StartSound(player->mo, sfx_slip);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player->kartstuff[k_spinouttimer] = 1*TICRATE;
|
player->kartstuff[k_spinouttimer] = 1*TICRATE; // ? Whipeout
|
||||||
|
|
||||||
player->powers[pw_flashing] = flashingtics;
|
player->powers[pw_flashing] = flashingtics;
|
||||||
|
|
||||||
|
@ -1642,7 +1645,7 @@ void K_SquishPlayer(player_t *player, mobj_t *source)
|
||||||
player->kartstuff[k_mushroomtimer] = 0;
|
player->kartstuff[k_mushroomtimer] = 0;
|
||||||
player->kartstuff[k_driftboost] = 0;
|
player->kartstuff[k_driftboost] = 0;
|
||||||
|
|
||||||
player->kartstuff[k_squishedtimer] = 2*TICRATE;
|
player->kartstuff[k_squishedtimer] = 1*TICRATE;
|
||||||
|
|
||||||
player->powers[pw_flashing] = flashingtics;
|
player->powers[pw_flashing] = flashingtics;
|
||||||
|
|
||||||
|
@ -1973,7 +1976,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else // Shells
|
||||||
{
|
{
|
||||||
if (dir == -1)
|
if (dir == -1)
|
||||||
{
|
{
|
||||||
|
@ -1989,7 +1992,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Shoot forward
|
// Shoot forward
|
||||||
mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle, 0, PROJSPEED);
|
mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle, 0, PROJSPEED + player->speed);
|
||||||
|
|
||||||
if (mo)
|
if (mo)
|
||||||
{
|
{
|
||||||
|
|
19
src/p_mobj.c
19
src/p_mobj.c
|
@ -1964,7 +1964,7 @@ void P_XYMovement(mobj_t *mo)
|
||||||
if (mo->type == MT_GREENITEM || mo->type == MT_REDITEMDUD || mo->type == MT_REDITEM || mo->type == MT_FIREBALL) //(mo->type == MT_REDITEM && !mo->tracer))
|
if (mo->type == MT_GREENITEM || mo->type == MT_REDITEMDUD || mo->type == MT_REDITEM || mo->type == MT_FIREBALL) //(mo->type == MT_REDITEM && !mo->tracer))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/4)
|
if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/2)
|
||||||
return;
|
return;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
@ -8334,8 +8334,23 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mobj->type == MT_PLAYER)
|
switch (mobj->type)
|
||||||
|
{
|
||||||
|
case MT_PLAYER:
|
||||||
|
//case MT_RANDOMITEM:
|
||||||
|
case MT_BANANAITEM: case MT_BANANASHIELD:
|
||||||
|
case MT_TRIPLEBANANASHIELD1: case MT_TRIPLEBANANASHIELD2: case MT_TRIPLEBANANASHIELD3:
|
||||||
|
case MT_GREENITEM: case MT_GREENSHIELD:
|
||||||
|
case MT_TRIPLEGREENSHIELD1: case MT_TRIPLEGREENSHIELD2: case MT_TRIPLEGREENSHIELD3:
|
||||||
|
case MT_REDITEM: case MT_REDSHIELD: case MT_REDITEMDUD:
|
||||||
|
case MT_TRIPLEREDSHIELD1: case MT_TRIPLEREDSHIELD2: case MT_TRIPLEREDSHIELD3:
|
||||||
|
case MT_FAKEITEM: case MT_FAKESHIELD:
|
||||||
|
case MT_BOMBITEM: case MT_BOMBSHIELD:
|
||||||
|
case MT_FIREBALL:
|
||||||
P_SpawnShadowMobj(mobj);
|
P_SpawnShadowMobj(mobj);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!(mobj->flags & MF_NOTHINK))
|
if (!(mobj->flags & MF_NOTHINK))
|
||||||
P_AddThinker(&mobj->thinker);
|
P_AddThinker(&mobj->thinker);
|
||||||
|
|
10
src/p_user.c
10
src/p_user.c
|
@ -7926,14 +7926,14 @@ static void P_DeathThink(player_t *player)
|
||||||
CONS_Printf("%s entered the game.\n", player_names[player-players]);
|
CONS_Printf("%s entered the game.\n", player_names[player-players]);
|
||||||
player->spectator = false;
|
player->spectator = false;
|
||||||
}
|
}
|
||||||
//player->kartstuff[k_lakitu] = 64; // See G_PlayerReborn in g_game.c
|
//player->kartstuff[k_lakitu] = 48; // See G_PlayerReborn in g_game.c
|
||||||
|
|
||||||
// SRB2kart - spawn automatically after 2 seconds
|
// SRB2kart - spawn automatically after 1.5 seconds
|
||||||
if (player->deadtimer > 2*TICRATE && (gametype == GT_RACE || player->spectator))
|
if (player->deadtimer > (TICRATE + TICRATE/2) && (gametype == GT_RACE || player->spectator))
|
||||||
player->playerstate = PST_REBORN;
|
player->playerstate = PST_REBORN;
|
||||||
|
|
||||||
// SRB2kart - spawn after 2 seconds & Button press
|
// SRB2kart - spawn after 1.5 seconds & Button press
|
||||||
if ((cmd->buttons & BT_JUMP || cmd->buttons & BT_ACCELERATE) && player->deadtimer > 2*TICRATE
|
if ((cmd->buttons & BT_JUMP || cmd->buttons & BT_ACCELERATE) && player->deadtimer > (TICRATE + TICRATE/2)
|
||||||
&& (gametype == GT_RACE || player->spectator))
|
&& (gametype == GT_RACE || player->spectator))
|
||||||
player->playerstate = PST_REBORN;
|
player->playerstate = PST_REBORN;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue