"Meldung: Verdiente XXX statt YYY Silber ergibt keinen Sinn"

Mache kommt vor den Rest der Produktion.
This commit is contained in:
Enno Rehling 2007-01-31 23:41:55 +00:00
parent 60985eb119
commit feea3e0039
3 changed files with 39 additions and 41 deletions

View File

@ -1619,7 +1619,7 @@ create_item(unit * u, const item_type * itype, int want)
} }
} }
static void int
make_cmd(unit * u, struct order * ord) make_cmd(unit * u, struct order * ord)
{ {
region * r = u->region; region * r = u->region;
@ -1631,7 +1631,7 @@ make_cmd(unit * u, struct order * ord)
const char *s; const char *s;
const struct locale * lang = u->faction->locale; const struct locale * lang = u->faction->locale;
if (u->number==0) return; if (u->number==0) return 0;
init_tokens(ord); init_tokens(ord);
skip_token(); skip_token();
@ -1653,30 +1653,31 @@ make_cmd(unit * u, struct order * ord)
* aufruf von make geeicht */ * aufruf von make geeicht */
if (p == P_ROAD) { if (p == P_ROAD) {
direction_t d;
if(r->planep && fval(r->planep, PFL_NOBUILD)) { if(r->planep && fval(r->planep, PFL_NOBUILD)) {
cmistake(u, ord, 275, MSG_PRODUCE); cmistake(u, ord, 275, MSG_PRODUCE);
return; } else {
} direction_t d = finddirection(getstrtoken(), u->faction->locale);
d = finddirection(getstrtoken(), u->faction->locale);
if (d!=NODIRECTION) { if (d!=NODIRECTION) {
if(r->planep && fval(r->planep, PFL_NOBUILD)) { if(r->planep && fval(r->planep, PFL_NOBUILD)) {
cmistake(u, ord, 94, MSG_PRODUCE); cmistake(u, ord, 94, MSG_PRODUCE);
return; return 0;
} }
build_road(r, u, m, d); build_road(r, u, m, d);
} else cmistake(u, ord, 71, MSG_PRODUCE); } else {
return; cmistake(u, ord, 71, MSG_PRODUCE);
}
}
return 0;
} else if (p == P_SHIP) { } else if (p == P_SHIP) {
if(r->planep && fval(r->planep, PFL_NOBUILD)) { if(r->planep && fval(r->planep, PFL_NOBUILD)) {
cmistake(u, ord, 276, MSG_PRODUCE); cmistake(u, ord, 276, MSG_PRODUCE);
return; } else {
}
continue_ship(r, u, m); continue_ship(r, u, m);
return; }
return 0;
} else if (p == P_HERBS) { } else if (p == P_HERBS) {
herbsearch(r, u, m); herbsearch(r, u, m);
return; return 0;
} }
/* since the string can match several objects, like in 'academy' and /* since the string can match several objects, like in 'academy' and
@ -1714,27 +1715,23 @@ make_cmd(unit * u, struct order * ord)
if (stype != NOSHIP) { if (stype != NOSHIP) {
if(r->planep && fval(r->planep, PFL_NOBUILD)) { if(r->planep && fval(r->planep, PFL_NOBUILD)) {
cmistake(u, ord, 276, MSG_PRODUCE); cmistake(u, ord, 276, MSG_PRODUCE);
return; } else {
}
create_ship(r, u, stype, m, ord); create_ship(r, u, stype, m, ord);
return;
} }
} else if (btype != NOBUILDING) {
if (btype != NOBUILDING) {
if(r->planep && fval(r->planep, PFL_NOBUILD)) { if(r->planep && fval(r->planep, PFL_NOBUILD)) {
cmistake(u, ord, 94, MSG_PRODUCE); cmistake(u, ord, 94, MSG_PRODUCE);
return; } else {
}
build_building(u, btype, m, ord); build_building(u, btype, m, ord);
return;
} }
}
if (itype!=NULL) { else if (itype!=NULL) {
create_item(u, itype, m); create_item(u, itype, m);
return; } else {
cmistake(u, ord, 125, MSG_PRODUCE);
} }
cmistake(u, ord, 125, MSG_PRODUCE); return 0;
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
@ -3131,9 +3128,6 @@ produce(void)
continue; continue;
switch (todo) { switch (todo) {
case K_MAKE:
make_cmd(u, u->thisorder);
break;
case K_ENTERTAIN: case K_ENTERTAIN:
entertain_cmd(u, u->thisorder); entertain_cmd(u, u->thisorder);

View File

@ -53,6 +53,7 @@ void produce(void);
enum { IC_WORK, IC_ENTERTAIN, IC_TAX, IC_TRADE, IC_TRADETAX, IC_STEAL, IC_MAGIC }; enum { IC_WORK, IC_ENTERTAIN, IC_TAX, IC_TRADE, IC_TRADETAX, IC_STEAL, IC_MAGIC };
void maintain_buildings(struct region * r, boolean crash); void maintain_buildings(struct region * r, boolean crash);
extern void add_spende(struct faction * f1, struct faction * f2, int betrag, struct region * r); extern void add_spende(struct faction * f1, struct faction * f2, int betrag, struct region * r);
extern int make_cmd(struct unit * u, struct order * ord);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -3101,6 +3101,8 @@ ageing(void)
/* altern spezieller Attribute, die eine Sonderbehandlung brauchen? */ /* altern spezieller Attribute, die eine Sonderbehandlung brauchen? */
for(r=regions;r;r=r->next) { for(r=regions;r;r=r->next) {
unit *u; unit *u;
a_age(&r->attribs);
for (u=r->units;u;u=u->next) { for (u=r->units;u;u=u->next) {
/* Goliathwasser */ /* Goliathwasser */
int i = get_effect(u, oldpotiontype[P_STRONG]); int i = get_effect(u, oldpotiontype[P_STRONG]);
@ -3944,7 +3946,7 @@ processorders (void)
add_proc_region(p, &do_siege, "Belagern"); add_proc_region(p, &do_siege, "Belagern");
p+=10; /* can't allow reserve before siege (weapons) */ p+=10; /* can't allow reserve before siege (weapons) */
add_proc_region(p, &enter_2, "Kontaktieren & Betreten (2. Versuch)"); add_proc_region(p, &enter_1, "Kontaktieren & Betreten (2. Versuch)");
add_proc_order(p, K_RESERVE, &reserve_cmd, false, "Reservieren"); add_proc_order(p, K_RESERVE, &reserve_cmd, false, "Reservieren");
add_proc_unit(p, &follow_unit, "Folge auf Einheiten setzen"); add_proc_unit(p, &follow_unit, "Folge auf Einheiten setzen");
@ -3969,7 +3971,8 @@ processorders (void)
add_proc_order(p, K_STUDY, &learn_cmd, true, "Lernen"); add_proc_order(p, K_STUDY, &learn_cmd, true, "Lernen");
p+=10; p+=10;
add_proc_global(p, &produce, "Produktion, Handel, Rekruten"); add_proc_order(p, K_MAKE, &make_cmd, true, "Produktion");
add_proc_global(p, &produce, "Arbeiten, Handel, Rekruten");
p+=10; p+=10;
add_proc_region(p, &enter_2, "Kontaktieren & Betreten (3. Versuch)"); add_proc_region(p, &enter_2, "Kontaktieren & Betreten (3. Versuch)");