Vin I, II:

* Parteien mit 3 NMR werden nicht gelöscht

Vin II:
* Hunger halbiert Lernerfolg
* Hunger verhindert ZAUBERE nicht
This commit is contained in:
Enno Rehling 2002-01-13 09:14:13 +00:00
parent 603e0cd489
commit ea99e6d663
7 changed files with 30 additions and 12 deletions

View File

@ -1082,16 +1082,18 @@ quit(void)
remove("inactive");
for (f = factions; f; f = f->next) if(!fval(f, FL_NOIDLEOUT)) {
#if REMOVENMRTIMEOUT
if (turn - f->lastorders >= ORDERGAP) {
destroyfaction(f);
continue;
}
#endif
if (turn - f->lastorders >= (ORDERGAP - 1)) {
inactivefaction(f);
continue;
}
}
#ifdef REMOVENMRNEWBIE
#if REMOVENMRNEWBIE
puts(" - beseitige Spieler, die sich nach der Anmeldung nicht "
"gemeldet haben...");
@ -2957,6 +2959,7 @@ setdefaults (void)
set_string(&u->thisorder, u->lastorder);
for(S = u->orders; S; S = S->next) {
const char * cmd;
keyword_t keyword = igetkeyword(S->s, u->faction->locale);
switch (keyword) {
@ -3010,11 +3013,13 @@ setdefaults (void)
case K_WORK:
case K_DRIVE:
case K_MOVE:
if(!global.disabled[K_WORK] && fval(u, FL_HUNGER)) {
set_string(&u->thisorder, locale_string(u->faction->locale, "defaultorder"));
} else {
set_string(&u->thisorder, S->s);
cmd = S->s;
#if HUNGER_DISABLES_LONGORDERS
if (fval(u, FL_HUNGER)) {
cmd = locale_string(u->faction->locale, "defaultorder");
}
#endif
set_string(&u->thisorder, cmd);
break;
/* Wird je diese Ausschliesslichkeit aufgehoben, muss man aufpassen

View File

@ -455,6 +455,7 @@ learn(void)
for (r = regions; r; r = r->next) {
for (u = r->units; u; u = u->next) {
int days;
if (rterrain(r) == T_OCEAN){
/* sonderbehandlung aller die auf Ozeanen lernen können */
if (u->race != new_race[RC_AQUARIAN]
@ -666,13 +667,17 @@ learn(void)
lmod += 5;
}
learning = max(0, 30 + lmod);
change_skill(u, (skill_t)i, (int)((u->number * dice(2,learning) + a->data.i) * multi));
days = (int)((u->number * dice(2, learning) + a->data.i) * multi);
#else
change_skill(u, (skill_t)i, (int)((u->number * dice(2,30) + a->data.i) * multi));
days = (int)((u->number * dice(2, 30) + a->data.i) * multi);
#endif
#else
change_skill(u, (skill_t)i, (int)((u->number * 30 + a->data.i) * multi));
days = (int)((u->number * 30 + a->data.i) * multi);
#endif
#if HUNGER_DISABLES_LONGORDERS
days = days / 2;
#endif
change_skill(u, (skill_t)i, days);
if (a) {
a_remove(&u->attribs, a);
a = NULL;

View File

@ -1202,7 +1202,7 @@ findkeyword(const char *s, const struct locale * lang)
struct lstr * lnames = get_lnames(lang);
int i;
#ifdef AT_PERSISTENT
if(*s == '@') s++;
if (*s == '@') s++;
#endif
if (findtoken(&lnames->keywords, s, (void**)&i)==E_TOK_NOMATCH) return NOKEYWORD;
if (global.disabled[i]) return NOKEYWORD;

View File

@ -2929,10 +2929,12 @@ magic(void)
for (so = u->orders; so; so = so->next) {
if (igetkeyword(so->s, u->faction->locale) == K_CAST) {
#if HUNGER_DISABLES_LONGORDERS
if (fval(u, FL_HUNGER)) {
cmistake(u, so->s, 224, MSG_MAGIC);
continue;
}
#endif
if (r->planep && fval(r->planep, PFL_NOMAGIC)) {
cmistake(u, so->s, 269, MSG_MAGIC);
continue;

View File

@ -18,4 +18,6 @@
#define NEW_RESOURCEGROWTH 1
#define LARGE_CASTLES 1
#define GROWING_TREES 1
#define REMOVENMRNEWBIE
#define REMOVENMRNEWBIE 1
#define REMOVENMRTIMEOUT 1
#define HUNGER_DISABLES_LONGORDERS 1

View File

@ -18,4 +18,6 @@
#define NEW_RESOURCEGROWTH 0
#define LARGE_CASTLES 0
#define GROWING_TREES 0
#undef REMOVENMRNEWBIE
#define REMOVENMRNEWBIE 0
#define REMOVENMRTIMEOUT 0
#define HUNGER_DISABLES_LONGORDERS 1

View File

@ -18,4 +18,6 @@
#define NEW_RESOURCEGROWTH 1
#define LARGE_CASTLES 1
#define GROWING_TREES 1
#undef REMOVENMRNEWBIE
#define REMOVENMRNEWBIE 0
#define REMOVENMRTIMEOUT 0
#define HUNGER_DISABLES_LONGORDERS 0