Environment pruefen vor Abfrage P_NOLEAVE_MSG
vItems haben kein Environment beim Nehmen, da kann man auch
keine P_NOLEAVE_MSG abfragen.
Sie bekommen (erstmal?) die Default-Meldung.
Change-Id: I77a0b3718ecb44226b5f0145a5a80ff8e23acdf8
diff --git a/std/living/put_and_get.c b/std/living/put_and_get.c
index 412a341..711aca4 100644
--- a/std/living/put_and_get.c
+++ b/std/living/put_and_get.c
@@ -194,11 +194,12 @@
return "So wirst Du " + wen1 + " nicht los...";
case ME_CANT_BE_TAKEN:
- str = o->QueryProp(P_NODROP);
+ str = o->QueryProp(P_NOGET);
if (o && stringp(str) && sizeof(str))
return str;
- if (stringp(str = environment(o)->QueryProp(P_NOLEAVE_MSG)))
+ if (environment() &&
+ stringp(str = environment(o)->QueryProp(P_NOLEAVE_MSG)))
return capitalize(
replace_personal(str, ({o, environment(o)}), 1));
@@ -223,9 +224,8 @@
return capitalize(wen0 + " kannst Du dort nicht hineinstecken.");
case ME_CANT_LEAVE_ENV:
- // ME_CANT_LEAVE_ENV kann nur auftreten, wenn o ein Environment
- // hat, deshalb kein Check dadrauf
- if (stringp(str = environment(o)->QueryProp(P_NOLEAVE_MSG)))
+ if (environment() &&
+ stringp(str = environment(o)->QueryProp(P_NOLEAVE_MSG)))
return capitalize(
replace_personal(str, ({o, environment(o)}), 1));