Better spawning for the clip spark

This commit is contained in:
James R 2020-07-19 18:09:52 -07:00
parent f8b19a239f
commit 3ff00e851e
3 changed files with 16 additions and 5 deletions

View file

@ -1677,6 +1677,20 @@ void K_SpawnDriftBoostClip(player_t *player)
FixedMul(scale, player->speed));
}
void K_SpawnDriftBoostClipSpark(mobj_t *clip)
{
mobj_t *spark;
spark = P_SpawnMobj(clip->x, clip->y, clip->z, MT_DRIFTCLIPSPARK);
P_SetTarget(&spark->target, clip);
P_SetScale(spark, ( spark->destscale = clip->scale ));
K_MatchGenericExtraFlags(spark, clip);
spark->momx = clip->momx/2;
spark->momy = clip->momx/2;
}
/** \brief Handles the state changing for moving players, moved here to eliminate duplicate code
\param player player data

View file

@ -31,6 +31,7 @@ void K_MatchGenericExtraFlags(mobj_t *mo, mobj_t *master);
void K_GenericExtraFlagsNoZAdjust(mobj_t *mo, mobj_t *master);
void K_SpawnDashDustRelease(player_t *player);
void K_SpawnDriftBoostClip(player_t *player);
void K_SpawnDriftBoostClipSpark(mobj_t *clip);
void K_KartMoveAnimation(player_t *player);
void K_KartPlayerHUDUpdate(player_t *player);
void K_KartPlayerThink(player_t *player, ticcmd_t *cmd);

View file

@ -2461,11 +2461,7 @@ static boolean P_ZMovement(mobj_t *mo)
{
mom.z = -mom.z/2;
if (abs(mom.z) > 4 * mo->scale / 3)
{
mobj_t *spark = P_SpawnMobj(mo->x, mo->y, mo->z, MT_DRIFTCLIPSPARK);
spark->momx = mo->momx/2;
spark->momy = mo->momy/2;
}
K_SpawnDriftBoostClipSpark(mo);
else
mo->flags2 ^= MF2_DONTDRAW;
}