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."
+
+
+
+