mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-01 11:16:30 +00:00
Grow no longer has a speed boost, but no longer holds the item box hostage
It can now be moved over to "mid-tier" instead of the end. Flame Shield will be taking its place as the "situational but powerful speed-up/offense combo item"
This commit is contained in:
parent
5bacbe6222
commit
ecaf14a76b
6 changed files with 22 additions and 83 deletions
|
|
@ -335,7 +335,6 @@ typedef enum
|
|||
k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed
|
||||
k_jawztargetdelay, // Delay for Jawz target switching, to make it less twitchy
|
||||
k_spectatewait, // How long have you been waiting as a spectator
|
||||
k_growcancel, // Hold the item button down to cancel Grow
|
||||
|
||||
NUMKARTSTUFF
|
||||
} kartstufftype_t;
|
||||
|
|
|
|||
|
|
@ -8471,8 +8471,7 @@ static const char *const KARTSTUFF_LIST[] = {
|
|||
"ITEMBLINKMODE",
|
||||
"GETSPARKS",
|
||||
"JAWZTARGETDELAY",
|
||||
"SPECTATEWAIT",
|
||||
"GROWCANCEL"
|
||||
"SPECTATEWAIT"
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
|||
76
src/k_kart.c
76
src/k_kart.c
|
|
@ -1259,7 +1259,7 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
static fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against)
|
||||
{
|
||||
fixed_t weight = 5<<FRACBITS;
|
||||
fixed_t weight = 5*mobj->scale;
|
||||
|
||||
switch (mobj->type)
|
||||
{
|
||||
|
|
@ -1270,7 +1270,7 @@ static fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against)
|
|||
weight = 0; // Do not bump
|
||||
else
|
||||
{
|
||||
weight = (mobj->player->kartweight)<<FRACBITS;
|
||||
weight = (mobj->player->kartweight) * mobj->scale;
|
||||
if (mobj->player->speed > K_GetKartSpeed(mobj->player, false))
|
||||
weight += (mobj->player->speed - K_GetKartSpeed(mobj->player, false))/8;
|
||||
}
|
||||
|
|
@ -1282,21 +1282,21 @@ static fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against)
|
|||
|| against->player->kartstuff[k_growshrinktimer] > 0)
|
||||
weight = 0;
|
||||
else
|
||||
weight = (against->player->kartweight)<<FRACBITS;
|
||||
weight = (against->player->kartweight) * against->scale;
|
||||
}
|
||||
break;
|
||||
case MT_ORBINAUT:
|
||||
case MT_ORBINAUT_SHIELD:
|
||||
if (against->player)
|
||||
weight = (against->player->kartweight)<<FRACBITS;
|
||||
weight = (against->player->kartweight) * against->scale;
|
||||
break;
|
||||
case MT_JAWZ:
|
||||
case MT_JAWZ_DUD:
|
||||
case MT_JAWZ_SHIELD:
|
||||
if (against->player)
|
||||
weight = (against->player->kartweight+3)<<FRACBITS;
|
||||
weight = (against->player->kartweight+3) * against->scale;
|
||||
else
|
||||
weight = 8<<FRACBITS;
|
||||
weight = 8*mobj->scale;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -2229,14 +2229,6 @@ static void K_GetKartBoostPower(player_t *player)
|
|||
if (player->kartstuff[k_ringboost]) // Ring Boost
|
||||
ADDBOOST(FRACUNIT/5, 4*FRACUNIT); // + 20% top speed, + 400% acceleration
|
||||
|
||||
if (player->kartstuff[k_growshrinktimer] > 0) // Grow
|
||||
{
|
||||
// Grow's design is weird with booster stacking.
|
||||
// We'll see how to replace its design BEFORE v2 gets released.
|
||||
speedboost += (FRACUNIT/5); // + 20%
|
||||
//numboosts++; // Don't add any boost afterimages to Grow
|
||||
}
|
||||
|
||||
if (player->kartstuff[k_draftpower] > 0) // Drafting
|
||||
{
|
||||
speedboost += (player->kartstuff[k_draftpower]) / 3; // + 0 to 33.3% top speed
|
||||
|
|
@ -2545,7 +2537,6 @@ static void K_RemoveGrowShrink(player_t *player)
|
|||
}
|
||||
|
||||
player->kartstuff[k_growshrinktimer] = 0;
|
||||
player->kartstuff[k_growcancel] = -1;
|
||||
|
||||
P_RestoreMusic(player);
|
||||
}
|
||||
|
|
@ -4820,17 +4811,17 @@ static void K_UpdateInvincibilitySounds(player_t *player)
|
|||
{
|
||||
if (cv_kartinvinsfx.value)
|
||||
{
|
||||
if (player->kartstuff[k_growshrinktimer] > 0) // Prioritize Grow
|
||||
sfxnum = sfx_alarmg;
|
||||
else if (player->kartstuff[k_invincibilitytimer] > 0)
|
||||
if (player->kartstuff[k_invincibilitytimer] > 0) // Prioritize invincibility
|
||||
sfxnum = sfx_alarmi;
|
||||
else if (player->kartstuff[k_growshrinktimer] > 0)
|
||||
sfxnum = sfx_alarmg;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (player->kartstuff[k_growshrinktimer] > 0)
|
||||
sfxnum = sfx_kgrow;
|
||||
else if (player->kartstuff[k_invincibilitytimer] > 0)
|
||||
if (player->kartstuff[k_invincibilitytimer] > 0)
|
||||
sfxnum = sfx_kinvnc;
|
||||
else if (player->kartstuff[k_growshrinktimer] > 0)
|
||||
sfxnum = sfx_kgrow;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5855,7 +5846,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
&& NO_HYUDORO && !(HOLDING_ITEM
|
||||
|| player->kartstuff[k_itemamount]
|
||||
|| player->kartstuff[k_itemroulette]
|
||||
|| player->kartstuff[k_growshrinktimer] // Being disabled during Shrink was unintended but people seemed to be okay with it sooo...
|
||||
|| player->kartstuff[k_growshrinktimer] < 0 // Being disabled during Shrink was unintended but people seemed to be okay with it sooo...
|
||||
|| player->kartstuff[k_rocketsneakertimer]
|
||||
|| player->kartstuff[k_eggmanexplode]))
|
||||
player->kartstuff[k_userings] = 1;
|
||||
|
|
@ -5952,28 +5943,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
player->kartstuff[k_rocketsneakertimer] = 1;
|
||||
}
|
||||
}
|
||||
// Grow Canceling
|
||||
else if (player->kartstuff[k_growshrinktimer] > 0)
|
||||
{
|
||||
if (player->kartstuff[k_growcancel] >= 0)
|
||||
{
|
||||
if (cmd->buttons & BT_ATTACK)
|
||||
{
|
||||
player->kartstuff[k_growcancel]++;
|
||||
if (player->kartstuff[k_growcancel] > 26)
|
||||
K_RemoveGrowShrink(player);
|
||||
}
|
||||
else
|
||||
player->kartstuff[k_growcancel] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((cmd->buttons & BT_ATTACK) || (player->pflags & PF_ATTACKDOWN))
|
||||
player->kartstuff[k_growcancel] = -1;
|
||||
else
|
||||
player->kartstuff[k_growcancel] = 0;
|
||||
}
|
||||
}
|
||||
else if (player->kartstuff[k_itemamount] <= 0)
|
||||
{
|
||||
player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0;
|
||||
|
|
@ -6225,8 +6194,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
}
|
||||
break;
|
||||
case KITEM_GROW:
|
||||
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO
|
||||
&& player->kartstuff[k_growshrinktimer] <= 0) // Grow holds the item box hostage
|
||||
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO)
|
||||
{
|
||||
if (player->kartstuff[k_growshrinktimer] < 0) // If you're shrunk, then "grow" will just make you normal again.
|
||||
K_RemoveGrowShrink(player);
|
||||
|
|
@ -6353,9 +6321,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
else
|
||||
player->kartstuff[k_curshield] = 0;
|
||||
|
||||
if (player->kartstuff[k_growshrinktimer] <= 0)
|
||||
player->kartstuff[k_growcancel] = -1;
|
||||
|
||||
if (player->kartstuff[k_itemtype] == KITEM_SPB
|
||||
|| player->kartstuff[k_itemtype] == KITEM_SHRINK
|
||||
|| player->kartstuff[k_growshrinktimer] < 0)
|
||||
|
|
@ -7581,19 +7546,6 @@ static void K_drawKartItem(void)
|
|||
else
|
||||
localpatch = kp_nodraw;
|
||||
}
|
||||
else if (stplyr->kartstuff[k_growshrinktimer] > 0)
|
||||
{
|
||||
if (stplyr->kartstuff[k_growcancel] > 0)
|
||||
{
|
||||
itembar = stplyr->kartstuff[k_growcancel];
|
||||
maxl = 26;
|
||||
}
|
||||
|
||||
if (leveltime & 1)
|
||||
localpatch = kp_grow[offset];
|
||||
else
|
||||
localpatch = kp_nodraw;
|
||||
}
|
||||
else if (stplyr->kartstuff[k_sadtimer] > 0)
|
||||
{
|
||||
if (leveltime & 2)
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ boolean P_CanPickupItem(player_t *player, UINT8 weapon)
|
|||
{
|
||||
// Item-specific timer going off
|
||||
if (player->kartstuff[k_stealingtimer] || player->kartstuff[k_stolentimer]
|
||||
|| player->kartstuff[k_growshrinktimer] > 0 || player->kartstuff[k_rocketsneakertimer]
|
||||
|| player->kartstuff[k_rocketsneakertimer]
|
||||
|| player->kartstuff[k_eggmanexplode])
|
||||
return false;
|
||||
|
||||
|
|
|
|||
11
src/p_mobj.c
11
src/p_mobj.c
|
|
@ -6805,17 +6805,6 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
else
|
||||
mobj->tracer->flags2 |= MF2_DONTDRAW;
|
||||
}
|
||||
else if (mobj->target->player->kartstuff[k_growshrinktimer] > 0)
|
||||
{
|
||||
P_SetMobjState(mobj, S_PLAYERARROW_BOX);
|
||||
mobj->tracer->sprite = SPR_ITEM;
|
||||
mobj->tracer->frame = FF_FULLBRIGHT|KITEM_GROW;
|
||||
|
||||
if (leveltime & 1)
|
||||
mobj->tracer->flags2 &= ~MF2_DONTDRAW;
|
||||
else
|
||||
mobj->tracer->flags2 |= MF2_DONTDRAW;
|
||||
}
|
||||
else if (mobj->target->player->kartstuff[k_itemtype] && mobj->target->player->kartstuff[k_itemamount] > 0)
|
||||
{
|
||||
P_SetMobjState(mobj, S_PLAYERARROW_BOX);
|
||||
|
|
|
|||
12
src/p_user.c
12
src/p_user.c
|
|
@ -1218,10 +1218,10 @@ void P_RestoreMusic(player_t *player)
|
|||
#define setbests(p) \
|
||||
if (players[p].playerstate == PST_LIVE) \
|
||||
{ \
|
||||
if (players[p].kartstuff[k_growshrinktimer] > bestlocaltimer) \
|
||||
{ wantedmus = 2; bestlocaltimer = players[p].kartstuff[k_growshrinktimer]; } \
|
||||
else if (players[p].kartstuff[k_invincibilitytimer] > bestlocaltimer) \
|
||||
if (players[p].kartstuff[k_invincibilitytimer] > bestlocaltimer) \
|
||||
{ wantedmus = 1; bestlocaltimer = players[p].kartstuff[k_invincibilitytimer]; } \
|
||||
else if (players[p].kartstuff[k_growshrinktimer] > bestlocaltimer) \
|
||||
{ wantedmus = 2; bestlocaltimer = players[p].kartstuff[k_growshrinktimer]; } \
|
||||
}
|
||||
setbests(displayplayers[0]);
|
||||
setbests(displayplayers[1]);
|
||||
|
|
@ -1235,10 +1235,10 @@ void P_RestoreMusic(player_t *player)
|
|||
{
|
||||
if (player->playerstate == PST_LIVE)
|
||||
{
|
||||
if (player->kartstuff[k_growshrinktimer] > 1)
|
||||
wantedmus = 2;
|
||||
else if (player->kartstuff[k_invincibilitytimer] > 1)
|
||||
if (player->kartstuff[k_invincibilitytimer] > 1)
|
||||
wantedmus = 1;
|
||||
else if (player->kartstuff[k_growshrinktimer] > 1)
|
||||
wantedmus = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue