extern void finish_sects(int);
/* human.c */
extern int new_work(struct sctstr *, int);
-extern int do_feed(struct sctstr *, struct natstr *, short *, int *, int);
+extern int do_feed(struct sctstr *, struct natstr *, int *, int);
extern int feed_people(short *, int);
extern double food_needed(short *, int);
extern int famine_victims(short *, int);
* feed the individual sector
*/
int
-do_feed(struct sctstr *sp, struct natstr *np, short *vec,
- int *workp, int etu)
+do_feed(struct sctstr *sp, struct natstr *np, int *workp, int etu)
{
int work_avail;
int starved, sctwork;
maxworkers = max_workers(np->nat_level[NAT_RLEV], sp);
work_avail = new_work(sp,
total_work(sp->sct_work, etu,
- vec[I_CIVIL], vec[I_MILIT], vec[I_UW],
+ sp->sct_item[I_CIVIL],
+ sp->sct_item[I_MILIT],
+ sp->sct_item[I_UW],
maxworkers));
if (sp->sct_type != SCT_SANCT) {
manna = 0;
if (opt_NOFOOD == 0) {
- needed = (int)ceil(food_needed(vec, etu));
- if (vec[I_FOOD] < needed) {
+ needed = (int)ceil(food_needed(sp->sct_item, etu));
+ if (sp->sct_item[I_FOOD] < needed) {
/* need to grow "emergency rations" */
- work_avail -= 2 * growfood(sp, vec, work_avail / 2, etu);
+ work_avail -= 2 * growfood(sp, sp->sct_item,
+ work_avail / 2, etu);
/* It's twice as hard to grow those than norm */
- if (vec[I_FOOD] == 0)
+ if (sp->sct_item[I_FOOD] == 0)
/* Conjure up 1f to make life easier for the player */
- manna = vec[I_FOOD] = 1;
+ manna = sp->sct_item[I_FOOD] = 1;
}
}
- starved = feed_people(vec, etu);
+ starved = feed_people(sp->sct_item, etu);
if (starved > 0) {
if (!player->simulation) {
/* don't report POGO starvation */
sctwork += 7 + roll(15);
if (sctwork > 100)
sctwork = 100;
- grow_people(sp, etu, np, vec);
+ grow_people(sp, etu, np, sp->sct_item);
work_avail = new_work(sp,
total_work(sp->sct_work, etu,
- vec[I_CIVIL], vec[I_MILIT],
- vec[I_UW], maxworkers));
+ sp->sct_item[I_CIVIL],
+ sp->sct_item[I_MILIT],
+ sp->sct_item[I_UW],
+ maxworkers));
/* FIXME restores work charged for growfood() */
/* age che */
if (!player->simulation)
}
if (manna)
/* Take away food we conjured up */
- vec[I_FOOD] = 0;
+ sp->sct_item[I_FOOD] = 0;
} else
sctwork = 100;
/* Here is where we truncate extra people, always */
- trunc_people(sp, np, vec);
+ trunc_people(sp, np, sp->sct_item);
*workp = work_avail;
if (!player->simulation)