[Change] Afterburn now breaks when you run out of energy.
This commit is contained in:
parent
846f12cd65
commit
9d43435d4a
12
src/pilot.c
12
src/pilot.c
@ -476,15 +476,17 @@ static void pilot_update(Pilot* pilot, const double dt) {
|
||||
return;
|
||||
}
|
||||
/* We are still alive. */
|
||||
else if(pilot->armour < pilot->armour_max) {
|
||||
else if(pilot->armour < pilot->armour_max)
|
||||
/* Regen armour. */
|
||||
pilot->armour += pilot->armour_regen*dt;
|
||||
pilot->energy += pilot->energy_regen*dt;
|
||||
} else {
|
||||
else
|
||||
/* And shields. */
|
||||
pilot->shield += pilot->shield_regen*dt;
|
||||
pilot->energy += pilot->energy_regen*dt;
|
||||
}
|
||||
|
||||
/* Update energy. */
|
||||
if((pilot->energy < 1.) && pilot_isFlag(pilot, PILOT_AFTERBURNER))
|
||||
pilot_rmFlag(pilot, PILOT_AFTERBURNER); /* Break afterburner. */
|
||||
pilot->energy += pilot->energy_regen * dt;
|
||||
|
||||
/* Check limits. */
|
||||
if(pilot->armour > pilot->armour_max) pilot->armour = pilot->armour_max;
|
||||
|
@ -1215,11 +1215,15 @@ void player_think(Pilot* pplayer) {
|
||||
if(player_isFlag(PLAYER_SECONDARY)) /* Needs a target. */
|
||||
pilot_shoot(pplayer, player_target, 1);
|
||||
|
||||
if(player_isFlag(PLAYER_AFTERBURNER))
|
||||
/* Afterburn! */
|
||||
if(player_isFlag(PLAYER_AFTERBURNER)) {
|
||||
if(pilot_isFlag(player, PILOT_AFTERBURNER))
|
||||
vect_pset(&pplayer->solid->force,
|
||||
pplayer->thrust * pplayer->afterburner->outfit->u.afb.thrust_perc +
|
||||
pplayer->afterburner->outfit->u.afb.thrust_abs, pplayer->solid->dir);
|
||||
else
|
||||
else /* Ran out of energy. */
|
||||
player_afterburnOver();
|
||||
} else
|
||||
vect_pset(&pplayer->solid->force, pplayer->thrust * player_acc,
|
||||
pplayer->solid->dir);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user