mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-31 04:02:37 +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)
|
||||
{
|
||||
|
||||
INT32 originaltype = type;
|
||||
fixed_t intendedboost = FRACUNIT/2;
|
||||
|
||||
// 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
|
||||
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) {
|
||||
player->overshield = min( player->overshield + TICRATE/3, max( TICRATE, player->overshield ));
|
||||
}
|
||||
break;
|
||||
case 1: // Single item sneaker
|
||||
player->sneakertimer = sneakertime;
|
||||
player->overshield = max( player->overshield, 25 );
|
||||
break;
|
||||
case 2: // Rocket sneaker (aka. weaksneaker)
|
||||
player->weaksneakertimer = 3*sneakertime/4;
|
||||
player->overshield = max( player->overshield, TICRATE/2 );
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue