Merge branch 'the-scary-22-merge' into battle-rethink

This commit is contained in:
Sally Coolatta 2020-10-25 09:58:25 -04:00
commit 48d8bb242a
5 changed files with 11 additions and 24 deletions

View file

@ -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

View file

@ -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]);
}
}

View file

@ -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<<FRACBITS, 5);
K_SpinPlayer(player, inflictor, source, 1);
K_SpinPlayer(player, inflictor, source, KSPIN_WIPEOUT);
K_KartPainEnergyFling(player);
break;
case DMG_NORMAL:
default:
K_SpinPlayer(player, inflictor, source, 0);
K_SpinPlayer(player, inflictor, source, KSPIN_SPINOUT);
break;
}

View file

@ -214,13 +214,6 @@ boolean P_SetPlayerMobjState(mobj_t *mobj, statenum_t state)
I_Error("P_SetPlayerMobjState used for non-player mobj. Use P_SetMobjState instead!\n(Mobj type: %d, State: %d)", mobj->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;

View file

@ -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)
{