aboutsummaryrefslogtreecommitdiff
path: root/taipan.c
diff options
context:
space:
mode:
Diffstat (limited to 'taipan.c')
-rw-r--r--taipan.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/taipan.c b/taipan.c
index ebd023e..c440625 100644
--- a/taipan.c
+++ b/taipan.c
@@ -263,7 +263,7 @@ char *st[] = { "Critical", " Poor", " Fair",
#ifdef BIGNUM
bignum(bank) = BIG_0;
-bignum(interest_rate) = BIG_1_005;
+bignum(interest_denom) = BIG_200;
bignum(big_max_ulong) = BIG_MAX_ULONG;
#else
unsigned long bank = 0;
@@ -1003,7 +1003,8 @@ int sea_battle(int id, int num_ships) {
// if ((randi()%s0 > (num_ships * .6 / id)) && (num_ships > 2))
if((randi()%s0 > ((num_ships / 2) / id)) && (num_ships > 2)) {
static int ran;
- ran = randi()%(num_ships / 3 / id) + 1;
+ // ran = randi()%(num_ships / 3 / id) + 1;
+ ran = randclamp(num_ships / 3 / id) + 1;
num_ships -= ran;
fight_stats(num_ships, orders);
@@ -1896,9 +1897,7 @@ void transfer(void)
a few bytes of code... but it makes the code a little
bigger instead! */
int i, in_use;
-
long amount = 0;
-
if ((hkw_[0] == 0) && (hold_[0] == 0) &&
(hkw_[1] == 0) && (hold_[1] == 0) &&
(hkw_[2] == 0) && (hold_[2] == 0) &&
@@ -2006,6 +2005,9 @@ void transfer(void)
void quit(void)
{
+#ifdef BIGNUM
+ bignum(banktmp);
+#endif
unsigned char choice, sunk;
int result = 0,
damagepct;
@@ -2236,7 +2238,12 @@ void quit(void)
if(debt >= DEBT_MAX) wu_assassin = 1;
#ifdef BIGNUM
- big_mul(bank, bank, interest_rate);
+ // no good, assumes a bignum can handle a fraction
+ // big_mul(bank, bank, interest_rate);
+
+ // bank = bank + (bank / 200);
+ big_div(banktmp, bank, interest_denom);
+ big_add(bank, bank, banktmp);
#else
/* bank calculation original formula was:
bank = bank + (bank * .005);