mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Add K_GiveBumpersToPlayer, subset of K_TakeBumpersFromPlayer functionality
This commit is contained in:
parent
ba114022b9
commit
dafdb0fc10
2 changed files with 20 additions and 10 deletions
29
src/k_kart.c
29
src/k_kart.c
|
|
@ -4483,19 +4483,12 @@ void K_DebtStingPlayer(player_t *player, mobj_t *source)
|
|||
P_SetPlayerMobjState(player->mo, S_KART_SPINOUT);
|
||||
}
|
||||
|
||||
void K_TakeBumpersFromPlayer(player_t *player, player_t *victim, UINT8 amount)
|
||||
void K_GiveBumpersToPlayer(player_t *player, player_t *victim, UINT8 amount)
|
||||
{
|
||||
const UINT8 oldPlayerBumpers = K_Bumpers(player);
|
||||
|
||||
UINT8 tookBumpers = 0;
|
||||
|
||||
amount = min(amount, K_Bumpers(victim));
|
||||
|
||||
if (amount == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
while (tookBumpers < amount)
|
||||
{
|
||||
const UINT8 newbumper = (oldPlayerBumpers + tookBumpers);
|
||||
|
|
@ -4521,11 +4514,15 @@ void K_TakeBumpersFromPlayer(player_t *player, player_t *victim, UINT8 amount)
|
|||
newmo = P_SpawnMobj(newx, newy, player->mo->z, MT_BATTLEBUMPER);
|
||||
newmo->threshold = newbumper;
|
||||
|
||||
P_SetTarget(&newmo->tracer, victim->mo);
|
||||
if (victim)
|
||||
{
|
||||
P_SetTarget(&newmo->tracer, victim->mo);
|
||||
}
|
||||
|
||||
P_SetTarget(&newmo->target, player->mo);
|
||||
|
||||
newmo->angle = (diff * (newbumper-1));
|
||||
newmo->color = victim->skincolor;
|
||||
newmo->color = (victim ? victim : player)->skincolor;
|
||||
|
||||
if (newbumper+1 < 2)
|
||||
{
|
||||
|
|
@ -4545,6 +4542,18 @@ void K_TakeBumpersFromPlayer(player_t *player, player_t *victim, UINT8 amount)
|
|||
|
||||
// :jartcookiedance:
|
||||
player->mo->health += tookBumpers;
|
||||
}
|
||||
|
||||
void K_TakeBumpersFromPlayer(player_t *player, player_t *victim, UINT8 amount)
|
||||
{
|
||||
amount = min(amount, K_Bumpers(victim));
|
||||
|
||||
if (amount == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
K_GiveBumpersToPlayer(player, victim, amount);
|
||||
|
||||
// Play steal sound
|
||||
S_StartSound(player->mo, sfx_3db06);
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ void K_UpdateStumbleIndicator(player_t *player);
|
|||
void K_UpdateSliptideZipIndicator(player_t *player);
|
||||
INT32 K_ExplodePlayer(player_t *player, mobj_t *inflictor, mobj_t *source);
|
||||
void K_DebtStingPlayer(player_t *player, mobj_t *source);
|
||||
void K_GiveBumpersToPlayer(player_t *player, player_t *victim, UINT8 amount);
|
||||
void K_TakeBumpersFromPlayer(player_t *player, player_t *victim, UINT8 amount);
|
||||
void K_MineFlashScreen(mobj_t *source);
|
||||
void K_SpawnMineExplosion(mobj_t *source, UINT8 color, tic_t delay);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue