(opt_NEWPOWER, Options, gen_power): Remove nooption NEWPOWER.

(opt_NEW_STARVE, Options, feed_ship, feed_people): Remove nooption
NEW_STARVE.

(opt_NEW_WORK, Options, move, explore): Remove nooption NEW_WORK.
This commit is contained in:
Markus Armbruster 2004-03-11 10:36:55 +00:00
parent 71411189b4
commit d64fa8d529
12 changed files with 80 additions and 208 deletions

View file

@ -432,7 +432,6 @@ feed_ship(struct shpstr *sp, register int *vec, int etus, int *needed,
int doit)
{
double food_eaten, land_eaten;
double people_left;
int ifood_eaten;
int can_eat, need;
int total_people;
@ -482,44 +481,31 @@ feed_ship(struct shpstr *sp, register int *vec, int etus, int *needed,
*needed = food_eaten - vec[I_FOOD];
if (*needed < (food_eaten - vec[I_FOOD]))
(*needed)++;
if (opt_NEW_STARVE) {
can_eat = (vec[I_FOOD] / (etus * eatrate));
total_people = vec[I_CIVIL] + vec[I_MILIT] + vec[I_UW];
can_eat = (vec[I_FOOD] / (etus * eatrate));
total_people = vec[I_CIVIL] + vec[I_MILIT] + vec[I_UW];
/* only want to starve off at most 1/2 the populace. */
if (can_eat < (total_people / 2))
can_eat = total_people / 2;
/* only want to starve off at most 1/2 the populace. */
if (can_eat < (total_people / 2))
can_eat = total_people / 2;
to_starve = total_people - can_eat;
while (to_starve && vec[I_UW]) {
to_starve--;
starved++;
vec[I_UW]--;
}
while (to_starve && vec[I_CIVIL]) {
to_starve--;
starved++;
vec[I_CIVIL]--;
}
while (to_starve && vec[I_MILIT]) {
to_starve--;
starved++;
vec[I_MILIT]--;
}
vec[I_FOOD] = 0;
} else { /* ! opt_NEW_STARVE */
people_left = (vec[I_FOOD] + 0.01) / (food_eaten + 0.01);
starved = vec[I_CIVIL] + vec[I_MILIT] + vec[I_UW];
/* only want to starve off at most 1/2 the populace. */
if (people_left < 0.5)
people_left = 0.5;
vec[I_CIVIL] = (int)(vec[I_CIVIL] * people_left);
vec[I_MILIT] = (int)(vec[I_MILIT] * people_left);
vec[I_UW] = (int)(vec[I_UW] * people_left);
starved -= vec[I_CIVIL] + vec[I_MILIT] + vec[I_UW];
vec[I_FOOD] = 0;
to_starve = total_people - can_eat;
while (to_starve && vec[I_UW]) {
to_starve--;
starved++;
vec[I_UW]--;
}
while (to_starve && vec[I_CIVIL]) {
to_starve--;
starved++;
vec[I_CIVIL]--;
}
while (to_starve && vec[I_MILIT]) {
to_starve--;
starved++;
vec[I_MILIT]--;
}
vec[I_FOOD] = 0;
} else {
vec[I_FOOD] -= (int)food_eaten;
}