diff --git a/src/k_kart.c b/src/k_kart.c index 58c2d5f65..4a62e9a78 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -1199,7 +1199,7 @@ boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean sol { mobj1->player->kartstuff[k_wipeoutslow] = wipeoutslowtime+1; mobj1->player->kartstuff[k_spinouttimer] = max(wipeoutslowtime+1, mobj1->player->kartstuff[k_spinouttimer]); - //mobj1->player->kartstuff[k_spinouttype] = 1; // Enforce type + //mobj1->player->kartstuff[k_spinouttype] = KSPIN_WIPEOUT; // Enforce type } else if (mobj2->player // Player VS player bumping only && (K_GetShieldFromItem(mobj1->player->kartstuff[k_itemtype]) == KSHIELD_NONE)) // Ignore for shields @@ -1223,7 +1223,7 @@ boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean sol { mobj2->player->kartstuff[k_wipeoutslow] = wipeoutslowtime+1; mobj2->player->kartstuff[k_spinouttimer] = max(wipeoutslowtime+1, mobj2->player->kartstuff[k_spinouttimer]); - //mobj2->player->kartstuff[k_spinouttype] = 1; // Enforce type + //mobj2->player->kartstuff[k_spinouttype] = KSPIN_WIPEOUT; // Enforce type } else if (mobj1->player // Player VS player bumping only && (K_GetShieldFromItem(mobj2->player->kartstuff[k_itemtype]) == KSHIELD_NONE)) // Ignore for shields @@ -2580,7 +2580,7 @@ void K_DebtStingPlayer(player_t *player, mobj_t *source) length += (4 * (source->player->kartweight - player->kartweight)); } - player->kartstuff[k_spinouttype] = 2; + player->kartstuff[k_spinouttype] = KSPIN_STUNG; player->kartstuff[k_spinouttimer] = length; player->kartstuff[k_wipeoutslow] = min(length-1, wipeoutslowtime+1); @@ -5594,10 +5594,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) { player->powers[pw_flashing] = K_GetKartFlashing(player); } - else if (player->powers[pw_flashing] >= K_GetKartFlashing(player)) - { - player->powers[pw_flashing]--; - } if (player->kartstuff[k_spinouttimer]) { @@ -5608,9 +5604,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) player->kartstuff[k_spinouttimer]--; if (player->kartstuff[k_wipeoutslow] > 1) player->kartstuff[k_wipeoutslow]--; - // Actually, this caused more problems than it solved. Just make sure you set type before you spinout. Which K_SpinPlayer always does. - /*if (player->kartstuff[k_spinouttimer] == 0) - player->kartstuff[k_spinouttype] = 0;*/ // Reset type } } else diff --git a/src/m_cheat.c b/src/m_cheat.c index 628121295..ff5f86968 100644 --- a/src/m_cheat.c +++ b/src/m_cheat.c @@ -1283,7 +1283,6 @@ void Command_ObjectPlace_f(void) players[0].mo->color = op_oldcolor; // This is necessary for recovery of dying players. - if (players[0].powers[pw_flashing] >= K_GetKartFlashing(&players[0])) - players[0].powers[pw_flashing] = K_GetKartFlashing(&players[0]) - 1; + players[0].powers[pw_flashing] = K_GetKartFlashing(&players[0]); } } diff --git a/src/p_inter.c b/src/p_inter.c index c23221ae1..e190e1274 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1922,12 +1922,12 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da if (P_IsDisplayPlayer(player)) P_StartQuake(32<type, state); #endif - // You were in pain state after taking a hit, and you're moving out of pain state now? - if (mobj->state == &states[mobj->info->painstate] && player->powers[pw_flashing] == K_GetKartFlashing(player) && state != mobj->info->painstate) - { - // Start flashing, since you've landed. - player->powers[pw_flashing] = K_GetKartFlashing(player)-1; - } - // Set animation state // The pflags version of this was just as convoluted. switch(state) @@ -10114,7 +10107,7 @@ void P_SpawnPlayer(INT32 playernum) p->skincolor = skincolor_blueteam; } - p->powers[pw_flashing] = flashingtics-1; // Babysitting deterrent + p->powers[pw_flashing] = K_GetKartFlashing(p); // Babysitting deterrent mobj = P_SpawnMobj(0, 0, 0, MT_PLAYER); (mobj->player = p)->mo = mobj; diff --git a/src/p_user.c b/src/p_user.c index ea2a3d72e..1a222da1d 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -4486,8 +4486,8 @@ void P_PlayerThink(player_t *player) player->pflags &= ~PF_SPINDOWN; // IF PLAYER NOT HERE THEN FLASH END IF - if (player->quittime && player->powers[pw_flashing] < flashingtics - 1 && !player->gotflag) - player->powers[pw_flashing] = flashingtics - 1; + if (player->quittime && player->powers[pw_flashing] < K_GetKartFlashing(player) && !player->gotflag) + player->powers[pw_flashing] = K_GetKartFlashing(player); // Counters, time dependent power ups. // Time Bonus & Ring Bonus count settings @@ -4495,7 +4495,9 @@ void P_PlayerThink(player_t *player) // Strength counts up to diminish fade. if (player->powers[pw_flashing] && player->powers[pw_flashing] < UINT16_MAX && (player->spectator || !P_PlayerInPain(player))) + { player->powers[pw_flashing]--; + } if (player->powers[pw_nocontrol] & ((1<<15)-1) && player->powers[pw_nocontrol] < UINT16_MAX) {