mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-10 10:51:42 +00:00
WIP "Drift explosion"
This commit is contained in:
parent
47a7c285de
commit
e250796886
2 changed files with 25 additions and 16 deletions
24
src/k_kart.c
24
src/k_kart.c
|
|
@ -6323,10 +6323,10 @@ 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);
|
mobj_t *overlay = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_DRIFTEXPLODE);
|
||||||
//P_SetTarget(&overlay->target, player->mo);
|
P_SetTarget(&overlay->target, player->mo);
|
||||||
//P_SetScale(overlay, (overlay->destscale = player->mo->scale));
|
P_SetScale(overlay, (overlay->destscale = FixedMul(3*FRACUNIT/2, player->mo->scale)));
|
||||||
//K_FlipFromObject(overlay, player->mo);
|
K_FlipFromObject(overlay, player->mo);
|
||||||
|
|
||||||
S_StartSound(player->mo, sfx_s23c);
|
S_StartSound(player->mo, sfx_s23c);
|
||||||
//K_SpawnDashDustRelease(player);
|
//K_SpawnDashDustRelease(player);
|
||||||
|
|
@ -6340,8 +6340,8 @@ 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->color = SKINCOLOR_GOLD;
|
||||||
//overlay->fuse = 8;
|
overlay->fuse = 8;
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_driftcharge] >= dsone && player->kartstuff[k_driftcharge] < dstwo)
|
else if (player->kartstuff[k_driftcharge] >= dsone && player->kartstuff[k_driftcharge] < dstwo)
|
||||||
{
|
{
|
||||||
|
|
@ -6352,8 +6352,8 @@ 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;
|
overlay->color = SKINCOLOR_KETCHUP;
|
||||||
//overlay->fuse = 16;
|
overlay->fuse = 8;
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_driftcharge] < dsthree)
|
else if (player->kartstuff[k_driftcharge] < dsthree)
|
||||||
{
|
{
|
||||||
|
|
@ -6364,8 +6364,8 @@ 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;
|
overlay->color = SKINCOLOR_SAPPHIRE;
|
||||||
//overlay->fuse = 32;
|
overlay->fuse = 16;
|
||||||
}
|
}
|
||||||
else if (player->kartstuff[k_driftcharge] >= dsthree)
|
else if (player->kartstuff[k_driftcharge] >= dsthree)
|
||||||
{
|
{
|
||||||
|
|
@ -6376,8 +6376,8 @@ 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;
|
overlay->color = SKINCOLOR_SILVER;
|
||||||
//overlay->fuse = 120;
|
overlay->fuse = 24;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
17
src/p_mobj.c
17
src/p_mobj.c
|
|
@ -8297,15 +8297,24 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mobj->angle = mobj->target->angle;
|
//mobj->angle = mobj->target->angle;
|
||||||
P_TeleportMove(mobj, mobj->target->x + P_ReturnThrustX(mobj, mobj->angle+ANGLE_180, mobj->target->radius),
|
{
|
||||||
mobj->target->y + P_ReturnThrustY(mobj, mobj->angle+ANGLE_180, mobj->target->radius), mobj->target->z);
|
angle_t angle = R_PointToAngle2(0, 0, mobj->target->momx, mobj->target->momy);
|
||||||
P_SetScale(mobj, mobj->target->scale);
|
mobj->angle = angle;
|
||||||
|
P_TeleportMove(mobj, mobj->target->x + P_ReturnThrustX(mobj, angle+ANGLE_180, 4*mobj->target->radius),
|
||||||
|
mobj->target->y + P_ReturnThrustY(mobj, angle+ANGLE_180, 4*mobj->target->radius), mobj->target->z);
|
||||||
|
}
|
||||||
|
P_SetScale(mobj, FixedMul(3*FRACUNIT/2, mobj->target->scale));
|
||||||
mobj->flags2 ^= MF2_DONTDRAW;
|
mobj->flags2 ^= MF2_DONTDRAW;
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
mobj->modeltilt = mobj->target->modeltilt;
|
mobj->modeltilt = mobj->target->modeltilt;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (mobj->fuse <= 8)
|
||||||
|
mobj->color = SKINCOLOR_KETCHUP;
|
||||||
|
else if (mobj->fuse <= 16)
|
||||||
|
mobj->color = SKINCOLOR_SAPPHIRE;
|
||||||
|
|
||||||
{
|
{
|
||||||
player_t *p = NULL;
|
player_t *p = NULL;
|
||||||
if (mobj->target->target && mobj->target->target->player)
|
if (mobj->target->target && mobj->target->target->player)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue