]> git.pond.sub.org Git - empserver/commitdiff
(status): Round money before checking solvency, and consistently treat
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 8 Dec 2007 14:36:54 +0000 (14:36 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 8 Dec 2007 14:36:54 +0000 (14:36 +0000)
$0 as solvent.  Before, you became bankrupt / solvent when your money
went below / above zero before rounding, but not when you hit zero
exactly.

src/lib/player/player.c

index ff5d5b0b18ff5ec80c305785c7fc1d1f7b82dd49..054c13ef13c4f6d2f9a7ae105b5c51c5d36a8380 100644 (file)
@@ -170,17 +170,17 @@ status(void)
        pr("That just cost you $%.2f\n", player->dolcost);
     else if (player->dolcost < -100.0)
        pr("You just made $%.2f\n", -player->dolcost);
-    if (natp->nat_money < player->dolcost && !player->broke) {
+    natp->nat_money -= roundavg(player->dolcost);
+    player->dolcost = 0.0;
+    if (natp->nat_money < 0 && !player->broke) {
        player->broke = 1;
        player->nstat &= ~MONEY;
        pr("You are now broke; industries are on strike.\n");
-    } else if (player->broke && natp->nat_money - player->dolcost > 0) {
+    } else if (player->broke && natp->nat_money >= 0) {
        player->broke = 0;
        player->nstat |= MONEY;
        pr("You are no longer broke!\n");
     }
-    natp->nat_money -= roundavg(player->dolcost);
-    player->dolcost = 0.0;
     getsect(natp->nat_xcap, natp->nat_ycap, &sect);
     if (influx(natp))
        player->nstat &= ~CAP;