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;
|
mobj_t *clip;
|
||||||
fixed_t scale = 115*FRACUNIT/100;
|
fixed_t scale = 115*FRACUNIT/100;
|
||||||
|
fixed_t z;
|
||||||
|
|
||||||
clip = P_SpawnMobj(
|
if (( player->mo->eflags & MFE_VERTICALFLIP ))
|
||||||
player->mo->x,
|
z = player->mo->z;
|
||||||
player->mo->y,
|
else
|
||||||
player->mo->z + player->mo->height,
|
z = player->mo->z + player->mo->height;
|
||||||
MT_DRIFTCLIP
|
|
||||||
);
|
clip = P_SpawnMobj(player->mo->x, player->mo->y, z, MT_DRIFTCLIP);
|
||||||
|
|
||||||
P_SetTarget(&clip->target, player->mo);
|
P_SetTarget(&clip->target, player->mo);
|
||||||
P_SetScale(clip, ( clip->destscale = FixedMul(scale, player->mo->scale) ));
|
P_SetScale(clip, ( clip->destscale = FixedMul(scale, player->mo->scale) ));
|
||||||
K_MatchGenericExtraFlags(clip, player->mo);
|
K_MatchGenericExtraFlags(clip, player->mo);
|
||||||
|
|
||||||
clip->fuse = 105;
|
clip->fuse = 105;
|
||||||
clip->momz = 7 * clip->scale;
|
clip->momz = 7 * P_MobjFlip(clip) * clip->scale;
|
||||||
|
|
||||||
P_InstaThrust(clip, player->mo->angle +
|
P_InstaThrust(clip, player->mo->angle +
|
||||||
K_RandomFlip(P_RandomRange(FRACUNIT/2, FRACUNIT)),
|
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;
|
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)
|
static void K_KartDrift(player_t *player, boolean onground)
|
||||||
{
|
{
|
||||||
fixed_t minspeed = (10 * player->mo->scale);
|
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)
|
if (player->kartstuff[k_driftcharge] < 0 || player->kartstuff[k_driftcharge] >= dsone)
|
||||||
{
|
{
|
||||||
angle_t pushdir = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
|
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);
|
S_StartSound(player->mo, sfx_s23c);
|
||||||
//K_SpawnDashDustRelease(player);
|
//K_SpawnDashDustRelease(player);
|
||||||
|
|
@ -6405,9 +6439,6 @@ static void K_KartDrift(player_t *player, boolean onground)
|
||||||
|
|
||||||
if (player->kartstuff[k_driftboost] < 15)
|
if (player->kartstuff[k_driftboost] < 15)
|
||||||
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)
|
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)
|
if (player->kartstuff[k_driftboost] < 20)
|
||||||
player->kartstuff[k_driftboost] = 20;
|
player->kartstuff[k_driftboost] = 20;
|
||||||
|
|
||||||
overlay->color = SKINCOLOR_KETCHUP;
|
K_SpawnDriftBoostExplosion(player, 1);
|
||||||
overlay->fuse = 16;
|
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_driftcharge] < dsthree)
|
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)
|
if (player->kartstuff[k_driftboost] < 50)
|
||||||
player->kartstuff[k_driftboost] = 50;
|
player->kartstuff[k_driftboost] = 50;
|
||||||
|
|
||||||
overlay->color = SKINCOLOR_SAPPHIRE;
|
K_SpawnDriftBoostExplosion(player, 2);
|
||||||
overlay->fuse = 32;
|
|
||||||
|
|
||||||
S_StartSound(player->mo, sfx_kc5b);
|
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_driftcharge] >= dsthree)
|
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)
|
if (player->kartstuff[k_driftboost] < 125)
|
||||||
player->kartstuff[k_driftboost] = 125;
|
player->kartstuff[k_driftboost] = 125;
|
||||||
|
|
||||||
overlay->color = SKINCOLOR_SILVER;
|
K_SpawnDriftBoostExplosion(player, 3);
|
||||||
overlay->fuse = 120;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue