diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index 2c7b8ba29..4f6133cce 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -2367,6 +2367,10 @@ instant_orders(void) break; case K_GUARD: + if (u->faction->age < IMMUN_GEGEN_ANGRIFF) { + cmistake(u, S->s, 304, MSG_EVENT); + break; + } if (fval(u, FL_HUNGER)) { cmistake(u, S->s, 223, MSG_EVENT); break; @@ -2447,8 +2451,7 @@ remove_unequipped_guarded(void) for (r = regions; r; r = r->next) for (u = r->units; u; u = u->next) { - int g = getguard(u); - if (g && !armedmen(u)) + if (getguard(u) && (!armedmen(u) || u->faction->age < IMMUN_GEGEN_ANGRIFF)) setguard(u, GUARD_NONE); } } diff --git a/src/common/kernel/eressea.h b/src/common/kernel/eressea.h index 000026770..c1bfffb25 100644 --- a/src/common/kernel/eressea.h +++ b/src/common/kernel/eressea.h @@ -206,7 +206,7 @@ extern void read_laen(struct region * r, int laen); #endif /* So lange kann die Partei nicht angegriffen werden */ -#define IMMUN_GEGEN_ANGRIFF 6 +#define IMMUN_GEGEN_ANGRIFF 8 #undef STUDY_IF_NOT_WORKING /** Attackierende Einheiten können keine langen Befehle ausführen */ diff --git a/src/corwin.mk b/src/corwin.mk index 733d7c550..b00f12521 100644 --- a/src/corwin.mk +++ b/src/corwin.mk @@ -4,7 +4,7 @@ ifndef ERESSEA endif # Hier definieren, damit nicht '@gcc' -CC = gcc-3.0 -D_GNU_SOURCE -DLARGE_CASTLES -DNEW_RESOURCEGROWTH -DGROWING_TREES +CC = gcc-3.0 -D_GNU_SOURCE # CC = gcc -D_GNU_SOURCE AR = ar CTAGS = ctags diff --git a/src/res/de/messages.xml b/src/res/de/messages.xml index 250d3ce05..c4fa6eb4c 100644 --- a/src/res/de/messages.xml +++ b/src/res/de/messages.xml @@ -4261,6 +4261,24 @@ + + + + + + + + + "$unit($unit) in $region($region): '$command' - Einheiten einer Partei, die noch immun gegen Angriffe ist, dürfen nicht bewachen." + + + + + "$unit($unit) in $region($region): '$command' - units of a faction that can't be attacked may not guard." + + + +