In netdead_revive() default_home auswerten
Wenn der Raum in dem ausgelogt wurde nicht mehr gefunden werden sollte,
als Fallback zuerst versuchen ins default_home zu moven. Hierdurch soll
verhindert werden, dass kleine Spieler in der Abenteurergilde landen,
ohne zu wissen, wie sie von dort nach hause kommen. Nur wenn das
default_home auch deffekt sein sollte die Abenteurergilde als Fallback
verwenden.
Change-Id: I39d04f4c1f4071166c026c06bfafeb7e8c4e6158
diff --git a/std/player/base.c b/std/player/base.c
index f6e5bee..9bd706b 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -3352,15 +3352,23 @@
}
}
+ // Wenn immer noch kein ndead_location da oder die Bewegung dahin nicht
+ // klappt, ist das naechste Fallback das default_home der Shell.
if ( !objectp(ndead_location)
|| catch(ret = move( ndead_location, M_GO|M_SILENT );publish)
- || ret != 1 )
+ || ret != MOVE_OK )
{
- move( "gilden/abenteurer", M_GO|M_SILENT );
+ ret = 0;
+ if(catch(ret = move(default_home, M_GO | M_SILENT); publish) ||
+ ret != MOVE_OK)
+ {
+ // und wenn auch das nicht klappt, bleibt die Abenteurergilde, die
+ // hoffentlich erreichbar ist. Wenn nicht, dann solls hart abbrechen...
+ move("/gilden/abenteurer", M_GO | M_SILENT);
+ }
ndead_location = environment();
}
- // ndead_location=0;
ndead_l_filename = 0;
env_ndead_info = 0;
}