mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Cleanup code and reverse gravity
This commit is contained in:
parent
37aedad288
commit
5efc34e43b
1 changed files with 48 additions and 22 deletions
70
src/k_kart.c
70
src/k_kart.c
|
|
@ -1657,20 +1657,21 @@ void K_SpawnDriftBoostClip(player_t *player)
|
|||
{
|
||||
mobj_t *clip;
|
||||
fixed_t scale = 115*FRACUNIT/100;
|
||||
fixed_t z;
|
||||
|
||||
clip = P_SpawnMobj(
|
||||
player->mo->x,
|
||||
player->mo->y,
|
||||
player->mo->z + player->mo->height,
|
||||
MT_DRIFTCLIP
|
||||
);
|
||||
if (( player->mo->eflags & MFE_VERTICALFLIP ))
|
||||
z = player->mo->z;
|
||||
else
|
||||
z = player->mo->z + player->mo->height;
|
||||
|
||||
clip = P_SpawnMobj(player->mo->x, player->mo->y, z, MT_DRIFTCLIP);
|
||||
|
||||
P_SetTarget(&clip->target, player->mo);
|
||||
P_SetScale(clip, ( clip->destscale = FixedMul(scale, player->mo->scale) ));
|
||||
K_MatchGenericExtraFlags(clip, player->mo);
|
||||
|
||||
clip->fuse = 105;
|
||||
clip->momz = 7 * clip->scale;
|
||||
clip->momz = 7 * P_MobjFlip(clip) * clip->scale;
|
||||
|
||||
P_InstaThrust(clip, player->mo->angle +
|
||||
K_RandomFlip(P_RandomRange(FRACUNIT/2, FRACUNIT)),
|
||||
|
|
@ -6373,6 +6374,43 @@ INT32 K_GetKartDriftSparkValue(player_t *player)
|
|||
return (26*4 + kartspeed*2 + (9 - player->kartweight))*8;
|
||||
}
|
||||
|
||||
/*
|
||||
Stage 1: red sparks
|
||||
Stage 2: blue sparks
|
||||
Stage 3: big large rainbow sparks
|
||||
*/
|
||||
static void K_SpawnDriftBoostExplosion(player_t *player, int stage)
|
||||
{
|
||||
mobj_t *overlay = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_DRIFTEXPLODE);
|
||||
|
||||
P_SetTarget(&overlay->target, player->mo);
|
||||
P_SetScale(overlay, (overlay->destscale = player->mo->scale));
|
||||
K_FlipFromObject(overlay, player->mo);
|
||||
|
||||
switch (stage)
|
||||
{
|
||||
case 1:
|
||||
overlay->color = SKINCOLOR_KETCHUP;
|
||||
overlay->fuse = 16;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
overlay->color = SKINCOLOR_SAPPHIRE;
|
||||
overlay->fuse = 32;
|
||||
|
||||
S_StartSound(player->mo, sfx_kc5b);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
overlay->color = SKINCOLOR_SILVER;
|
||||
overlay->fuse = 120;
|
||||
|
||||
S_StartSound(player->mo, sfx_kc5b);
|
||||
S_StartSound(player->mo, sfx_s3kc4l);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void K_KartDrift(player_t *player, boolean onground)
|
||||
{
|
||||
fixed_t minspeed = (10 * player->mo->scale);
|
||||
|
|
@ -6389,10 +6427,6 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
if (player->kartstuff[k_driftcharge] < 0 || player->kartstuff[k_driftcharge] >= dsone)
|
||||
{
|
||||
angle_t pushdir = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
|
||||
mobj_t *overlay = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_DRIFTEXPLODE);
|
||||
P_SetTarget(&overlay->target, player->mo);
|
||||
P_SetScale(overlay, (overlay->destscale = player->mo->scale));
|
||||
K_FlipFromObject(overlay, player->mo);
|
||||
|
||||
S_StartSound(player->mo, sfx_s23c);
|
||||
//K_SpawnDashDustRelease(player);
|
||||
|
|
@ -6405,9 +6439,6 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
|
||||
if (player->kartstuff[k_driftboost] < 15)
|
||||
player->kartstuff[k_driftboost] = 15;
|
||||
|
||||
overlay->color = SKINCOLOR_GOLD;
|
||||
overlay->fuse = 10;
|
||||
}
|
||||
else if (player->kartstuff[k_driftcharge] >= dsone && player->kartstuff[k_driftcharge] < dstwo)
|
||||
{
|
||||
|
|
@ -6418,8 +6449,7 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
if (player->kartstuff[k_driftboost] < 20)
|
||||
player->kartstuff[k_driftboost] = 20;
|
||||
|
||||
overlay->color = SKINCOLOR_KETCHUP;
|
||||
overlay->fuse = 16;
|
||||
K_SpawnDriftBoostExplosion(player, 1);
|
||||
}
|
||||
else if (player->kartstuff[k_driftcharge] < dsthree)
|
||||
{
|
||||
|
|
@ -6430,10 +6460,7 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
if (player->kartstuff[k_driftboost] < 50)
|
||||
player->kartstuff[k_driftboost] = 50;
|
||||
|
||||
overlay->color = SKINCOLOR_SAPPHIRE;
|
||||
overlay->fuse = 32;
|
||||
|
||||
S_StartSound(player->mo, sfx_kc5b);
|
||||
K_SpawnDriftBoostExplosion(player, 2);
|
||||
}
|
||||
else if (player->kartstuff[k_driftcharge] >= dsthree)
|
||||
{
|
||||
|
|
@ -6444,8 +6471,7 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
if (player->kartstuff[k_driftboost] < 125)
|
||||
player->kartstuff[k_driftboost] = 125;
|
||||
|
||||
overlay->color = SKINCOLOR_SILVER;
|
||||
overlay->fuse = 120;
|
||||
K_SpawnDriftBoostExplosion(player, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue