mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Sneaker panel overshield stacking code to actually run
Using a stronger sneaker boost promoted the boost type variable so that the sneaker panel specific code virtually never ran. Oops! Fixed.
This commit is contained in:
parent
03d9430bb9
commit
78652200f6
1 changed files with 14 additions and 2 deletions
16
src/k_kart.c
16
src/k_kart.c
|
|
@ -7213,6 +7213,7 @@ static void K_FlameDashLeftoverSmoke(mobj_t *src)
|
||||||
void K_DoSneaker(player_t *player, INT32 type)
|
void K_DoSneaker(player_t *player, INT32 type)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
INT32 originaltype = type;
|
||||||
fixed_t intendedboost = FRACUNIT/2;
|
fixed_t intendedboost = FRACUNIT/2;
|
||||||
|
|
||||||
// If you've already got an rocket sneaker type boost, panel sneakers will instead turn into rocket sneaker boosts
|
// If you've already got an rocket sneaker type boost, panel sneakers will instead turn into rocket sneaker boosts
|
||||||
|
|
@ -7317,16 +7318,27 @@ void K_DoSneaker(player_t *player, INT32 type)
|
||||||
{
|
{
|
||||||
case 0: // Panel sneaker
|
case 0: // Panel sneaker
|
||||||
player->panelsneakertimer = sneakertime;
|
player->panelsneakertimer = sneakertime;
|
||||||
|
break;
|
||||||
|
case 1: // Single item sneaker
|
||||||
|
player->sneakertimer = sneakertime;
|
||||||
|
break;
|
||||||
|
case 2: // Rocket sneaker (aka. weaksneaker)
|
||||||
|
player->weaksneakertimer = 3*sneakertime/4;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Give invincibility based on the ACTUAL boost type used, not the "promoted" boost type
|
||||||
|
switch (originaltype)
|
||||||
|
{
|
||||||
|
case 0: // Panel sneaker
|
||||||
if (player->overshield > 0) {
|
if (player->overshield > 0) {
|
||||||
player->overshield = min( player->overshield + TICRATE/3, max( TICRATE, player->overshield ));
|
player->overshield = min( player->overshield + TICRATE/3, max( TICRATE, player->overshield ));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1: // Single item sneaker
|
case 1: // Single item sneaker
|
||||||
player->sneakertimer = sneakertime;
|
|
||||||
player->overshield = max( player->overshield, 25 );
|
player->overshield = max( player->overshield, 25 );
|
||||||
break;
|
break;
|
||||||
case 2: // Rocket sneaker (aka. weaksneaker)
|
case 2: // Rocket sneaker (aka. weaksneaker)
|
||||||
player->weaksneakertimer = 3*sneakertime/4;
|
|
||||||
player->overshield = max( player->overshield, TICRATE/2 );
|
player->overshield = max( player->overshield, TICRATE/2 );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue