Fehlereingabe an Raum vereinfachen.
Um Fehler an Raeumen abzusetzen musste man immer das
Referenzobjekt loeschen, weil Raeume idR keine ID haben.
Hiermit koennen nun "hier" und "raum" als hart-kodierte
IDs fuer den Raum bei der Fehlereingabe verwendet werden.
Change-Id: I8931b3a179430bb0c6ff92c278f806b409ac6658
diff --git a/doc/pcmd/bug b/doc/pcmd/bug
index 0e9fcdf..d2fb6d7 100644
--- a/doc/pcmd/bug
+++ b/doc/pcmd/bug
@@ -1,4 +1,3 @@
-
bug
---
@@ -11,7 +10,8 @@
<text>
Eine Mitteilung
<objekt>
- Ein Referenzobjekt, das neben Dir liegt oder in Deinem Inventar ist
+ Ein Objekt, das neben Dir liegt oder in Deinem Inventar ist.
+ Dein aktueller Raum kann mit "hier" oder "raum" angegeben werden.
BESCHREIBUNG:
Nobody's perfect. Dies gilt besonders fuer unsere Magier :)
@@ -57,4 +57,4 @@
SIEHE AUCH:
typo, idee, syntaxhinweis, detail, regeln, bezugsobjekt
-Letzte Aenderung: 16.06.2017, Bugfix
+Letzte Aenderung: 12.06.2019, Zesstra
diff --git a/doc/pcmd/detail b/doc/pcmd/detail
index f684d0b..a9a08f5 100644
--- a/doc/pcmd/detail
+++ b/doc/pcmd/detail
@@ -6,13 +6,14 @@
detail <objekt>:<text>
md <text>
md <objekt>:<text>
-
+
ARGUMENTE:
<text>
Eine Mitteilung
<objekt>
- Ein Referenzobjekt, das neben Dir liegt oder in Deinem Inventar ist
+ Ein Objekt, das neben Dir liegt oder in Deinem Inventar ist.
+ Dein aktueller Raum kann mit "hier" oder "raum" angegeben werden.
BESCHREIBUNG:
Es soll tatsaechlich immer noch passieren, das der ein oder andere
@@ -49,4 +50,4 @@
typo, idee, bug, bezugsobjekt
LETZTE AeNDERUNG:
- 12. Okt 2011 Gloinson
+ 12.06.2019, Zesstra
diff --git a/doc/pcmd/idee b/doc/pcmd/idee
index 5b84f18..9aa9b96 100644
--- a/doc/pcmd/idee
+++ b/doc/pcmd/idee
@@ -10,7 +10,8 @@
<text>
Eine Mitteilung
<objekt>
- Ein Referenzobjekt, das neben Dir liegt oder in Deinem Inventar ist
+ Ein Objekt, das neben Dir liegt oder in Deinem Inventar ist.
+ Dein aktueller Raum kann mit "hier" oder "raum" angegeben werden.
BESCHREIBUNG:
Speichert eine Mitteilung ueber eine Idee, wie man das Spiel verbessern
@@ -41,4 +42,4 @@
SIEHE AUCH:
bug, syntaxhinweis, typo, detail, bezugsobjekt
-Letzte Aenderung: 16.06.2017, Bugfix
\ No newline at end of file
+Letzte Aenderung: 12.06.2019, Zesstra
diff --git a/doc/pcmd/syntaxhinweis b/doc/pcmd/syntaxhinweis
index 18b0bf9..41d04c7 100644
--- a/doc/pcmd/syntaxhinweis
+++ b/doc/pcmd/syntaxhinweis
@@ -10,13 +10,14 @@
<text>
Eine Mitteilung
<objekt>
- Ein Referenzobjekt, das neben Dir liegt oder in Deinem Inventar ist
+ Ein Objekt, das neben Dir liegt oder in Deinem Inventar ist.
+ Dein aktueller Raum kann mit "hier" oder "raum" angegeben werden.
BESCHREIBUNG:
Trotz gruendlichen Tests kommt es immer mal wieder dazu, dass eine
Syntax Probleme verursacht. Solche Stellen koennen mit diesem Kommando
gemeldet werden.
-
+
Fuer den Magier ist es sehr hilfreich, wenn Du bei in Meldung angibst,
wo genau das Problem zu finden ist (also z.B, bei welchem Kommandoverb
du auf welchen Teil der Syntax nicht kommst.
@@ -36,4 +37,4 @@
SIEHE AUCH:
bug, idee, typo, detail, bezugsobjekt
-Letzte Aenderung: 16.06.2017, Bugfix
+Letzte Aenderung: 12.06.2019, Zesstra
diff --git a/doc/pcmd/typo b/doc/pcmd/typo
index a7afce7..7502a7f 100644
--- a/doc/pcmd/typo
+++ b/doc/pcmd/typo
@@ -10,7 +10,8 @@
<text>
Eine Mitteilung
<objekt>
- Ein Referenzobjekt, das neben Dir liegt oder in Deinem Inventar ist
+ Ein Objekt, das neben Dir liegt oder in Deinem Inventar ist.
+ Dein aktueller Raum kann mit "hier" oder "raum" angegeben werden.
BESCHREIBUNG:
In den Beschreibungen von Raeumen und Objekten kommt es immer wieder mal
@@ -43,4 +44,4 @@
SIEHE AUCH:
bug, idee, syntaxhinweis, detail, bezugsobjekt
-Letzte Aenderung: 16.06.2017, Bugfix
+Letzte Aenderung: 12.06.2019, Zesstra
diff --git a/std/player/base.c b/std/player/base.c
index 9062ecb..e83930e 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -1329,11 +1329,15 @@
// werden, um ein Objekt anzusprechen, wir haben aber die Eingabe
// per _unparsed_args(0) geholt, d.h. ggf. mit Grossbuchstaben.
string obnam = lower_case(input_segments[0]);
-
- // Und das Objekt suchen, dabei zuerst im env() schauen. Nur present()
- // ginge auch, wuerde aber zuerst im Inv suchen, was aber nicht
- // gewuenscht ist.
- obj = present(obnam, environment(this_object())) || present(obnam);
+ if (obnam == "hier" || obnam == "raum")
+ obj = environment(this_player());
+ else
+ {
+ // Und das Objekt suchen, dabei zuerst im env() schauen. Nur present()
+ // ginge auch, wuerde aber zuerst im Inv suchen, was aber nicht
+ // gewuenscht ist.
+ obj = present(obnam, environment(this_object())) || present(obnam);
+ }
// Wenn das Objekt gefunden wird, wird nur der Teil hinter dem ersten
// : rekonstruiert und als Fehlermeldung abgesetzt.