mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
K_SpawnKartMissile: scale backward thrown nerfs to gamespeed for perfect consistency
This commit is contained in:
parent
b08890bf92
commit
bdd36d4526
1 changed files with 10 additions and 2 deletions
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -4572,6 +4572,8 @@ static mobj_t *K_SpawnKartMissile(mobj_t *source, mobjtype_t type, angle_t an, I
|
||||||
|
|
||||||
if (dir == -1)
|
if (dir == -1)
|
||||||
{
|
{
|
||||||
|
fixed_t nerf = FRACUNIT;
|
||||||
|
|
||||||
// Backwards nerfs
|
// Backwards nerfs
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
|
@ -4579,16 +4581,22 @@ static mobj_t *K_SpawnKartMissile(mobj_t *source, mobjtype_t type, angle_t an, I
|
||||||
case MT_GACHABOM:
|
case MT_GACHABOM:
|
||||||
// These items orbit in place.
|
// These items orbit in place.
|
||||||
// Look for a tight radius...
|
// Look for a tight radius...
|
||||||
finalspeed /= 4;
|
nerf = FRACUNIT/4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MT_BALLHOG:
|
case MT_BALLHOG:
|
||||||
finalspeed /= 8;
|
nerf = FRACUNIT/8;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (finalspeed != FRACUNIT)
|
||||||
|
{
|
||||||
|
// Scale to gamespeed for consistency
|
||||||
|
finalspeed = FixedMul(finalspeed, FixedDiv(nerf, K_GetKartGameSpeedScalar(gamespeed)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
x = source->x + source->momx + FixedMul(finalspeed, FINECOSINE(an>>ANGLETOFINESHIFT));
|
x = source->x + source->momx + FixedMul(finalspeed, FINECOSINE(an>>ANGLETOFINESHIFT));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue