status() informs the player of non-trivial command costs and earnings,
and when he goes broke or becomes solvent. However, this is skipped
when the command gets aborted by the player signalling EOF, or by
server shutdown, and after a quit command.
Fix by moving the check for EOF or shutdown down to the may_play_now()
check.
This looks a bit like it would also fix charging of play time. But
that's not broken, because player_main() charges, too.
int old_nstat;
char buf[128];
- if (player->eof || player->state == PS_SHUTDOWN)
- return 0;
natp = getnatp(player->cnum);
if (player->dolcost > 100.0)
pr("That just cost you $%.2f\n", player->dolcost);
time(&player->curup);
update_timeused(player->curup);
- if (!may_play_now(natp, player->curup))
+ if (player->eof || player->state == PS_SHUTDOWN
+ || !may_play_now(natp, player->curup))
return 0;
+
if (player->btused) {
natp->nat_btu -= player->btused;
player->btused = 0;