Item Throw distance/height experimentation

This commit is contained in:
Sryder13 2017-10-25 14:56:06 +01:00
parent b9f6a91c37
commit a00123e663

View file

@ -1920,13 +1920,13 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
switch (cv_kartcc.value)
{
case 50:
PROJSPEED = 85*FRACUNIT; // Avg Speed is 34
PROJSPEED = 40*FRACUNIT; // Avg Speed is 34
break;
case 150:
PROJSPEED = 120*FRACUNIT; // Avg Speed is 48
PROJSPEED = 60*FRACUNIT; // Avg Speed is 48
break;
default:
PROJSPEED = 102*FRACUNIT+FRACUNIT/2; // Avg Speed is 41
PROJSPEED = 50*FRACUNIT; // Avg Speed is 41
break;
}
@ -2029,7 +2029,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
if (dir == 1 || dir == 2)
{
// Shoot forward
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + 80*FRACUNIT, mapthing);
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, mapthing);
mo->threshold = 10;
@ -2043,22 +2043,19 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
INT32 HEIGHT;
if (dir == 2)
HEIGHT = 16*FRACUNIT + player->mo->momz;
HEIGHT = 30*FRACUNIT + player->mo->momz;
else
HEIGHT = 8*FRACUNIT + player->mo->momz;
HEIGHT = 20*FRACUNIT + player->mo->momz;
if (HEIGHT > 64*FRACUNIT)
HEIGHT = 64*FRACUNIT;
mo->momx = FixedMul(FINECOSINE(fa), PROJSPEED);
mo->momy = FixedMul(FINESINE(fa), PROJSPEED);
mo->momx = player->mo->momx + FixedMul(FINECOSINE(fa), PROJSPEED);
mo->momy = player->mo->momy + FixedMul(FINESINE(fa), PROJSPEED);
mo->momz = HEIGHT;
if (player->mo->eflags & MFE_VERTICALFLIP)
mo->eflags |= MFE_VERTICALFLIP;
}
mobj_t *throwmo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + 80*FRACUNIT, MT_FIREDITEM);
mobj_t *throwmo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_FIREDITEM);
P_SetTarget(&throwmo->target, player->mo);
throwmo->movecount = 0; // above player
}