diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index 97a62562a..a2bcde1ce 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -3389,7 +3389,7 @@ processorders (void) use(); puts(" - Kontaktieren, Betreten von Schiffen und Gebäuden (1.Versuch)"); - do_misc(0); + do_misc(false); #ifdef ALLIANCES puts(" - Testen der Allianzbedingungen"); @@ -3421,7 +3421,7 @@ processorders (void) init_pool(); puts(" - Kontaktieren, Betreten von Schiffen und Gebäuden (2.Versuch)"); - do_misc(1); + do_misc(false); puts(" - Folge setzen"); follow(); @@ -3455,6 +3455,9 @@ processorders (void) puts(" - Schiffe sinken"); sinkships(); + puts(" - Kontaktieren, Betreten von Schiffen und Gebäuden (3.Versuch)"); + do_misc(true); + puts(" - Bewegungen"); movement(); diff --git a/src/common/kernel/build.c b/src/common/kernel/build.c index 215960a5c..bf0dd5c2c 100644 --- a/src/common/kernel/build.c +++ b/src/common/kernel/build.c @@ -1106,6 +1106,7 @@ entership(unit * u, ship * sh, const char * cmd, boolean lasttry) if (lasttry) cmistake(u, cmd, 20, MSG_MOVE); return false; } + if (sh==u->ship) return true; if (!mayboard(u, sh)) { if (lasttry) cmistake(u, cmd, 34, MSG_MOVE); return false; @@ -1218,12 +1219,7 @@ do_misc(boolean lasttry) case P_SHIP: sh = getship(r); - if (entership(u, sh, S->s, lasttry)) { - /* Wenn wir hier angekommen sind, war der Befehl - * erfolgreich und wir löschen ihn, damit er im - * zweiten Versuch nicht nochmal ausgeführt wird. */ - removelist(&u->orders, S); - } + entership(u, sh, S->s, lasttry); break; default: diff --git a/src/common/settings-eressea.h b/src/common/settings-eressea.h index 2eef98d16..dbca01082 100644 --- a/src/common/settings-eressea.h +++ b/src/common/settings-eressea.h @@ -41,7 +41,7 @@ #define TEACHDIFFERENCE 2 #define GIVERESTRICTION 3 -#undef CHECK_OVERLOAD_ON_ENTER +#define CHECK_OVERLOAD_ON_ENTER #define MUSEUM_MODULE #define ARENA_MODULE