Fun gameplay tweak: Turn CA_FLOAT into a limited CA_SLOWFALL when moving slowly, to double down on it being for speedrun characters and punishing slowing down. Rob-approved.

This commit is contained in:
toasterbabe 2016-12-24 00:11:54 +00:00
parent 578b809557
commit 5164ee7fc9

View file

@ -4381,13 +4381,15 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
{ {
if (player->secondjump == 1) if (player->secondjump == 1)
{ {
if (player->charability == CA_FLOAT) fixed_t potentialmomz;
player->mo->momz = 0; if (player->charability == CA_SLOWFALL)
else if (player->charability == CA_SLOWFALL) potentialmomz = -gravity*4;
{ else
if (P_MobjFlip(player->mo)*player->mo->momz < -gravity*4) potentialmomz = ((player->speed < 10*player->mo->scale)
player->mo->momz = P_MobjFlip(player->mo)*-gravity*4; ? (player->speed - 10*player->mo->scale)/5
} : 0);
if (P_MobjFlip(player->mo)*player->mo->momz < potentialmomz)
player->mo->momz = P_MobjFlip(player->mo)*potentialmomz;
player->pflags &= ~PF_SPINNING; player->pflags &= ~PF_SPINNING;
} }
} }