(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:
parent
71411189b4
commit
d64fa8d529
12 changed files with 80 additions and 208 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue