Version 1/101027 of German Exit Lister by Team GerX begins here. Use authorial modesty. Include Exit Lister by Eric Eve. Chapter - Neue Definitionen [Hinzugefügt von CB: Den ganzen Text für die Ausgänge manuell ausgeben lassen.] A room has a text called explicit exits description. The explicit exits description of a room is usually "". Chapter - German Exit Lister Rules (in place of Chapter 4 - Exit Lister Rules in Exit Lister by Eric Eve) Rule for constructing the status line (this is the exit lister status line rule): if exit listing is enabled then fill status bar with the status exit table; otherwise fill status bar with the standard status table; rule succeeds. To say exit list: let exits count be 0; let farplace be location; say "Ausgänge: "; repeat with way running through directions begin; let farplace be the room way from the location; change direction-object to the room-or-door way from the location; if direction-object is apparent begin; increase the exits count by 1; if farplace is unvisited and indicate-unvisited is show-unvisited then say "[unvisited-mark][u-v way][end-unvisited-mark]"; otherwise say "[way]"; say " "; end if; end repeat; if exits count is 0, say "[italic type][no-exits][roman type]". To say no-exits: say "Keine". Chapter - German Exit Lister Actions (in place of Chapter 6 - Exit Lister Actions in Exit Lister by Eric Eve) ExitStarting is an action out of world. ExitStopping is an action out of world. Carry out ExitStopping (this is the standard Exit Stopping rule): Change exit listing to disabled. Report ExitStopping: clear only the status line; say "Die Anzeige der Ausgänge ist jetzt ausgeschaltet." Understand "ausgaenge aus" as ExitStopping. Understand "ausgaenge ein/an" as ExitStarting. Carry out ExitStarting (this is the standard Exit Starting rule): Change exit listing to enabled. Report ExitStarting: say "Die Anzeige der Ausgänge ist jetzt eingeschaltet."; ExitListing is an action out of world. Understand "ausgaenge" as ExitListing. Understand the command "ag" and "ausgang" as "ausgaenge". Carry out ExitListing (this is the standard carry out exit listing rule): list the exits. [ This is defined as a separate phrase so that it can be called from user code, e.g. to replace the standard "You can't go that way" message. ] To list the exits: if the explicit exits description of location is not "" begin; say "[explicit exits description of location][line break]"; rule succeeds; end if; let exits count be 0; let farplace be location; repeat with way running through directions begin; let farplace be the room way from the location; change direction-object to the room-or-door way from the location; if the direction-object is apparent, increase exits count by 1; end repeat; if exits count is 0 begin; say "[no-obvious-exits]"; rule fails; end if; let i be exits count; if exits count is 1, say "Der einzige offensichtliche Ausgang ist "; otherwise say "Die offensichtlichen Ausgänge sind "; repeat with way running through directions begin; let farplace be the room way from the location; change direction-object to the room-or-door way from the location; if direction-object is apparent begin; say "[way]"; if farplace is visited, say " ([destname farplace])"; decrease i by 1; if i is 0, say "."; if i is 1, say " und "; if i > 1, say ", "; end if; end repeat. To say list the exits: list the exits. To say no-obvious-exits: say "Hier sind keine offensichtlichen Ausgänge." Report ExitListing when listing explained is 0 (this is the explain exit listing rule): change listing explained to 1; say "[bracket]Hinweis: Mit der Anweisung AUSGÄNGE (kurz: AG) kannst du alle sichtbaren Ausgänge anzeigen lassen. AUSGÄNGE AUS/EIN schaltet die Anzeige der Richtungen in der Statuszeile aus oder ein.[close bracket][line break]" To say destname (place - a room): if the destination name of place is "", say "[place]"; otherwise say "[destination name of place]". listing explained is a number that varies. Chapter - German Exit Lister Indicating Unvisited (in place of Chapter 7 - Exit Lister Indicating Unvisited in Exit Lister by Eric Eve) Exit colouring is an action out of world. Understand "ausgaenge farbe/farbig" as exit colouring. exit-colour-num is a number that varies. exit-colour-num is 1. exit-symbol-num is a number that varies. exit symboling is an action out of world. Understand "ausgaenge symbol/zeichen" as exit symboling. exit-marker is a text that varies. Carry out exit symboling (this is the standard exit symboling rule): increase exit-symbol-num by 1; if exit-symbol-num > the number of rows in the Table of Exit Symbols then change exit-symbol-num to 1; choose row exit-symbol-num in the Table of Exit Symbols; change exit-marker to the exit-symbol entry. Report exit symboling: say "In Ordnung." Table of Exit Symbols exit-symbol "" "=" "-" "*" "+" Section 7G (for Glulx Only) exit-symbol-num is 1. exit-marker is "". Carry out exit colouring (this is the standard exit colouring rule): change indicate-unvisited to the visiting-mark after indicate-unvisited. to say unvisited-mark: say "[exit-marker]". to say end-unvisited-mark: say "[exit-marker]". to say u-v (way - a direction): let cap-way be indexed text; change cap-way to "[way]"; say "[cap-way in upper case] ". Section 7Z (for Z-machine only) Carry out exit colouring (this is the standard exit colouring rule): increase exit-colour-num by 1; if exit-colour-num > 4 begin; change exit-colour-num to 0; change indicate-unvisited to dont-show-unvisited; otherwise; change indicate-unvisited to show-unvisited; end if. Report exit colouring: say "In Ordnung." to say unvisited-mark: if exit-colour-num is 1 begin; turn the background red; otherwise if exit-colour-num is 2; turn the background yellow; otherwise if exit-colour-num is 3; turn the background blue; otherwise; turn the background green; end if; say "[exit-marker]". to say end-unvisited-mark: say "[exit-marker][default letters]". exit-symbol-num is 1. exit-marker is "". to say u-v (way - a direction): say "[way]". German Exit Lister ends here.