mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-03 15:32:45 +00:00
Merge branch 'done-with-spikeballs' into 'master'
Slow down backwards spikeballs (again) See merge request KartKrew/Kart!212
This commit is contained in:
commit
cbfce16dcc
3 changed files with 28 additions and 20 deletions
|
|
@ -15982,7 +15982,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_BALLHOG_DEAD, // deathstate
|
S_BALLHOG_DEAD, // deathstate
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_hogbom, // deathsound
|
sfx_hogbom, // deathsound
|
||||||
64*FRACUNIT, // speed
|
80*FRACUNIT, // speed
|
||||||
16*FRACUNIT, // radius
|
16*FRACUNIT, // radius
|
||||||
32*FRACUNIT, // height
|
32*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
|
|
|
||||||
26
src/k_kart.c
26
src/k_kart.c
|
|
@ -3554,10 +3554,18 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// Figure out projectile speed by game speed
|
// Figure out projectile speed by game speed
|
||||||
if (missile && mapthing != MT_BALLHOG) // Trying to keep compatability...
|
if (missile)
|
||||||
PROJSPEED = FixedMul(mobjinfo[mapthing].speed, FRACUNIT + ((gamespeed-1) * (FRACUNIT/4)));
|
{
|
||||||
|
// Use info->speed for missiles
|
||||||
|
PROJSPEED = FixedMul(mobjinfo[mapthing].speed, K_GetKartGameSpeedScalar(gamespeed));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
PROJSPEED = (82 + ((gamespeed-1) * 14)) * FRACUNIT; // Avg Speed is 41 in Normal
|
{
|
||||||
|
// Use pre-determined speed for tossing
|
||||||
|
PROJSPEED = FixedMul(82 << FRACBITS, K_GetKartGameSpeedScalar(gamespeed));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Scale to map size
|
||||||
PROJSPEED = FixedMul(PROJSPEED, mapobjectscale);
|
PROJSPEED = FixedMul(PROJSPEED, mapobjectscale);
|
||||||
|
|
||||||
if (altthrow)
|
if (altthrow)
|
||||||
|
|
@ -3603,11 +3611,11 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
if (dir == -1)
|
if (dir == -1)
|
||||||
{
|
{
|
||||||
// Shoot backward
|
// Shoot backward
|
||||||
mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x06000000, 0, PROJSPEED/4);
|
mo = K_SpawnKartMissile(player->mo, mapthing, (player->mo->angle + ANGLE_180) - 0x06000000, 0, PROJSPEED/8);
|
||||||
K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 - 0x03000000, 0, PROJSPEED/4);
|
K_SpawnKartMissile(player->mo, mapthing, (player->mo->angle + ANGLE_180) - 0x03000000, 0, PROJSPEED/8);
|
||||||
K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/4);
|
K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/8);
|
||||||
K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x03000000, 0, PROJSPEED/4);
|
K_SpawnKartMissile(player->mo, mapthing, (player->mo->angle + ANGLE_180) + 0x03000000, 0, PROJSPEED/8);
|
||||||
K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180 + 0x06000000, 0, PROJSPEED/4);
|
K_SpawnKartMissile(player->mo, mapthing, (player->mo->angle + ANGLE_180) + 0x06000000, 0, PROJSPEED/8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -3624,7 +3632,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
if (dir == -1 && mapthing != MT_SPB)
|
if (dir == -1 && mapthing != MT_SPB)
|
||||||
{
|
{
|
||||||
// Shoot backward
|
// Shoot backward
|
||||||
mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/2);
|
mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle + ANGLE_180, 0, PROJSPEED/8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
20
src/p_map.c
20
src/p_map.c
|
|
@ -810,7 +810,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(tmthing, tmthing->info->deathsound);
|
S_StartSound(tmthing, tmthing->info->deathsound);
|
||||||
P_KillMobj(tmthing, thing, thing);
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
|
||||||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(tmthing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||||
|
|
@ -827,7 +827,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(thing, thing->info->deathsound);
|
S_StartSound(thing, thing->info->deathsound);
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
|
||||||
P_SetObjectMomZ(thing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(thing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
|
|
||||||
P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH);
|
P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH);
|
||||||
|
|
@ -841,7 +841,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(tmthing, tmthing->info->deathsound);
|
S_StartSound(tmthing, tmthing->info->deathsound);
|
||||||
P_KillMobj(tmthing, thing, thing);
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
|
||||||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(tmthing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
|
else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
|
||||||
|
|
@ -855,7 +855,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(tmthing, tmthing->info->deathsound);
|
S_StartSound(tmthing, tmthing->info->deathsound);
|
||||||
P_KillMobj(tmthing, thing, thing);
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
|
||||||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(tmthing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
|
|
||||||
// Bomb death
|
// Bomb death
|
||||||
|
|
@ -975,7 +975,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(tmthing, tmthing->info->deathsound);
|
S_StartSound(tmthing, tmthing->info->deathsound);
|
||||||
P_KillMobj(tmthing, thing, thing);
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
|
||||||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(tmthing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|
else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|
||||||
|
|
@ -992,7 +992,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(thing, thing->info->deathsound);
|
S_StartSound(thing, thing->info->deathsound);
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
|
||||||
P_SetObjectMomZ(thing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(thing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
|
|
||||||
P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH);
|
P_SpawnMobj(thing->x/2 + tmthing->x/2, thing->y/2 + tmthing->y/2, thing->z/2 + tmthing->z/2, MT_ITEMCLASH);
|
||||||
|
|
@ -1006,7 +1006,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(tmthing, tmthing->info->deathsound);
|
S_StartSound(tmthing, tmthing->info->deathsound);
|
||||||
P_KillMobj(tmthing, thing, thing);
|
P_KillMobj(tmthing, thing, thing);
|
||||||
|
|
||||||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(tmthing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1052,7 +1052,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(thing, thing->info->deathsound);
|
S_StartSound(thing, thing->info->deathsound);
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
|
||||||
P_SetObjectMomZ(thing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(thing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1103,7 +1103,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(thing, thing->info->deathsound);
|
S_StartSound(thing, thing->info->deathsound);
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
|
||||||
P_SetObjectMomZ(thing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(thing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|
else if (thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|
||||||
|
|
@ -1131,7 +1131,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
S_StartSound(thing, thing->info->deathsound);
|
S_StartSound(thing, thing->info->deathsound);
|
||||||
P_KillMobj(thing, tmthing, tmthing);
|
P_KillMobj(thing, tmthing, tmthing);
|
||||||
|
|
||||||
P_SetObjectMomZ(thing, 8*FRACUNIT, false);
|
P_SetObjectMomZ(thing, 12*FRACUNIT, false);
|
||||||
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
|
||||||
}
|
}
|
||||||
else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
|
else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue