--
-- Standarddefinitionen für ALAN
-- *****************************
--
-- Originalversion (C) 1992 Luis E. Torres, [email protected]
-- Version 2.0 - ©1997 by JuL
-- Deutsche Version ©1997,98,99 by JuL
-- Beinhaltet Codeteile von Dark.alan
--
-- Letzte Änderung 05.12.1999 by JuL
--
-- (Ich habe inzwischen sehr viel geändert und konnte den ursprünglichen Autor
-- außerdem nicht unter der angegebenen Adresse erreichen (welch Wunder nach
-- der langen Zeit!), also habe ich diese Bibliothek umbenannt und sie quasi
-- als ,,mein'' betrachtet. Sie verdankt immer noch viele, wenn nicht die
-- meisten, Eigenschaften dem ursprünglichen Autor, und ich markiere weiterhin
-- alles von mir veränderte oder hinzugefügte - JuL 7.11.1997)
--
-- Dies ist eine mehr oder weniger Standardsammlung von Verbdefinitionen und
-- Objekten für die Textabenteuersprache ALAN. Viele davon sind nur Dummys und
-- haben keine andere Funktion als "Du kannst das nicht tun" (was immer ,,das''
-- ist) oder "Nichts passiert" auszugeben. Diese Definitionen sind alleine
-- nicht von allzu großem Nutzen. Es gibt zwei Wege, sie zu benutzen:  [JuL]
--
-- 1) Du kannst sie leicht in den Objektdefinitionen überschreiben und die
--    Defaultdefinitionen so lassen wie sie sind. Das ist sinnvoll, wenn Du
--    nur wenige Objekte hast, die dieses Verb benötigen. Zum Beispiel:
--
--      OBJECT brot AT Baeckerei
--              DESCRIPTION "Auf dem Tresen liegt etwas Brot."
--
--              VERB essen DOES ONLY
--                      "Als du das Brot ißt, findest du etwas darin.
--                       Es ist eine silberne Kugel!"
--                      LOCATE silberkugel AT Hero.
--              END VERB.
--      END OBJECT.
--
-- 2) Du kannst die Standarddefinitionen verbessern, indem Du an die LOCATION-,
--    ACTOR- und OBJECT-Attributlisten weitere Attribute anhängst. Dies ist
--    sinnvoll, wenn Du viele Objekte mit einer bestimmten Eigenschaft hast.
--    Zum Beispiel:
--
--      OBJECT ATTRIBUTES
--              nehmbar.
--              NOT oeffenbar.
--              NOT schliessbar.
--              NOT offen.      -- JuL
--              NOT essbar.
--
--              .
--              .
--              .
--
--      VERB essen DOES
--              CHECK obj IN inventar
--                      ELSE "Dieses Ding besitzt du nicht."
--              AND obj IS essbar
--                      ELSE "Das kannst du nicht essen!"
--              DOES
--                      "Du ißt das $o."
--      END VERB.
--
--              .
--              .
--              .
--
--      OBJECT brot AT Baeckerei
--              DESCRIPTION "Auf dem Tresen liegt etwas Brot."
--              essbar.
--      END OBJECT.
--
-- Das kommt natürlich ganz darauf an, wie Du Dein Abenteuer schreibst.
--
-- Ich verwende die ,,alte'' Rechtschreibung (modulo Fehler ;-) ), eventuell,
-- insbesondere für das ,,ß'', werde ich - falls es Interessenten geben sollte
-- - ein Flag [im globalen Objekt] dafür einführen.
-- Derzeit werden für Syntaxdefinition und Synonyme - und damit die Eingabe -
-- nur die gewöhnlichen Umlautersetzungen ,,ae'', ,,oe'', ,,ue'' und ,,ss''
-- verwendet.
--
-- Ich hoffe, diese Datei hilft allen Leuten, die an (deutschsprachigem - JuL)
-- ALAN interessiert sind.
-- Bitte sendet Eure Kommentare, Vorschläge und Fehlermeldungen an
--
--                                              Luis E. Torres
--                                              [email protected]
--                              (scheint nicht mehr gültig zu sein, JuL)
--
-- ... bzw. JuL: [email protected] (Jürgen Lerch)
--
-- ---------------------------------------------------------------------------

--
-- Teil 1: OPTIONEN
-- ****************

-- Wir implementieren eine "brief-ähnliche" Umgebung, à la Infocom (dafür ist
-- das ,,VISITS 255'').

-- VISITS 255. (Ich mag "VERBOSE" lieber - JuL)

-- JuL
DEFAULT ATTRIBUTES
       NOT plural.
       NOT benannt.
       NOT geschlecht. -- NOT wenn sächlich (JuL)
       maennlich.      -- (JuL)

-- Einige Orte können verschlossene Türen besitzen, die irgendwohin führen.
-- Dieses Flag sollte das behandeln (die Verben, die verschlossene_tuer
-- verwenden, wurden noch nicht programmiert, da ich wohl plane, die
-- Aufschliessen-Funktion in den entsprechenden Orten zu überschreiben).

-- JuL: Ich denke, das hängt von der Tür ab, nicht vom Ort - und Orte können
--      viele Türen haben.
--      Daher können Orte Licht, Wände, eine Decke und einen Boden haben, den
--      der Spieler untersuchen mag. Normalerweise wird er nichts besonderes
--      finden, und für jeden Raum Dummywände oder -decken zu machen scheint
--      ziemlich dumm und aufwendig. Also habe ich einige allgemeine
--      Ortsattribute eingeführt. Bis jetzt sind sie noch nicht alle aktiv und
--      behandeln auch nicht partielle Böden oder Decken oder verschiedene
--      Wände.

LOCATION ATTRIBUTES
--      NOT verschlossene_tuer. (hängt von der Tür ab, nicht vom Ort - JuL)
       erleuchtet.
       bewandet.               -- (JuL)
-- JuL: seperate Nord-/Süd-/... Wände könnten `bewandet' ersetzen
       ueberdacht.             -- (JuL)
       bebodent.               -- (blöd, aber mir fiel nix besseres ein) (JuL)

-- Ein Objekt kann nehmbar, öffenbar (normal nicht) oder schließbar (normal
-- nicht) sein, und es ist üblicherweise geschlossen. Es kann weiterhin
-- abschließbar sein, zu einem bestimmten Schloß bzw. Schlüssel passen, eß-
-- oder trinkbar sein oder schaltbar (und an oder aus). Du könntest damit
-- schreiben können und es kann Licht erzeugen. Außerdem kann man manche Dinge
-- anziehen. (Stark modifiziert von JuL)

OBJECT ATTRIBUTES
       nehmbar.
       NOT oeffnebar.
       NOT schliessbar.
       NOT offen.              -- JuL
       NOT abschliessbar.
       NOT abgeschlossen.      -- (JuL)
       schloss 0.              -- JuL
       NOT essbar.
       NOT trinkbar.
       naehrwert 0.            -- JuL
       NOT schaltbar.
       an.
       NOT schreiber.          -- JuL
       leuchtend 0.    -- JuL, aus Dark.alan: ist eigentlich boolsch, aber SUM
                       -- muß darauf angewendet werden.
       NOT anziehbar.  -- JuL
       NOT angezogen.  -- JuL

-- Von allen ACTORen wird angenommen, daß sie menschlich (oder wenigstens
-- intelligent) sind. ACTORen sind anfänglich als maennlich definiert. Wenn Du
-- planst, die Pronomen ,,er'', ,,sie'' oder ,,es'' zu benutzen, sind diese
-- Flags nützlich dafür, das entsprechende Pronomen auszugeben.
-- Das benannt-Flag sollte gesetzt werden, wenn der ACTOR einen richtigen Namen
-- hat (wie z.B. ,,Bill''). Das hält das Programm zum Beispiel davon ab,
-- anstelle von ,,Bill hört dich'' ,,Der Bill hört dich.'' auszugeben. [JuL]

ACTOR ATTRIBUTES
       benannt.
       geschlecht.

-- Ich habe den Standard-Inventarkopf verändert. Modifiziere ihn um ihn Deinem
-- Geschmack anzupassen. (Hab' ich - JuL)

CONTAINER inventar
HEADER "Du hast bei dir: "
ELSE "Du hast nichts bei dir."
END CONTAINER inventar.

-----------------------------------
-- PART 2: SYNONYME
-- ****************

SYNONYMS

--      Synonyme für Befehle:
-----------------------------
       nord, norden                    = n.
       sued, sueden                    = s.
       ost, osten                      = o.
       west, westen                    = w.
       hoch, rauf                      = h.
       runter, ru, unten, u            = r.
       nordost                         = no.
       suedost                         = so.
       nordwest                        = nw.
       suedwest                        = sw.
       verlassen, raus                 = ra.           -- JuL
       hinein, rein                    = re.           -- JuL
       hin                             = ab.           -- JuL
       b, inventar                     = besitz.
       betret, betrete, betritt        = betreten.
       beenden, e                      = ende.
       entfern                         = entferne.
       beschiess, beschiesse, erschiess = erschiesse.
       erzaehl                         = erzaehle.
       ess, iss                        = esse.
       befrag, befrage, frag           = frage.        -- JuL
       befuehl, befuehle, betast, betaste, fuehl = fuehle.     -- JuL
       geb, gib                        = gebe.
       g, schau, schaue, glotz         = glotze.
       grab                            = grabe.
       hinweis                         = hilfe.        -- (JuL)
       j                               = ja.
       klopf                           = klopfe.
       lade                            = laden.
       horchen, lausch, lausche        = lauschen.
       leck, schleck, schlecke         = lecke.        -- JuL
       leg, tu, tue                    = lege.
       les, lies                       = lese.
       loesch                          = loesche.
       mach                            = mache.
       nee, noe                        = nein.
       nehm, nehme                     = nimm.
       riech, rieche, schnuppern, schnupper, schnuppere = riechen.
       ruf                             = rufe.
       punkte                          = 'score'.
       sag                             = sage.
       schalt                          = schalte.      -- JuL
       druecke, drueck, presse, press, schieb = schiebe.
       schliess                        = schliesse.
       probier, probiere, schmeck      = schmecke.     -- JuL
       setz, setze, sitze, sitzen      = setzen.
       speicher, speichere             = speichern.
       spiel                           = spiele.
       red, rede, sprech, sprich       = spreche.
       huepf, huepfe, huepfen, spring, springen = springe.
       steck                           = stecke.
       trink                           = trinke.
       x, untersuch, inspiziere, examiniere, durchsuche, durchsuch
                                       = untersuche.
       ausfuehrlich                    = verbos.
       warte, z                        = warten.       -- JuL
       werf, wirf                      = werfe.
       wink                            = winke.        -- JuL
       zieh                            = ziehe.
       zuend                           = zuende.
       gesundheit                      = zustand.
       plugh, plover                   = xyzzy.        -- JuL

--      Synonyme für englische Grammatik:
-----------------------------------------
       es, ihn, sie                    = it.           -- JuL
       der, die, das, den, dem, mein, meine, etwas
                                       = the.          -- JuL
       ins                             = 'in'.         -- JuL
       ausser                          = but.          -- JuL
       alle, alles                     = all.          -- JuL
       dann, danach                    = 'then'.       -- JuL
       geh, gehe, lauf, laufe          = go.           -- JuL

--      Synonyme für Objekte kommen hierhin:
--------------------------------------------

       waende = wand.
       fussboden = boden.

------------------------------------
-- PART 3: SYNTAX.
-- ***************

SYNTAX

       attackieren = attackiere (act)
               WHERE act ISA ACTOR
                       ELSE "Du solltest keine wehrlosen Gegenstände angreifen."

       attackieren_wen_mit = attackiere (act) mit (obj)
               WHERE act ISA ACTOR
                       ELSE "Du solltest keine wehrlosen Gegenstände angreifen."

       attackieren_mit_wen = attackiere mit (obj) (act)
               WHERE act ISA ACTOR
                       ELSE "Du solltest keine wehrlosen Gegenstände angreifen."

       betreten0 = betreten.           -- JuL

       betreten1 = betreten (obj).     -- JuL

       enden = 'ende'.

       entfernen = entferne (obj)      -- JuL
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht entfernen."

       entfernen_von = entferne (obj1) von (obj2)      -- JuL
               WHERE obj1 ISA OBJECT
                       ELSE "So etwas kannst du nicht entfernen."
               AND obj2 ISA OBJECT
                       ELSE "Von so etwas kannst du nichts entfernen."

       erschiessen = erschiesse (act)
               WHERE act ISA OBJECT OR ACTOR
                       ELSE "So etwas kannst du nicht beschießen."

       erschiessen_mit = erschiesse (act) mit (obj)
               WHERE obj ISA OBJECT
                       ELSE "Mit so etwas kannst du nicht schießen."
               AND act ISA ACTOR OR OBJECT
                       ELSE "So etwas kannst du nicht beschießen."

       erzaehlen = erzaehle (act)
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       erzaehlen_ueber = erzaehle (act) ueber (obj)!
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       erzaehlen_von = erzaehle (act) von (obj)!
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       essen = esse (obj)!
               WHERE obj ISA OBJECT
                       ELSE "Sowas kannst du nicht essen."

       fragen = frage (act)
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge sprechen nicht. Leute tun das."

       fragen_nach = frage (act) nach (obj)!
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       fragen_ueber = frage (act) ueber (obj)!
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       fuege_ein = fuege (obj) ein     -- JuL
               WHERE obj ISA OBJECT
                ELSE "Das kannst du nirgendwo einfügen."

       fuege_in_ein = fuege (obj1) 'in' (obj2) ein
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nirgendwo einfügen."
               AND obj2 ISA OBJECT
                       ELSE "Da rein kannst du nichts einfügen."

       fuehlen = fuehle (obj). -- JuL

       fuehlen_mit = fuehlen (obj1) mit (obj2) -- JuL
               WHERE obj2 ISA OBJECT
                       ELSE "Damit kannst du nichts berühren."

       fuehlen_mit2 = fuehlen mit (obj1) (obj2)        -- JuL
               WHERE obj2 ISA OBJECT
                       ELSE "Damit kannst du nichts berühren."

       geben = gebe (obj) * (act)      -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Das kannst du niemandem geben!"
                AND act ISA CONTAINER ACTOR
                       ELSE "Du kannst $2 nichts geben!"

       geben_an = gebe (obj) * an (act)        -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Das kannst du niemandem geben!"
                AND act ISA CONTAINER ACTOR
                       ELSE "Du kannst $2 nichts geben!"

--      gehen_in = gehe 'in' (dir).     -- JuL

       glotzen0 = glotze.

       glotzen1 = glotze (obj).        -- JuL

       glotzen_an = glotze (obj) an.   -- JuL

       glotzen_auf = glotze auf (obj). -- JuL

       glotzen_hoch = glotze h.        -- JuL

       glotzen_runter = glotze r.      -- JuL

       graben = grabe.                 -- JuL

       graben_in = grabe 'in' (obj)    -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Darin kannst du nicht graben."

       graben_in_mit = grabe 'in' (obj1) mit (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Darin kannst du nicht graben."
               AND obj2 ISA OBJECT
                       ELSE "Damit kannst du nicht graben."

       graben_mit = grabe mit (obj)    -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Mit Leuten kannst du nicht graben!"

       graben_mit_in = grabe mit (obj1) 'in' (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Du kannst damit nicht graben."
               AND obj2 ISA OBJECT
                       ELSE "Du kannst darin nicht graben."

       helfen = hilfe.

       klopfen_an = klopfe an (obj).   -- JuL

       klopfen_auf = klopfe auf (obj). -- JuL

       klopfen_gegen = klopfe gegen (obj).     -- JuL

       knapp = knapp.          -- JuL

       laden = laden.

       lauschen = lauschen.    -- JuL

       lecken = lecke (obj).   -- JuL

       lecken_ab = lecke (obj) ab.     -- JuL

       lecken_an = lecke an (obj).     -- JuL

       legen = lege (obj) *!.  -- (JuL)

       legen_ab = lege (obj) *! ab.    -- JuL

       legen_auf = lege (obj1) * auf (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht ablegen."
               AND obj2 ISA OBJECT
                       ELSE "Darauf kannst du nichts ablegen."

       legen_auf_ab = lege (obj1) * auf (obj2) ab
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht ablegen."
               AND obj2 ISA OBJECT
                       ELSE "Darauf kannst du nichts ablegen."

       legen_bei_ab = lege (obj1) * bei (obj2) ab
               WHERE obj1 ISA OBJECT
                       ELSE "So etwas kannst du nicht ablegen."
               AND obj2 ISA OBJECT
                       ELSE "Dort kannst du nichts hinlegen."

       legen_hinter = lege (obj1) * hinter (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht ablegen."
               AND obj2 ISA OBJECT
                       ELSE "Dahinter kannst du nichts legen."

       legen_unter = legen (obj1) * unter (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht ablegen."
               AND obj2 ISA OBJECT
                       ELSE "Darunter kannst du nicht hinlegen."

       legen_hinein = lege (obj1) * 'in' (obj2) re -- = hinein (JuL)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht ablegen."
               AND obj2 ISA CONTAINER OBJECT   -- JuL :-(
                       ELSE "Da hinein kannst du nichts legen."

       legen_in = lege (obj1) * 'in' (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "So etwas kannst du nicht ablegen."
               AND obj2 ISA CONTAINER OBJECT   -- JuL :-(
                       ELSE "Da hinein kannst du nichts legen."

       lesen = lese (obj)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht lesen."

       listen_besitz = besitz.

       loeschen = loesche (obj)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht löschen."

       machen_an = mache (obj) an
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht anmachen."

       machen_auf = mache (obj) auf
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht öffnen."

       machen_auf_mit = mache (obj) auf mit (oeffner)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht öffnen."
               AND oeffner ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts öffnen."

       machen_aus = mache (obj) aus
               WHERE obj ISA OBJECT
                       ELSE "Das kannst du nicht aus machen."

       machen_mit_auf = mache (obj) mit (oeffner) auf
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht öffnen."
               AND oeffner ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts öffnen."

       machen_mit_auf2 = mache mit (oeffner) (obj) auf
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht öffnen."
               AND oeffner ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts öffnen."

       machen_zu = mache (obj) zu
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht schließen."

       machen_mit_zu = mache mit (schliesser) (obj) zu
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht schließen."
               AND schliesser ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts schließen."

       machen_mit_zu2 = mache (obj) mit (schliesser) zu
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht schließen."
               AND schliesser ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts schließen."

       machen_zu_mit = mache (obj) zu mit (schliesser)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht schließen."
               AND schliesser ISA OBJECT
                       ELSE "Du kannst mit Leuten nichts schließen."

       nehmen = nimm (obj) *!  -- (JuL)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst keine Leute mitnehmen!"

       nehmen_auf = nimm (obj) *! auf  -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Du kannst keine Leute mitnehmen!"

       nehmen_aus = nimm (obj) * aus (subj)    -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Aber der $2 kann doch sicher kein $1 tragen!"
                AND subj ISA CONTAINER ACTOR OR CONTAINER OBJECT -- JuL: s.o.
                       ELSE "Der $2 hat nichts um etwas zu tragen."

       nehmen_mit = nimm (obj) *! mit  -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Du kannst keine Leute mitnehmen!"

       nehmen_von = nimm (obj) * von (subj)    -- JuL
               WHERE obj ISA OBJECT
                       ELSE "Aber der $2 kann doch sicher kein $1 tragen!"
                AND subj ISA CONTAINER ACTOR OR CONTAINER OBJECT -- JuL: Grrr
                       ELSE "Der $2 hat nichts um etwas zu tragen."

       oeffnen = oeffne (obj)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht öffnen."

       oeffnen_mit = oeffne (obj) mit (oeffner)
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht öffnen."
               AND oeffner ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts öffnen."

       riechen0 = riechen.     -- JuL

       riechen1 = riechen (obj).       -- JuL

       riechen_an = riechen an (obj).  -- JuL

       rufen = rufe.

       sagen = sage (txt)      -- JuL
               WHERE txt ISA STRING
                       ELSE "Was sagst du??"

       sagen_txt_zu = sage (txt) zu (act)      -- JuL
               WHERE txt ISA STRING
                       ELSE "Was sagst du??"
               AND act ISA ACTOR
                       ELSE "Du redest schon wieder mit Dingen?"

       sagen_zu_txt = sage zu (act) (txt)      -- JuL
               WHERE txt ISA STRING
                       ELSE "Was sagst du??"
               AND act ISA ACTOR
                       ELSE "Du redest schon wieder mit Dingen?"

       schalten_an = schalte (obj) an
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht anschalten."

       schalten_aus = schalte (obj) aus
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht ausschalten."

       schieben = schiebe (obj)
               WHERE obj ISA OBJECT
                       ELSE "Das kannst du nicht schieben."

       schieben_mit = schiebe (obj1) mit (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nicht schieben."
               AND obj2 ISA OBJECT
                       ELSE "Damit kannst du nichts schieben."

       schiessen = schiesse auf (act)  -- JuL
               WHERE act ISA OBJECT OR ACTOR
                       ELSE "Darauf kannst du nicht schießen."

       schiessen_auf = schiesse (obj) auf (act)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst damit nicht schießen."
               AND act ISA OBJECT OR ACTOR
                       ELSE "Darauf kannst du nicht schießen."

       schiessen_mit = schiesse auf (act) mit (obj)
               WHERE obj ISA OBJECT
                       ELSE "Damit kannst du nicht schießen."
               AND act ISA OBJECT OR ACTOR
                       ELSE "Darauf kannst du nicht schießen."

       schiessen_mit2 = schiesse mit (obj) auf (act)
               WHERE obj ISA OBJECT
                       ELSE "Damit kannst du nicht schießen."
               AND act ISA OBJECT OR ACTOR
                       ELSE "Darauf kannst du nicht schießen."

       schliessen = schliesse (obj)
               WHERE obj ISA OBJECT
                       ELSE "Du kannst Leute nicht schließen."

       schliessen_ab = schliesse (obj) ab
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht verschließen."

       schliessen_ab_mit = schliesse (obj) ab mit (schluessel)
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht verschließen."
               AND schluessel ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts verschließen."

       schliessen_mit = schliesse (obj) mit (schliesser)
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht schließen."
               AND schliesser ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts schließen."

       schliessen_mit2 = schliesse mit (schliesser) (obj)
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht schließen."
               AND schliesser ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts schließen."

       schliessen_mit_ab = schliesse (obj) mit (schluessel) ab
               WHERE obj ISA OBJECT
                       ELSE "Leute kannst du nicht verschließen."
               AND schluessel ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts verschließen."

       schmecken = schmecke (obj).     -- JuL

       schreiben = schreibe (txt)      -- JuL
               WHERE txt ISA STRING
                       ELSE "So kannst du nicht schreiben."

       schreiben_auf = schreibe (txt) auf (obj)        -- JuL
               WHERE txt ISA STRING
                       ELSE "So kannst du nicht schreiben."
               AND obj ISA OBJECT
                       ELSE "Darauf kannst du nicht schreiben."

       schreiben_auf_mit = schreibe (txt) auf (obj1) mit (obj2)        -- JuL
               WHERE txt ISA STRING
                       ELSE "So kannst du nicht schreiben."
               AND obj1 ISA OBJECT
                       ELSE "Darauf kannst du nicht schreiben."
               AND obj2 ISA OBJECT
                       ELSE "Mit Leuten kannst du nicht schreiben."

       schreiben_mit = schreibe (txt) mit (obj)        -- JuL
               WHERE txt ISA STRING
                       ELSE "So kannst du nicht schreiben."
               AND obj ISA OBJECT
                       ELSE "Mit Leuten kannst du nicht schreiben."

       schreiben_mit_auf = schreibe (txt) mit (obj1) auf (obj2)        -- JuL
               WHERE txt ISA STRING
                       ELSE "So kannst du nicht schreiben."
               AND obj1 ISA OBJECT
                       ELSE "Mit Leuten kannst du nicht schreiben."
               AND obj2 ISA OBJECT
                       ELSE "Darauf kannst du nicht schreiben."

       scoren = 'score'.       -- JuL

       setzen = setzen.        -- JuL

       setzen_auf = setzen auf (obj).  -- JuL

       speichern = speichern.

       spielen = spiele (obj)
               WHERE obj ISA OBJECT
                       ELSE "Das kannst du nicht spielen."

       spielen2 = spiele mit (obj)
               WHERE obj ISA OBJECT
                       ELSE "Damit kannst du nicht spielen."

       sprechen_mit = spreche mit (act)
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       sprechen_ueber = spreche ueber (obj)!.

       sprechen_ueber_zu = spreche ueber (obj)! zu (act)
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       sprechen_zu = spreche zu (act)
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       sprechen_zu_ueber = spreche zu (act) ueber (obj)!
               WHERE act ISA ACTOR
                       ELSE "Weißt du, Dinge reden nicht. Leute tun das."

       springen = springe.                     -- JuL

       springen_auf = springe auf (obj).       -- JuL

       springen_aus = springe aus (obj).       -- JuL

       springen_aus2 = springe aus (obj) heraus.       -- JuL

       springen_gegen = springe gegen (obj).   -- JuL

       springen_in = springe 'in' (obj).       -- JuL

       springen_ueber = springe ueber (obj).   -- JuL

       stecken = stecke (obj1) 'in' (obj2)     -- JuL
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nirgends hinein stecken."
               AND obj2 ISA OBJECT
                       ELSE "Da hinein kannst du nichts stecken."

       stecken_hinein = stecke (obj1) 'in' (obj2) re   -- hinein (JuL)
               WHERE obj1 ISA OBJECT
                       ELSE "Das kannst du nirgends hinein stecken."
               AND obj2 ISA OBJECT
                       ELSE "Da hinein kannst du nichts stecken."

       trinken = trinke (obj)!
               WHERE obj ISA OBJECT
                       ELSE "Sowas kannst du nicht trinken."

       untersuchen = untersuche (obj)
               WHERE obj ISA OBJECT OR ACTOR
                       ELSE "Das kannst du nicht untersuchen."

       verbos = verbos.        -- JuL

       verschliessen = verschliesse (obj)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht verschließen."

       verschliessen_mit = verschliesse (obj) mit (schluessel)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht verschließen."
               AND schluessel ISA OBJECT
                       ELSE "Mit Leuten kannst du nichts verschließen."

       warten = warten.

       werfen = werfe (obj) *
               WHERE obj ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."

       werfen_in = werfe (obj1) * 'in' (obj2)
               WHERE obj1 ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."
               AND obj2 ISA CONTAINER OBJECT   -- :-( (JuL)
                       ELSE "In so etwas kannst du nichts hineinwerfen."

       werfen_mit_nach = werfe mit (obj1) * nach (obj2) !
               WHERE obj1 ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."
               AND obj2 ISA OBJECT OR ACTOR
                       ELSE "Dahin kannst du nichts werfen."

       werfen_nach = werfe (obj1) * nach (obj2) !
               WHERE obj1 ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."
               AND obj2 ISA OBJECT OR ACTOR
                       ELSE "Dahin kannst du nichts werfen."

       werfen_nach_mit = werfe nach (obj1) ! mit (obj2) *
               WHERE obj2 ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."
               AND obj1 ISA OBJECT OR ACTOR
                       ELSE "Dahin kannst du nichts werfen."

       werfen_zu = werfe (obj1) * zu (obj2) !
               WHERE obj1 ISA OBJECT
                       ELSE "Du kannst so etwas nicht werfen."
               AND obj2 ISA OBJECT OR ACTOR
                       ELSE "Dahin kannst du nichts werfen."

       winken = winke (obj).           -- JuL

       winken_mit = winke mit (obj).   -- JuL

       xyzzy = xyzzy.          -- JuL

       ziehen = ziehe (obj)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht ziehen."

       ziehen_an1 = ziehe an (obj).    -- JuL

       ziehen_an2 = ziehe (obj) an     -- JuL
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst nicht anziehen."

       ziehen_aus = ziehe (obj) aus    -- JuL
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht ausziehen."

       zuege = zuege.          -- JuL

       zuenden = zuende (obj)
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht zünden."

       zuenden_an = zuende (obj) an
               WHERE obj ISA OBJECT
                       ELSE "So etwas kannst du nicht anzünden."

       zustand = zustand.      -- JuL

------------------------------------------------

-- PART 4: VERBS.
-- **************

--
-- Ein-Wort-Verben.
--

--

VERB betreten0 DOES
       "Hier gibt es nichts, was du betreten könntest."
END VERB betreten0.

-- Beenden mit Bestätigung: [JuL]

ACTOR Hero NAME ich NAME Held
IS NOT beendend.
zuege 0.
END ACTOR Hero.

SYNTAX
       ja = ja.
       nein = nein.

VERB enden DOES
       "Willst Du wirklich aufgeben? Gib ,,ja'' ein um aufzuhören oder Deinen
       nächsten Befehl um fortzufahren."
       MAKE Hero beendend.
       SCHEDULE kein_Ende AFTER 1.
END VERB enden.

VERB ja
       CHECK Hero IS beendend
               ELSE "Das scheint keine Frage zu beantworten."
       DOES QUIT.
END VERB ja.

VERB nein DOES
       "Ach, sei nicht so negativ!"
END VERB nein.

EVENT kein_Ende
       MAKE Hero NOT beendend.
END EVENT kein_Ende.

--

VERB glotzen0
       CHECK LOCATION IS erleuchtet OR SUM OF leuchtend HERE > 0
               ELSE "Es ist zu dunkel."
       DOES
               LOOK.
END VERB glotzen0.

--

VERB graben DOES
       IF LOCATION IS bebodent THEN
               "Hier mit deinen Händen zu graben bringt dich nicht weiter."
       ELSE
               "Worin willst du hier denn graben?"
       END IF.
END VERB graben.

--

VERB helfen DOES
       "Benutze Befehle wie (n)ord, (s)ued, (o)st, (w)est, (h)och, (r)unter,
       (re)in, (ra)us um dich zu bewegen, (g)lotz um dich umzuschauen,
       (b)esitz um den deinen zu begutachten oder einfache Sätze wie ,,nimm
       den ball'' um andere Dinge zu tun. Umlaute können derzeit noch nicht
       eingegeben werden, verwende bitte die ,,ae''-Umschreibung."
END VERB helfen.

-- JuL:

VERB knapp DOES
       VISITS 54321. -- Ich hoffe mal, daß ein Spiel nicht länger dauert ...
       "Das Spiel befindet sich jetzt im KNAPPen Modus, wo Ortsbeschreibungen
       nur gegeben werden, wenn dieser Ort zum ersten Mal betreten wurde oder
       es explizit mit GLOTZ gefordert wird."
END VERB knapp.

--

VERB laden DOES
       "Laden ..."
       RESTORE.
       "Fertig.$n"
       LOOK.
END VERB laden.

-- JuL:

VERB lauschen DOES
       "Du hörst nichts besonderes."
END VERB lauschen.

--

VERB listen_besitz DOES
       LIST inventar.
END VERB listen_besitz.

-- JuL:

VERB riechen0 DOES
       "Du riechst nichts ungewöhnliches."
END VERB riechen0.

--

VERB rufen DOES
       "Es hat keinen Sinn zu rufen."
END VERB rufen.

-- JuL:

VERB scoren DOES
       SCORE.
       IF zuege OF Hero <> 0 THEN DECREASE zuege OF Hero. END IF.
END VERB scoren.

-- JuL:

VERB setzen DOES
       "Du setzt dich auf den Boden."
END VERB setzen.

--

VERB speichern DOES
       "Speichern ..."
       SAVE.
       "Fertig."
END VERB speichern.

-- JuL:

VERB springen DOES
       "Du springst ein wenig auf und ab."
END VERB springen.

-- JuL:

VERB verbos DOES
       VISITS 0.
       "Das Spiel befindet sich jetzt im AUSFÜHRLICHen Modus, wo
       Ortsbeschreibungen jedesmal gegeben werden, wenn dieser Ort erneut
       betreten wird."
END VERB verbos.

--

VERB warten DOES
       "Die Zeit vergeht ..."
END VERB warten.

-- JuL:

VERB xyzzy DOES
       "Eine andere Zeit, eine andere Welt ..."
END VERB xyzzy.

-- JuL:

VERB zuege DOES
       "Diese Sitzung dauerte "
       IF zuege OF Hero <> 0 THEN DECREASE zuege OF Hero. END IF.
       SAY zuege OF Hero.
       IF zuege OF Hero = 1 THEN
               "Zug."
       ELSE
               "Züge."
       END IF.
END VERB zuege.

-- JuL:

VERB zustand DOES
       "Du fühlst dich gut."
END VERB zustand.

--
-- Zwei- oder mehrwortige Verben.
--

VERB attackieren
       CHECK act HERE
               ELSE "Diese Person siehst du hier nicht."
       DOES
               "Keine unnötige Gewalt bitte."
END VERB attackieren.

--

VERB attackieren_mit_wen
       CHECK act HERE
               ELSE "Diese Person siehst du hier nicht."
       DOES
               IF obj IN inventar THEN
                       "Keine unnötige Gewalt bitte."
               ELSE
                       "Du hast"
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$1."
               END IF.
END VERB attackieren_mit_wen.

--

VERB attackieren_wen_mit
       CHECK act HERE
               ELSE "Diese Person siehst du hier nicht."
       DOES
               IF obj IN inventar THEN
                       "Keine unnötige Gewalt bitte."
               ELSE
                       "Du hast"
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$2."
               END IF.
END VERB attackieren_wen_mit.

-- JuL:

VERB betreten1 DOES
       "Das kannst du nicht betreten."
END VERB betreten1.

--

VERB entfernen, ziehen_aus
       CHECK obj IN inventar
               ELSE "Das hast du gar nicht."
       AND obj IS angezogen
               ELSE "Das hast du gar nicht an."
       AND obj IS anziehbar
               ELSE "Das kannst du nicht ausziehen."
       DOES
               "Du ziehst"
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "den"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$1 aus."
               MAKE obj NOT angezogen.
END VERB.

-- JuL:

VERB entfernen_von
       CHECK obj1 NOT IN inventar
               ELSE "Aber das hast du doch selbst!"
       DOES
               "Du kannst"
               IF obj1 IS NOT benannt THEN
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "den"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$1 nicht von"
               IF obj2 IS NOT benannt THEN
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "den"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$2 entfernen."
END VERB entfernen_von.

--

VERB erschiessen
       CHECK act HERE
               ELSE "So etwas siehst du hier nicht."
       DOES
               "`Gewalt ist der letzte Ausweg der Unfähigen' (TM)."
END VERB erschiessen.

-- JuL

VERB erschiessen_mit
       CHECK obj IN inventar
               ELSE    "Du hast"
                       IF obj IS benannt THEN
                               "$2 nicht."
                       ELSE
                               "gar"
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "keinen"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                       END IF.
       DOES
               "`Gewalt ist der letzte Ausweg der Unfähigen' (TM)."
END VERB erschiessen_mit.

--

VERB erzaehlen DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$o ist nicht beeindruckt."
END VERB erzaehlen.

--

VERB erzaehlen_ueber, erzaehlen_von DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$o ist nicht beeindruckt."
END VERB.

-- Derzeit kann der Spieler Dinge essen oder trinken, die mit den essbar- bzw.
-- trinkbar-Flags versehen sind. Das macht aber noch nicht viel Sinn, denn die
-- gegessenen oder getrunkenen Objekte werden nur aus dem Inventar in den LIMBO
-- versetzt.

VERB essen
       CHECK obj IS essbar
               ELSE "Das ist nicht eßbar."
       DOES
               IF obj HERE THEN -- kein CHECK für sicht- aber nicht erreichbare Objekte
                       "Du"
                       IF obj NOT IN inventar THEN "nimmst und" END IF.
                       "ißt"
                       IF obj IS NOT benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$o. Das war gut!"
                       LOCATE obj IN Limbo.
               ELSE
                       "So etwas siehst du hier nicht."
               END IF.
END VERB essen.

--

VERB fragen DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$o ignoriert deine Frage."
END VERB fragen.

--

VERB fragen_nach, fragen_ueber DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$1 ignoriert deine Frage."
END VERB.

-- JuL:

VERB fuege_ein
       CHECK obj IN inventar
               ELSE "Das hast du gar nicht."
       DOES
               "Das kannst du hier nicht einfügen."
END VERB fuege_ein.

-- JuL:

VERB fuege_in_ein, stecken, stecken_hinein
       CHECK obj1 IN inventar
               ELSE    "Du hast"
                       IF obj1 IS benannt THEN
                               "$1 nicht."
                       ELSE
                               IF obj1 IS geschlecht THEN
                                       IF obj1 IS maennlich THEN
                                               "keinen"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                               "$1."
                       END IF.
       AND obj2 HERE
               ELSE    "Du siehst"
                       IF obj1 IS benannt THEN
                               "$1 hier nicht."
                       ELSE
                               IF obj1 IS geschlecht THEN
                                       IF obj1 IS maennlich THEN
                                               "keinen"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                               "$1 hier."
                       END IF.
       DOES
               "Das kannst du hier nicht einfügen."
END VERB.

-- JuL:

VERB fuehlen DOES
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$1 fühlt sich normal an."
END VERB fuehlen.

VERB fuehlen_mit DOES
       IF obj2 IN inventar THEN
               "Du berührst"
               IF obj1 IS NOT benannt THEN
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "den"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$1 mit"
               IF obj2 IS NOT benannt THEN
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "dem"
                               ELSE
                                       "der"
                               END IF.
                       ELSE
                               "dem"
                       END IF.
               END IF.
               "$2. Nichts passiert."
       ELSE
               "Du hast"
               IF obj2 IS benannt THEN
                       "$2 nicht."
               ELSE
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$2."
               END IF.
       END IF.
END VERB fuehlen_mit.

VERB fuehlen_mit2 DOES
       IF obj1 IN inventar THEN
               "Du berührst"
               IF obj2 IS NOT benannt THEN
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "den"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$2 mit"
               IF obj1 IS NOT benannt THEN
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "dem"
                               ELSE
                                       "der"
                               END IF.
                       ELSE
                               "dem"
                       END IF.
               END IF.
               "$1. Nichts passiert."
       ELSE
               "Du hast"
               IF obj1 IS benannt THEN
                       "$1 nicht."
               ELSE
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$1."
               END IF.
       END IF.
END VERB fuehlen_mit2.

-- JuL:

VERB geben, geben_an
       CHECK obj IN inventar
               ELSE "Das hast du nicht!"
       DOES
               "`Danke, aber das will ich nicht.'"
END VERB.

-- JuL:

-- VERB gehen_in DOES
-- END VERB gehen_in.

--

VERB glotzen_hoch DOES
       IF LOCATION IS ueberdacht THEN
               "Du schaust an die Decke, doch siehst nichts besonderes."
       ELSE
               "Du schaust an den offenen Himmel."
       END IF.
END VERB glotzen_hoch.

--

VERB glotzen_runter DOES
       IF LOCATION IS bebodent THEN
               "Du schaust auf den Boden unter deinen Füßen, siehst aber
               nichts besonderes."
       ELSE
               "Du schaust herunter auf die Leere unter deinen Füßen."
       END IF.
END VERB glotzen_runter.

-- JuL:

VERB graben_in DOES
       "Du kannst mit deinen Händen nicht"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "im"
                       ELSE
                               "in der"
                       END IF.
               ELSE
                       "im"
               END IF.
       ELSE
               "in"
       END IF.
       "$1 graben."
END VERB graben_in.

-- JuL:

VERB graben_in_mit DOES
       "Du kannst mit"
       IF obj2 IS NOT benannt THEN
               IF obj2 IS geschlecht THEN
                       IF obj2 IS maennlich THEN
                               "dem"
                       ELSE
                               "der"
                       END IF.
               ELSE
                       "dem"
               END IF.
       END IF.
       "$2 nicht"
       IF obj1 IS NOT benannt THEN
               IF obj1 IS geschlecht THEN
                       IF obj1 IS maennlich THEN
                               "im"
                       ELSE
                               "in der"
                       END IF.
               ELSE
                       "im"
               END IF.
       ELSE
               "in"
       END IF.
       "$1 graben."
END VERB graben_in_mit.

--

VERB graben_mit DOES
       IF LOCATION IS bebodent THEN
               "Der Boden ist hier zu hart."
       ELSE
               "Worin willst du hier graben?"
       END IF.
END VERB graben_mit.

-- JuL:

VERB graben_mit_in DOES
       "Du kannst mit"
       IF obj1 IS NOT benannt THEN
               IF obj1 IS geschlecht THEN
                       IF obj1 IS maennlich THEN
                               "dem"
                       ELSE
                               "der"
                       END IF.
               ELSE
                       "dem"
               END IF.
       END IF.
       "$1 nicht"
       IF obj2 IS NOT benannt THEN
               IF obj2 IS geschlecht THEN
                       IF obj2 IS maennlich THEN
                               "im"
                       ELSE
                               "in der"
                       END IF.
               ELSE
                       "im"
               END IF.
       ELSE
               "in"
       END IF.
       "$2 graben."
END VERB graben_mit_in.

-- JuL:

VERB klopfen_an, klopfen_auf, klopfen_gegen DOES
       "Du klopfst gegen"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$1."
END VERB.

-- JuL:

VERB lecken, lecken_ab, lecken_an DOES
       IF obj IS essbar THEN
               "Schmeckt normal."
       ELSE
               "Bäh, fühlt sich normal an und schmeckt gräßlich."
       END IF.
END VERB.

--

VERB legen, legen_ab
       CHECK obj IN inventar
               ELSE "Das besitzt du nicht."
       DOES
               LOCATE obj HERE.
               IF obj IS angezogen THEN MAKE obj NOT angezogen. END IF.
               "Abgelegt."
END VERB.

--

VERB legen_auf, legen_auf_ab, legen_bei_ab, legen_hinter, legen_unter
       CHECK obj1 IN inventar
               ELSE "Das besitzt du nicht!"
       AND obj2 HERE AND obj2 NOT IN inventar
               ELSE
                       "Hier ist"
                       IF obj2 IS NOT benannt THEN
                               IF obj2 IS geschlecht THEN
                                       IF obj2 IS maennlich THEN
                                               "kein"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$2."
       DOES
               "Nö, du legst es lieber auf den Boden.$n"
               LOCATE obj1 HERE.
               IF obj1 IS angezogen THEN MAKE obj1 NOT angezogen. END IF.
               "Abgelegt."
END VERB.

--

VERB legen_in, legen_hinein, werfen_in
       CHECK obj1 IN inventar
               ELSE "Das hast du nicht!"
       AND (obj2 HERE OR obj2 IN inventar)
               ELSE "$2? Das siehst du hier nicht."
       AND obj1 <> obj2
               ELSE "Na, das wäre ein guter Trick!"
       AND obj2 IS offen
               ELSE
                       IF obj2 IS NOT benannt THEN
                               IF obj2 IS geschlecht THEN
                                       IF obj2 IS maennlich THEN
                                               "Der"
                                       ELSE
                                               "Die"
                                       END IF.
                               ELSE
                                       "Das"
                               END IF.
                       END IF.
                       "$2 ist geschlossen."
       DOES
               LOCATE obj1 IN obj2.
               IF obj1 IS angezogen THEN MAKE obj1 NOT angezogen. END IF.
               "Ok."
END VERB.

--

VERB lesen DOES
       "Da gibt es nichts zu lesen."
END VERB lesen.

--

VERB loeschen, machen_aus
       CHECK obj HERE
               ELSE "So etwas siehst du hier nicht."
       DOES
               "Das kannst du nicht löschen."
END VERB.

--

VERB nehmen, nehmen_auf, nehmen_mit
       CHECK obj IS nehmbar
               ELSE "Das kannst du nicht nehmen!"
       AND obj NOT IN inventar
               ELSE "Das hast du schon."
       DOES
               IF obj HERE THEN        -- Kein CHECK damit sicht- aber nicht
                                       -- erreichbare Objekte richtig behandelt
                                       -- werden können.
                       LOCATE obj IN inventar.
                       "Genommen."
               ELSE
                       "So etwas kannst du hier nicht sehen."
               END IF.
END VERB.

-- JuL:

VERB nehmen_von, nehmen_aus
       CHECK obj IS nehmbar
               ELSE "Das kannst du nicht tragen!"
       AND obj NOT IN inventar
               ELSE "Das hast du schon!"
       AND obj IN subj
               ELSE
               IF subj IS NOT benannt THEN "Der" END IF.
               "$2 hat das nicht."
       DOES
               "Du nimmst"
               IF obj IS NOT benannt THEN "den" END IF.
               "$1 von"
               IF obj IS NOT benannt THEN "dem" END IF.
               "$2."
               LOCATE obj IN inventar.
END VERB.

--

VERB machen_an, schalten_an
       CHECK obj IS schaltbar
               ELSE "Das kannst du nicht anmachen."
       AND obj HERE
               ELSE "Das siehst du hier nicht."
       AND obj IS NOT an
               ELSE "Es ist schon angeschaltet."
       DOES
               MAKE obj an.
               "Ok,"
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "der"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$o ist nun an."
END VERB.

--

VERB machen_auf, oeffnen
       CHECK obj IS oeffnebar
               ELSE "Das kannst du nicht öffnen!"
       AND obj IS NOT offen
               ELSE "Es ist schon offen."
       AND obj IS NOT abgeschlossen    -- JuL
               ELSE "Es ist abgeschlossen."
       DOES
               MAKE obj offen.
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "Der"
                               ELSE
                                       "Die"
                               END IF.
                       ELSE
                               "Das"
                       END IF.
               END IF.
               "$o ist jetzt offen."
END VERB.

--

VERB machen_auf_mit, machen_mit_auf, oeffnen_mit DOES
       IF obj HERE THEN
               IF oeffner IN inventar THEN
                       "Du kannst"
                       IF obj IS NOT benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$1 nicht mit"
                       IF oeffner IS NOT benannt THEN
                               IF oeffner IS geschlecht THEN
                                       IF oeffner IS maennlich THEN
                                               "dem"
                                       ELSE
                                               "der"
                                       END IF.
                               ELSE
                                       "dem"
                               END IF.
                       END IF.
                       "$2 öffnen."
               ELSE
                       "Du hast"
                       IF oeffner IS geschlecht THEN
                               IF oeffner IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$2."
               END IF.
       ELSE
               "Hier ist"
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "kein"
                       ELSE
                               "keine"
                       END IF.
               ELSE
                       "kein"
               END IF.
               "$1, was du öffnen könntest."
       END IF.
END VERB.

--

VERB machen_aus, schalten_aus
       CHECK obj IS schaltbar
               ELSE "Das kannst du nicht ausschalten."
       AND obj IS an
               ELSE "Es ist schon aus."
       AND obj HERE
               ELSE "Das siehst du hier nicht."
       DOES
               MAKE obj NOT an.
               "Ok,"
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "der"
                               ELSE
                                       "die"
                               END IF.
                       ELSE
                               "das"
                       END IF.
               END IF.
               "$o ist nun aus."
END VERB.

--

VERB machen_mit_auf2 DOES
       IF obj HERE THEN
               IF oeffner IN inventar THEN
                       "Du kannst"
                       IF obj IS NOT benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$2 nicht mit"
                       IF oeffner IS NOT benannt THEN
                               IF oeffner IS geschlecht THEN
                                       IF oeffner IS maennlich THEN
                                               "dem"
                                       ELSE
                                               "der"
                                       END IF.
                               ELSE
                                       "dem"
                               END IF.
                       END IF.
                       "$1 öffnen."
               ELSE
                       "Du hast"
                       IF oeffner IS geschlecht THEN
                               IF oeffner IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$1."
               END IF.
       ELSE
               "Hier ist"
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "kein"
                       ELSE
                               "keine"
                       END IF.
               ELSE
                       "kein"
               END IF.
               "$2, was du öffnen könntest."
       END IF.
END VERB machen_mit_auf2.

--

VERB machen_mit_zu, schliessen_mit2 DOES
       IF obj HERE THEN
               IF schliesser HERE THEN
                       "Du kannst"
                       IF obj IS benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$2 nicht mit"
                       IF schliesser IS NOT benannt THEN
                               IF schliesser IS geschlecht THEN
                                       IF schliesser IS maennlich THEN
                                               "dem"
                                       ELSE
                                               "der"
                                       END IF.
                               ELSE
                                       "dem"
                               END IF.
                       END IF.
                       "$1 schließen."
               ELSE
                       "Du siehst hier"
                       IF schliesser IS geschlecht THEN
                               IF schliesser IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$1."
               END IF.
       ELSE
               "Hier ist"
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "kein"
                       ELSE
                               "keine"
                       END IF.
               ELSE
                       "kein"
               END IF.
               "$2."
       END IF.
END VERB.

--

VERB machen_mit_zu2, machen_zu_mit, schliessen_mit DOES
       IF obj HERE THEN
               IF schliesser HERE THEN
                       "Du kannst"
                       IF obj IS benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$1 nicht mit"
                       IF schliesser IS NOT benannt THEN
                               IF schliesser IS geschlecht THEN
                                       IF schliesser IS maennlich THEN
                                               "dem"
                                       ELSE
                                               "der"
                                       END IF.
                               ELSE
                                       "dem"
                               END IF.
                       END IF.
                       "$2 schließen."
               ELSE
                       "Du siehst hier"
                       IF schliesser IS geschlecht THEN
                               IF schliesser IS maennlich THEN
                                       "keinen"
                               ELSE
                                       "keine"
                               END IF.
                       ELSE
                               "kein"
                       END IF.
                       "$2."
               END IF.
       ELSE
               "Hier ist"
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "kein"
                       ELSE
                               "keine"
                       END IF.
               ELSE
                       "kein"
               END IF.
               "$1."
       END IF.
END VERB.

--

VERB machen_zu, schliessen
       CHECK obj IS schliessbar
               ELSE "Das kannst du nicht schließen."
       AND obj IS offen
               ELSE "Es ist nicht offen."
       DOES
               MAKE obj NOT offen.
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "Der"
                               ELSE
                                       "Die"
                               END IF.
                       ELSE
                               "Das"
                       END IF.
               END IF.
               "$o ist nun geschlossen."
END VERB.

-- JuL:

VERB riechen1, riechen_an DOES
       "Du riecht nichts besonderes."
END VERB.

--

VERB sagen DOES
       "Du murmelst etwas in deinen Bart."
END VERB sagen.

--

VERB sagen_txt_zu DOES
       "Du murmelst etwas"
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "zum"
                       ELSE
                               "zur"
                       END IF.
               ELSE
                       "zum"
               END IF.
       ELSE
               "zu"
       END IF.
       "$2."
END VERB sagen_txt_zu.

--

VERB sagen_zu_txt DOES
       "Du murmelst etwas"
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "zum"
                       ELSE
                               "zur"
                       END IF.
               ELSE
                       "zum"
               END IF.
       ELSE
               "zu"
       END IF.
       "$2."
END VERB sagen_zu_txt.

--

VERB schieben
       CHECK obj HERE
               ELSE "Das siehst du hier nicht."
       DOES
               "Nichts passiert."
END VERB schieben.

--

VERB schieben_mit
       CHECK obj1 HERE
               ELSE "Das, was du schieben willst, siehst du hier nicht."
       AND obj2 IN inventar
               ELSE "Das, womit du schieben willst, hast du nicht."
       DOES
               "Das scheint nichts bewirkt zu haben."
END VERB schieben_mit.

-- JuL:

VERB schiessen
       CHECK act HERE
               ELSE "Dieses Ziel siehst du hier nicht."
       DOES
               "`Gewalt ist der letzte Ausweg der Unfähigen' (TM)."
END VERB schiessen.

--

VERB schiessen_auf, schiessen_mit2
       CHECK obj IN inventar
               ELSE    "Du hast"
                       IF obj IS benannt THEN
                               "$1 nicht."
                       ELSE
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "keinen"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                               "$1."
                       END IF.
       AND act HERE
               ELSE "Dieses Ziel siehst du hier nicht."
       DOES
               "`Gewalt ist der letzte Ausweg der Unfähigen' (TM)."
END VERB.

--

VERB schiessen_mit
       CHECK obj IN inventar
               ELSE    "Du hast"
                       IF obj IS benannt THEN
                               "$1 nicht."
                       ELSE
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "keinen"
                                       ELSE
                                               "keine"
                                       END IF.
                               ELSE
                                       "kein"
                               END IF.
                               "$1."
                       END IF.
       AND act HERE
               ELSE "Dieses Ziel siehst du hier nicht."
       DOES
               "`Gewalt ist der letzte Ausweg der Unfähigen' (TM)."
END VERB schiessen_mit.

--

VERB schliessen_ab, verschliessen
       CHECK obj IS abschliessbar
               ELSE "Das kannst du nicht verschliessen."
       AND obj HERE
               ELSE "Du siehst nicht, was du abschließen willst."
       AND obj IS NOT abgeschlossen
               ELSE "Es ist schon abgeschlossen."
       DOES
               "Du brauchst den richtigen Schlüssel." -- JuL(!)
END VERB.

-- JuL

VERB schliessen_ab_mit
       CHECK obj IS abschliessbar
               ELSE "Das kannst du nicht abschließen!"
       AND obj HERE
               ELSE "So etwas siehst du hier nicht."
       AND obj IS NOT abgeschlossen
               ELSE "Es ist schon abgeschlossen."
       AND schloss OF obj = schloss OF schluessel AND schloss OF obj <> 0
               ELSE "Das paßt nicht."
       DOES
               IF obj IS offen THEN
                       MAKE obj NOT offen.
                       "(es erst schließend)"
               END IF.
               MAKE obj abgeschlossen.
               "Ok."
END VERB schliessen_ab_mit.

-- JuL

VERB schliessen_mit_ab, verschliessen_mit
       CHECK obj IS abschliessbar
               ELSE "Das kannst du nicht abschließen!"
       AND obj HERE
               ELSE "So etwas siehst du hier nicht."
       AND obj IS NOT abgeschlossen
               ELSE "Es ist schon abgeschlossen."
       AND schloss OF obj = schloss OF schluessel AND schloss OF obj <> 0
               ELSE "Das paßt nicht."
       DOES
               IF obj IS offen THEN
                       MAKE obj NOT offen.
                       "(es erst schließend)"
               END IF.
               MAKE obj abgeschlossen.
               "Ok."
END VERB.

-- JuL:

VERB schmecken DOES
       IF obj IS essbar THEN
               "Du schmeckst nichts ungewöhnliches."
       ELSE
               "Davon würde ich aber nichts versuchen zu probieren."
       END IF.
END VERB.

--

VERB schreiben DOES
       "Du schreibst `$1'."
END VERB schreiben.

--

VERB schreiben_auf DOES
       "Du schreibst `$1' auf"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$2."
END VERB schreiben_auf.

--

VERB schreiben_auf_mit DOES
       "Du schreibst `$1' auf"
       IF obj1 IS NOT benannt THEN
               IF obj1 IS benannt THEN
                       IF obj1 IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$2 mit"
       IF obj2 IS NOT benannt THEN
               IF obj2 IS geschlecht THEN
                       IF obj2 IS maennlich THEN
                               "deinen"
                       ELSE
                               "deine"
                       END IF.
               ELSE
                       "deinem"
               END IF.
       END IF.
       "$3."
END VERB schreiben_auf_mit.

--

VERB schreiben_mit DOES
       "Du schreibst `$1' mit"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "deinem"
                       ELSE
                               "deiner"
                       END IF.
               ELSE
                       "deinem"
               END IF.
       END IF.
       "$2."
END VERB schreiben_mit.

--

VERB schreiben_mit_auf DOES
       "Du schreibst `$1' mit"
       IF obj1 IS NOT benannt THEN
               IF obj1 IS geschlecht THEN
                       IF obj1 IS maennlich THEN
                               "deinem"
                       ELSE
                               "deiner"
                       END IF.
               ELSE
                       "deinem"
               END IF.
       END IF.
       "$2 auf"
       IF obj2 IS NOT benannt THEN
               IF obj2 IS geschlecht THEN
                       IF obj2 IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$3."
END VERB schreiben_mit_auf.

--

VERB setzen_auf DOES
       "Du kannst dich nicht auf"
       IF obj IS NOT benannt THEN
               IF obj IS maennlich THEN
                       "den"
               ELSE
                       "die"
               END IF.
       ELSE
               "das"
       END IF.
       "$1 setzen."
END VERB setzen_auf.

--

VERB spielen
       CHECK obj HERE
               ELSE "Das siehst du hier gar nicht."
       DOES
               "Das kannst du nicht spielen."
END VERB spielen.

--

VERB spielen2
       CHECK obj HERE
               ELSE "Das siehst du hier gar nicht."
       DOES
               "Damit kannst du nicht spielen."
END VERB spielen2.

--

VERB sprechen_ueber DOES
       "Dir scheint niemand zuzuhören."
END VERB sprechen_ueber.

--

VERB sprechen_ueber_zu DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$2 scheint sich nicht unterhalten zu wollen."
END VERB sprechen_ueber_zu.

--

VERB sprechen_zu, sprechen_mit DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$o scheint sich nicht unterhalten zu wollen."
END VERB.

--

VERB sprechen_zu_ueber DOES
       IF act IS NOT benannt THEN
               IF act IS geschlecht THEN
                       IF act IS maennlich THEN
                               "Der"
                       ELSE
                               "Die"
                       END IF.
               ELSE
                       "Das"
               END IF.
       END IF.
       "$1 scheint sich nicht unterhalten zu wollen."
END VERB sprechen_zu_ueber.

--

VERB springen_auf DOES
       "Du versuchst, auf"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$1 zu springen, springst aber zu kurz."
END VERB springen_auf.

-- JuL:

VERB springen_aus, springen_aus2 DOES
       "Du versuchst, aus"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "dem"
                       ELSE
                               "der"
                       END IF.
               ELSE
                       "dem"
               END IF.
       END IF.
       "$1 zu springen, schaffst es aber nicht."
END VERB.

--

VERB springen_gegen, springen_in DOES
       "Du springst gegen"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$1. Autsch."
END VERB.

--

VERB springen_ueber DOES
       "Du versuchst, über"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "den"
                       ELSE
                               "die"
                       END IF.
               ELSE
                       "das"
               END IF.
       END IF.
       "$1 zu springen, bemerkst aber noch rechtzeitig, daß du es nicht
        schaffen würdest."
END VERB springen_ueber.

--

VERB trinken
       CHECK obj IS trinkbar
               ELSE "Das ist nicht trinkbar."
       DOES
               IF obj HERE THEN -- kein CHECK für sicht- aber nicht erreichbare Objekte
                       "Du"
                       IF obj NOT IN inventar THEN "nimmst und" END IF.
                       "trinkst"
                       IF obj IS NOT benannt THEN
                               IF obj IS geschlecht THEN
                                       IF obj IS maennlich THEN
                                               "den"
                                       ELSE
                                               "die"
                                       END IF.
                               ELSE
                                       "das"
                               END IF.
                       END IF.
                       "$o. Ach, das war gut!"
                       LOCATE obj IN Limbo.
               ELSE
                       "You don't see that here."
               END IF.
END VERB trinken.

--

VERB untersuchen, glotzen1, glotzen_an, glotzen_auf DOES
       "Es gibt nichts besonderes an"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "dem"
                       ELSE
                               "der"
                       END IF.
               ELSE
                       "dem"
               END IF.
       END IF.
       "$o."
END VERB.

--

VERB werfen
       CHECK obj IN inventar
               ELSE "Das besitzt du nicht."
       DOES
               LOCATE obj HERE.
               "Abgelegt."
END VERB werfen.

--

VERB werfen_nach_mit
       CHECK obj2 IN inventar
               ELSE "Das besitzt du nicht!"
       AND obj2 NOT IN inventar
               ELSE "Das hast du selber."
       AND obj2 HERE
               ELSE "Das gibt's hier nicht."
       DOES
               IF obj2 IS NOT benannt THEN
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "Der"
                               ELSE
                                       "Die"
                               END IF.
                       ELSE
                               "Das"
                       END IF.
               END IF.
               "$2 prallt harmlos"
               IF obj1 IS NOT benannt THEN
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "vom"
                               ELSE
                                       "von der"
                               END IF.
                       ELSE
                               "vom"
                       END IF.
               ELSE
                       "von"
               END IF.
               "$1 ab und fällt zu Boden.$n"
               LOCATE obj1 HERE.
END VERB.

--

VERB werfen_mit_nach, werfen_nach, werfen_zu
       CHECK obj1 IN inventar
               ELSE "Das besitzt du nicht!"
       AND obj2 HERE AND obj2 NOT IN inventar
               ELSE "$2? Das gibt's hier nicht."
       DOES
               IF obj1 IS NOT benannt THEN
                       IF obj1 IS geschlecht THEN
                               IF obj1 IS maennlich THEN
                                       "Der"
                               ELSE
                                       "Die"
                               END IF.
                       ELSE
                               "Das"
                       END IF.
               END IF.
               "$1 prallt harmlos"
               IF obj2 IS NOT benannt THEN
                       IF obj2 IS geschlecht THEN
                               IF obj2 IS maennlich THEN
                                       "vom"
                               ELSE
                                       "von der"
                               END IF.
                       ELSE
                               "vom"
                       END IF.
               ELSE
                       "von"
               END IF.
               "$2 ab und fällt zu Boden.$n"
               LOCATE obj1 HERE.
END VERB.

--

VERB winken DOES
       "Du winkst"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "deinen"
                       ELSE
                               "deine"
                       END IF.
               ELSE
                       "dein"
               END IF.
       END IF.
       "$1."
END VERB winken.

--

VERB winken_mit DOES
       "Du winkst mit"
       IF obj IS NOT benannt THEN
               IF obj IS geschlecht THEN
                       IF obj IS maennlich THEN
                               "deinem"
                       ELSE
                               "deiner"
                       END IF.
               ELSE
                       "deinem"
               END IF.
       END IF.
       "$1."
END VERB winken_mit.

-- JuL:

VERB ziehen, ziehen_an1
       CHECK obj HERE
               ELSE "Das siehst du hier nicht."
       DOES
               "Du ziehst"
               IF obj IS NOT benannt THEN
                       IF obj IS geschlecht THEN
                               IF obj IS maennlich THEN
                                       "am"
                               ELSE
                                       "an der"
                               END IF.
                       ELSE
                               "am"
                       END IF.
               END IF.
               "$1."
END VERB.

--

VERB ziehen_an2
       CHECK obj IN inventar
               ELSE "Das hast du gar nicht."
       AND obj IS anziehbar
               ELSE "Das kannst du nicht anziehen."
       AND obj IS NOT angezogen
               ELSE "Das hast du doch schon an."
       DOES
               "Paßt perfekt."
               MAKE obj angezogen.
END VERB.

--

VERB zuenden, zuenden_an
       CHECK obj HERE
               ELSE "Das siehst du hier nicht."
       DOES
               "Das kannst du nicht anzünden."
END VERB.

--------------------
-- Teil 5 Orte (JuL)
-- Der Nirgendwo-Ort
--------------------

LOCATION Limbo
       EXIT n, s, o, w, nw, no, sw, so, h, r, re, ra TO Limbo. -- zur Sicherheit ...
END LOCATION Limbo.

-----------------------
-- Teil 6 Objekte (JuL)
-----------------------

-- Die Dummyobjekte
--
-- Du mußt sie auskommentieren (und in Deine Abenteuerquelldatei kopieren) um
-- besondere Meldungen oder Verhalten für Dein Abenteuer anzufügen. ( :-( )

OBJECT Raum
       IS NOT nehmbar.
       ARTICLE "ein"
       DESCRIPTION ""
       VERB untersuchen DOES ONLY
               LOOK.
       END VERB untersuchen.
END OBJECT Raum.

OBJECT Wand NAME noerdliche suedliche westliche oestliche wand
       IS NOT nehmbar.
       ARTICLE "eine"
       DESCRIPTION ""
END OBJECT Wand.

OBJECT Boden
       IS NOT nehmbar.
--      ARTICLE "ein"
       DESCRIPTION ""
END OBJECT Boden.

OBJECT Decke
       IS NOT nehmbar.
       ARTICLE "eine"
       DESCRIPTION ""
       VERB untersuchen DOES ONLY
               "Du kannst die Decke nicht erreichen."
       END VERB untersuchen.
END OBJECT Decke.

--------------------------
-- Teil 7 Ereignisse (JuL)
--------------------------

-- Der Zugzähler

EVENT Zugzähler
       INCREASE zuege OF Hero.
       SCHEDULE Zugzähler AFTER 1.
END EVENT Zugzähler.

-- Der Raumobjektbeweger

EVENT Raumbeweger
       LOCATE Raum AT Hero.
       IF LOCATION IS bewandet THEN LOCATE Wand AT Hero. END IF.
       IF LOCATION IS ueberdacht THEN LOCATE Decke AT Hero. END IF.
       IF LOCATION IS bebodent THEN LOCATE Boden AT Hero. END IF.
       SCHEDULE Raumbeweger AFTER 1.
END EVENT Raumbeweger.

-------------------------
-- Teil 8 Meldungen (JuL)
-------------------------

MESSAGE AFTERBUT: "Du mußt ein Objekt nach ,,außer/but'' angeben."
MESSAGE AGAIN: "(nochmals)"
MESSAGE BUTALL: "Du kannst ,,außer/but'' nur nach ,,all(es)'' benutzen."
MESSAGE CANT: "Du kannst"
--      IF OBJECT IS NOT benannt THEN
--              IF OBJECT IS geschlecht THEN
--                      IF OBJECT IS maennlich THEN
--                              "den"
--                      ELSE
--                              "die"
--                      END IF.
--              ELSE
--                      "das"
--              END IF.
--      END IF.
               ",,$1'' nicht ,,$v''en."
MESSAGE CANT0: "Das kannst du nicht tun."
MESSAGE CONTAINS1: "Der" -- ?! :( !?
MESSAGE CONTAINS: "beinhaltet"
MESSAGE CONTAINSCOMMA: ", "
MESSAGE CONTAINSAND: "und "
-- MESSAGE CONTAINSEND ist gleich.
MESSAGE DEFARTICLE: "ein"
MESSAGE EMPTY1: "Der" -- ?! :( !?
MESSAGE HAVESCORED: "Du hast"
MESSAGE ISEMPTY: "ist leer."
MESSAGE MORE: "<mehr>"
MESSAGE MULTIPLE: "Du kannst bei ,,$v'' nicht mehrere Dinge gleichzeitig
       verwenden."
MESSAGE NOSUCH: "Du kannst hier"
--      IF OBJECT IS NOT benannt THEN
--              IF OBJECT IS geschlecht THEN
--                      IF OBJECT IS maennlich THEN
--                              "keinen"
--                      ELSE
--                              "keine"
--                      END IF.
--              ELSE
--                      "kein"
--              END IF.
--      END IF.
       "kein ,,$1'' sehen."
MESSAGE NOTMUCH: "Da bleibt nicht viel was du ,,$v''en kannst."
MESSAGE NOUN: "Du mußt hierfür ein Substantiv angeben."
MESSAGE NOWAY: "In diese Richtung kannst du nicht."
MESSAGE QUITACTION: "Willst du NEUSTARTen [RESTART], einen Spielstand LADEN [RESTORE] oder beENDEn [QUIT]? "
MESSAGE RESTOREFROM: "Gib einen Dateinamen zum laden des Spielstands ein"
MESSAGE SAVEFAILED: "Sorry, das Abspeichern hat nicht geklappt."
MESSAGE SAVEMISSING: "Sorry, konnte keine Spielstandsdatei dieses Namens finden."
MESSAGE SAVENAME: "Sorry, die Datei enthält keinen Spielstand für dieses Abenteuer."
MESSAGE SAVEOVERWRITE: "Diese Datei existiert schon. Überschreiben? (j/y)"
MESSAGE SAVEVERSION: "Sorry, die Datei wurde von einer anderen Alan-Version geschrieben." -- wirklich Alan?
MESSAGE SAVEWHERE: "Gib einen Dateinamen zum Abspeichern ein"
MESSAGE SCOREOUTOF: "Punkte erreicht von möglichen" -- könnte dritten Teil brauchen
MESSAGE SEEACTOR: "ist hier."
MESSAGE SEEOBJECT1: "Hier ist"
MESSAGE SEEOBJECTCOMMA: "$$, "
MESSAGE SEEOBJECTAND: "und "
MESSAGE SEEOBJECTEND: "."
MESSAGE UNKNOWNWORD: "Das Wort kenne ich nicht."
MESSAGE WANT: "Du mußt schon ein Objekt für ,,$v'' angeben."
MESSAGE WHAT: "Das verstehe ich nicht."
MESSAGE WHATALL: "Ich weiß nicht, was mit ,,all(es)'' gemeint sein soll."
MESSAGE WHATIT: "Ich weiß nicht, was mit ,,es/it'' gemeint sein soll."
MESSAGE WHATTHEM: "Ich weiß nicht, was mit ,,sie/them'' gemeint sein soll."
MESSAGE WHICHONE: "Ich weiß nicht,"
--      IF OBJECT IS geschlecht THEN
--              IF OBJECT IS maennlich THEN
--                      "welchen"
--              ELSE
--                      "welche"
--              END IF.
--      ELSE
--              "welches"
--      END IF.
       "welches ,,$1' du meinst."

-----------------------------------------------
-- Dateiende.
-------------