
Stand: 24.10.1996


Aktionsfelder
=============

So werden Felder genannt, die beim Betreten durch die Gruppe eine
bestimmte Aktion ausloesen.

Aktionsfeldtypen
================

Es folgt nun eine Beschreibung der Wirkung der verschiedenen Aktionsfelder
und die noetigen Eingaben im Editor.


Setze Merker  (AFT_SETZE_MERKER)
	Dieses Feld setzt eine bis vier Merkervariablen.
	Bei der Eingabe werden bis zu vier Merkervariablennummern
	abgefragt.

	Bemerkung: Durch die Merkervariablen kann man durch das Betreten
		   eines speziellen Feldes z.B. eine Aktions ausloesen,
		   die erst an einem anderen Ort Wirkung zeigt


Loesche Merker	(AFT_UNSET)
	Dieses Feld loescht eine bis vier Merkervariablen.
	Bei der Eingabe werden bis zu vier Merkervariablennummern
	abgefragt.


Schalter  (AFT_SCHALTER)
	Dieses Feld schaltet eine bis vier Merkervariablen.
	D.h. ist die betreffende Merkervariable gesetzt, dann wird sie
	bei Betreten des Feldes geloescht. Entsprechend wird eine
	nicht gesetzte Merkervariable beim Betreten des Feldes geloescht.
	Bei der Eingabe werden bis zu vier Merkervariablennummern
	abgefragt.

Karte  (AFT_KARTE)
	Hier gibt man die Zielkoordinaten und die Zielkarte ein, an die
	die Gruppe bei Betreten dieses Feldes gesetzt werden soll.
	Wird bei der Frage nach der Nummer der Zielkarte -1 eingegeben,
	dann wird die aktuelle Karte beibehalten.

	Es besteht zusaetzlich die Moeglichkeit, zusaetzlich zum
	Koordinatenwechsel eine Merkervariable zu setzen, zu loeschen
	oder einen Text auszugeben.


	Anwendungsbeispiel:

	Hiermit kann man zum Beispiel das Betreten einer Stadt erzeugen:
	In der Landschaft (Karte 0) wird auf die Grafik "Stadt" ein
	Aktionsfeld dieses Typs gelegt, und dat1 = 1, dat2 = 4,
	dat3 = 5 gesetzt.
	Dies bedeutet, dass beim Betreten dieses Feldes die Karte
	Nummer 1 geladen wird, in der die Gruppe bei 4/5 stehen wird.


	ACHTUNG: Existiert die angegebene Karte nicht, oder liegen die
		 angegebenen Koordinaten nicht innerhalb der Karte, dann
		 gibt es einen Programmfehler, der zwar abgefangen wird,
		 aber zum Ende des Programms fuehrt.

	HINWEIS: Da nur dann nachgeladen wird, wenn die Zielkarte nicht
		 im Speicher ist, eignet sich dieses Aktionsfeld
		 auch als Teleporter oder aehnliches.

	HINWEIS: Wird eine neue Karte geladen, so wird die im Speicher
		 befindliche Karte nach SILVER_SAVE:temp
		 gespeichert

	HINWEIS: Die zu lesende Karte wird zuerst aus SILVER_SAVE:temp
		 gelesen, sollte dort nichts gefunden werden, dann wird
		 in SILVER_SAVE:Abenteuername/Spielstand gesucht.


Text  (AFT_TEXT)
	Hier gibt man die Nummer des Textes ein, der bei Betreten dieses
	Feldes angezeigt werden soll.
	Zulaessig sind Textnummern >= 0

	Die Texte befinden sich in einem speziellen Format in
	der Datei SILVER:Abenteuername/Daten/Texte.dat

	Das Anlegen und Umwandeln einer Textdatei => siehe: Texte.txt

	Es besteht zusaetzlich die Moeglichkeit, bei Betreten des Feldes
	eine Merkervariablen zu setzen oder zu loeschen.


Gespraech  (AFT_GESPRAECH)
	Gespraech: Wird dieses Feld "angesprochen" (mittels einer Funktion
	waehrend des Spiels), so wird das Gespraech mit der eingegebenen
	Gespraechsnummer Dat1 ausgefuehrt.
	Beim BETRETEN des Feldes passiert nichts - nur die Funktion
	"Ansprechen" veranlasst eine Aktion

	Die Gespraechsdateien befinden sich im Verzeichnis
	SILVER:Abenteuername/Daten/Gespraeche und haben den
	Namen Gespraech_<nr>.txt, muessen aber vor Verwendung noch in ein
	kompaktes Spezialformat umgewandelt werden.

	Nach Eingeben der Gespraechsnummer wird man gefragt, ob es
	moeglich sein soll, den Gespraechspartner zu bestehlen.

	Bejaht man die Frage, dann muss man eine Merkernummer eingeben,
	in der gespeichert wird, ob der Diebstahl schon erfolgte:
	Der Diebstahl kann pro Gespraechspartner nur einmal versucht werden,
	da die angegebenen Merkervariable bei einem Diebstahlsversuch
	gesetzt wird.

	Danach wird man aufgefordert, die Modifikation der Diebstahlprobe
	einzugeben, hierbei ist eine positive Eingabe eine Erschwernis,
	eine negative Eingabe eine Erleichterung der Probe.

	Danach muss man die Geldmenge und Erfahrungspunkte eingeben, die
	der Dieb bei erfolgreichem Diebstahl erhaelt.

	Danach wird abgefragt, ob bei einem Misslingen des Diebstahls
	ein Angriff erfolgen soll.
	Bejaht man diese Frage, dann muss man die Nummer des Gegners
	und die Anzahl der Gegner eingeben.

	    BEMERKUNG: Hiermit kann man das veraergerte Opfer des
		       Diebstahls auf die Diebe losgehen lassen...




	Ablauf des Diebstahls:
		Wurde dieser Gespraechspartner schon bestohlen?
		Falls ja:
			Hier wurde schon ein Diebstahl versucht
		Falls nein:
			Merker setzen
			Gelingt die modifzierte Taschendiebstahlprobe,
			dann erhaelt der Dieb:
			     Goldstuecke und Erfahrungspunkte


Nachts geschlossen  (AFT_NACHTS_GESCHLOSSEN)
	Wird dieses Feld in der Zeit von 8-20 Uhr betreten, so
	passiert nichts

	Wird dieses Feld in der Zeit von 8-20 Uhr betreten, so wird der
	ggf. ein Text mit der ausgegeben, und die Gruppe wird an neue
	Koordinaten gesetzt.


	Hier gibt man die Zielkoordinaten und die Zielkarte ein, an die
	die Gruppe bei Betreten dieses Feldes gesetzt werden soll.
	Wird bei der Frage nach der Nummer der Zielkarte -1 eingegeben,
	dann wird die aktuelle Karte beibehalten.
	Es ist auch moeglich, einen Text auszugeben, der beim Versetzen
	angezeigt wird.


Handelsstation	(AFT_HANDELSSTATION)
	Wird dieses Feld "angesprochen" so kann man hier Gegenstaende
	kaufen oder verkaufen:
		1) FELL
		2) BERNSTEIN
		3) SALZ
		4) GEWUERZE
		5) ELFENBEIN
		6) SCHMUCK

	Beim Setzen dieses Aktionsfeldes muss man die Preise fuer die oben
	genannten Waren eingeben:
		=0  Diesen Gegenstand kann man hier weder kaufen noch
		    verkaufen
		<0  Diesen Gegenstand kann man hier verkaufen - der Wert
		    gibt den Preis an
		>0  Diesen Gegenstand kann man hier kaufen - der Wert gibt
		    den Preis an

	Bemerkung: Durch dieses Aktionsfeld kann man ein "Handelselement"
		   ins Spiel bringen




Text mit Merker  (AFT_TEXT_MIT_MERKER)
	Wird dieses Feld betreten und ist die Merkervariable noch nicht
	gesetzt, dann wird die angegebene Merkervariable gesetzt, und der
	zugehoerige Text angezeigt.
	Andernfalls wird der andere Text angezeigt.

	Es besteht zusaetzlich die Moeglichkeit, zusaetzlich zum
	Koordinatenwechsel eine Merkervariable zu setzen und/oder zu
	loeschen, nachdem der Text ausgegeben wurde.


	Bemerkung: In Verbindung mit AFT_SETZE_MERKER kann man einen
		   "Begruessungseffekt" erreichen: Beim Betreten des
		   Gebaeudes wird mittels AFT_TEXT_MIT_MERKER ein
		   Begruessungstext in Abhaengigkeit einer Merkervariablen
		   ausgegeben, gleichzeitig setzt man den Merker.

		   Also: Beim Betreten des Gebaeudes wird der Text
		   ausgegeben und gleich danach der Merker gesetzt.
		   Daher wird etwa beim Verlassen des Gebaeudes oder
		   beim erneuten Betreten kein Text mehr ausgegeben.








Goto mit Merker  (AFT_GOTO_MIT_MERKER)
	Zuerst wird eine Merkervariable abgefragt, von der die Spruenge
	abhaengen soll:

	Danach gibt man die Zielkoordinaten und die Zielkarte ein, an die
	die Gruppe bei Betreten dieses Feldes in Abhaengigkeit von
	dem Zustand der Merkervariable gesetzt werden soll.
	Wird bei der Frage nach der Nummer der Zielkarte -1 eingegeben,
	dann wird die aktuelle Karte beibehalten.

	Bemerkung: Hiermit kann man den "Diebesgildeneffekt" erreichen
		   So lange der Merker x nicht gesetzt ist, wird beim
		   Betreten des Feldes Diebesgilde nichts getan (dort
		   hat man ein Feld mit AFT_GOTO_MIT_MERKER gesetzt)
		   Erst wenn man einen Hinweis auf die Gilde bekommen
		   hat (sprich: Merker x gesetzt wurde), kann man die
		   Gilde betreten



Bank (AFT_BANK)
	Hier kann man Geld einzahlen und Zinsen kassieren.
	Die Zinsen werden je VOLLEM Monat, den das Geld auf der Bank
	liegt gezahlt - wird das Konto aufgeloest, dann wird der
	Zeitzaehler zurueckgesetzt.

	Beim Setzen des Aktionsfeldes muss man den Zinssatz eingeben
	und die Mindest- und Maximaleinlage fuer das Konto.


	Bemerkung: Dies ist ein weiteres "Handelselement"



Gasthaus  (AFT_GASTHAUS)
	Wird dieses Feld angesprochen, dann wird die Gasthausroutine
	aufgerufen und die verfuegbaren Zimmer angezeigt.

	Die Zimmer werden bei der Eingabe des Aktionsfeldes festgelegt:
	  Sowohl fuer das "gute Zimmer" als auch fuer das "normale Zimmer"
	  werden die Zielkarte, X-Y-Koordinaten des Zimmers und der
	  Preis des Zimmers eingegeben.

	  Wird bei der Frage nach der Nummer der Zielkarte -1 eingegeben,
	  dann wird die aktuelle Karte beibehalten.

	Ausfuehrung:
	Wird eine der zwei Zimmerarten bezahlt dann wird ein GOTO zu den
	entsprechenden Koordinaten ausgefuehrt

	    Normales Zimmer:
		Jeder regeneriert 1W20+15 Erschoepfungspkt
		Jeder regeneriert  1W6+ 1 Verletzungspkt

	    Gutes Zimmer:
		Jeder regeneriert 1W20+25 Erschoepfungspkt
		Jeder regeneriert  1W6+ 3 Verletzungspkt

	Nach dem Schlaf kann noch etwas Besonderes geschen - dies wird
	durch die "Besonderheit" geregelt:

	     = 0  Nichts passiert

	     = 1  Das Gasthaus ist besonder ruhig:
		  Zusaetzlich regeneriert jedes
		  Gruppenmitglied man 1W6 Erschoepfungspunkte

	     = 2  Im Gasthaus ist es sehr laut gewesen
		  und die Gruppe hat schlecht geschlafen.
		  Am Morgen erhaelt jedes Gruppenmitglied
		  1W6+1 Erschoepfungspunkte.

	     = 3  Wanzen: Jedes Gruppenmitglied erleidet 1 Verletzungspunkt
		  ABER: Wuerde es durch diesen Verletzungspunkt sterben,
		  dann erleidet es keinen Schaden.

	     = 4  Diebstahl: Bei jedem Gruppenmitglied besteht eine
		  10-prozentige Chance auf einen Diebstahl
		  Bei dieser Art von Diebstahl wird nur Geld gestohlen
		  um zu vermeiden, dass die Gruppe durch Zufall einen
		  wichtigen Gegenstand verliert

		  Ablauf:
		  Bei 1 bis 10 auf einem W100 wird bei einem Gruppenmitglied
		  ein Diebstahl versucht: Gelingt dem Gruppenmitglied eine
		  Probe auf "Sechster Sinn", die durch 10-W20 modifiziert
		  wird, so wird der versuchte Diebstahl bemerkt.
		  Andernfalls verliert das Gruppenmitglied die Haelfte
		  seines Geldes




Laden  (AFT_LADEN)
	Hier kann man Gegenstaende kaufen.

	Bei der Eingabe des Feldes kann man bis zu sechs Gegenstaende
	festlegen, die man hier kaufen kann (waehlt man ABBRUCH, dann
	bleibt der Platz dieses Gegenstandes leer)

	Der Verkaufsindex, d.h. bestimmt den Preis, den ein Gruppenmitglied
	zahlen muss:
		Preis = Normalpreis * Verkaufsindex / 100


	Hinweis: Der Laden hat unendlich viele Gegenstaende auf Lager,
		 d.h. er wird nie leergekauft - ganz im Gegensatz zu
		 AFT_TROEDLER



###  (AFT_FALLE)

	Dat1 Merkernummer, die angibt, ob die Falle schon ausgeloest wurde
	     -1 bedeutet, dass die Falle "ewig" aktiv ist
	Dat2 Modifikator auf das Entdecken der Falle
	     >0 Erschwernis, <0 Erleichterung
	Dat3 Modifikator auf das Entschaerfen der Falle
	     >0 Erschwernis, <0 Erleichterung
	Dat4 Erfahrungspunkte fuer das Entdecken der Falle
	Dat5 Erfahrungspunkte fuer das Entschaerfen der Falle
	Dat6 Fallentyp
	Dat7, Dat8, Dat9 Fallendaten

	Fallentypen:
	Typ 0: Betaeubungsfalle - jedes Gruppenmitglied erhaelt
	       Dat7 bis Dat8 Erschoepfungspunkte
	Typ 1: Verletzungsfalle - jedes Gruppenmitglied erhaelt
	       Dat7 bis Dat8 Verletzungspunkte


	ABLAUF EINER FALLE
	1) Das Feld mit AFT_FALLE wird betreten. Ist Dat1 gleich -1 ?
	   Falls ja   ==> 3)
	   Falls nein ==> 2)
	2) Ist der Merker Dat1 gesetzt?
	   Falls ja   ==> 3)
	   Falls nein: Die Falle ist inaktiv, keine Folgen
	3) Die Falle ist noch aktiv - jedes Gruppenmitglied legt eine
	   Probe auf das Talent "6. Sinn" ab, die um Dat2 modifiziert ist
	   Jedes Gruppenmitglied, dem die Probe gelingt, erhaelt
	   Dat4 Erfahrungspunkte
	   Der Merker Dat1 wird gesetzt, falls Dat1 ungleich -1 ist
	   Gelingt mindestens einem Gruppenmitglied die Probe?
	   Falls ja   ==> 4)
	   Falls nein ==> 6)
	4) Die Falle kann entschaerft werden
	   Ein Gruppenmitglied wird ausgewaehlt und legt eine Probe
	   auf das Talent "Fallen entschaerfen" ab, die um Dat3
	   modifiziert wird
	   Gelingt die Probe?
	   Falls ja   ==> 5)
	   Falls nein ==> 6)
	5) Die Falle ist entschaerft - das Gruppenmitglied, das die
	   Falle entschaerft hat, erhaelt Dat5 Erfahrungspunkte
	6) Die Falle wird ausgeloest:
	   Bei Fallentyp 0: Betaeubungsfalle
		     Jedes Gruppenmitglid erhaelt
		     zufall(Dat8-Dat7+1)+(Dat7-1) Erschoepfungspunkte





Geld finden  (AFT_GELD)
	Beim Betreten des Feldes:

	Falls der angegebene Merker noch nicht gesetzt ist:
	   Falls gewuenscht wird ein Text ausgegeben
	   Man findet die eingegebene Anzahl an Goldstuecken und der Merker
	   wird gesetzt

	   Es ist nun ausserdem moeglich, eine Grafik auszuwaehlen, die
	   an der Stelle des Aktionsfeldes angezeigt wird, nachdem das
	   Geld aufgehoben wurde - Hiermit kann man das Aufheben des
	   Geldes nachvollziehen.



#Angriff#  (AFT_ANGRIFF)

	Dat1 Gibt die Chance, auf diesem Feld angegriffen zu werden, an.
	     Die Angabe erfolgt in Prozent

	Dat2,Dat3
	     Es greifen Dat3 Gegner an - die Gegner sind Charaktere
	     mit der Nummer Dat2. Ist Dat3 gleich null
	     dann wird kein Gegner geladen

	     Ist Dat3 negativ, dann erfolgt eine automatische Anpassung
	     der Gegneranzahl an die Gruppenstaerke:
		gegneranzahl = -Dat3 + Gruppenstaerke


	Dat4,Dat5
	     Es greifen Dat5 Gegner an - die Gegner sind Charaktere
	     mit der Nummer Dat4. Ist Dat5 gleich null
	     dann wird kein Gegner geladen

	     Ist Dat5 negativ, dann erfolgt eine automatische Anpassung
	     der Gegneranzahl an die Gruppenstaerke:
		gegneranzahl = -Dat5 + Gruppenstaerke

	Dat6 Modifikator auf das Entdecken des Angriffs
	     >0 Erschwernis, <0 Erleichterung
	Dat7 Erfahrungspunkte fuer das Entdecken des Angriffs
	Dat8 Modifikator auf das Schleichen
	     >0 Erschwernis, <0 Erleichterung
	Dat9 Merkernummer, die angibt, ob der Angriff schon ausgeloest wurde
	     -1 bedeutet, dass der Angriff "ewig" aktiv ist



	ABLAUF
	0) Das Feld mit AFT_ANGRIFF wird betreten.
	   Ist zufall(100) <= Dat1 ?
	   Falls ja   ==> 1)
	   Falls nein ==> Es erfolgt kein Angriff
	1) Ist Dat9 gleich -1 ?
	   Falls ja   ==> 3)
	   Falls nein ==> 2)
	2) Ist der Merker Dat9 gesetzt?
	   Falls ja   ==> 3)
	   Falls nein: Der Angriff ist inaktiv, keine Folgen
	3) Der Angriff ist noch aktiv - jedes Gruppenmitglied legt eine
	   Probe auf das Talent "6. Sinn" ab, die um Dat6 modifiziert ist
	   Jedes Gruppenmitglied, dem die Probe gelingt, erhaelt
	   Dat7 Erfahrungspunkte
	   Gelingt mindestens einem Gruppenmitglied die Probe?
	   Falls ja   ==> 4)
	   Falls nein ==> 6)
	4) Der Angriff kann umgangen werden
	   Jedes Gruppenmitglied legt eine Probe auf das Talent "Schleichen"
	   ab, die um Dat8 modifiziert wird
	   Gelingt ALLEN Gruppenmitgliedern die Probe?
	   Falls ja   ==> 5)
	   Falls nein ==> 6)
	5) Der Angriff wurde umgangen
	6) Der Angriff erfolgt
	   Der Merker Dat9 wird gesetzt, falls Dat9 ungleich -1 ist


Troedler (AFT_TROEDLER)
	Hier kann man Gegenstaende kaufen und verkaufen.

	Bei der Eingabe des Feldes kann man bis zu sechs Gegenstaende
	festlegen, die man hier kaufen kann (waehlt man ABBRUCH, dann
	bleibt der Platz dieses Gegenstandes leer)

	Der Verkaufsindex, bestimmt den Preis, den ein Gruppenmitglied
	zahlen muss:
		Preis = Normalpreis * Verkaufsindex / 100


	Der Kaufindex, bestimmt den Preis, den ein Gruppenmitglied
	fuer einen Gegenstand erhaelt:
		Preis = Normalpreis * Kaufindex / 100


	Prinzip:
	- Ein Gruppenmitglied kauft etwas:
		Der gekaufte Gegenstand wird aus dem Laden entfernt

	- Ein Gruppenmitglied verkauft etwas:
		Der verkaufte Gegenstand wird in den Laden eingefuegt


	Hinweis: Wie man sieht, kann dieser Laden leergekauft werden.
		 Ganz im Gegensatz zu AFT_LADEN



Heiler	(AFT_HEILER)
	Hier kann man Gruppenmitglieder heilen zu einem eingegebenen
	Preis heilen lassen.

	Die Staerke der Heilung wird beim Setzen des Aktionsfeldes
	eingegeben und zwar mit den Werten "Mindestheilung" und
	"Maximalheilung".


Spezialladen (AFT_SPEZIALLADEN)
	Hier kann man Gegenstaende kaufen

	Bei der Eingabe des Feldes kann man bis zu drei Gegenstaende
	festlegen, die man hier kaufen kann (waehlt man ABBRUCH, dann
	bleibt der Platz dieses Gegenstandes leer)

	Zusaetzlich gibt es einen Spezialgegenstand, dessen Bestand sich
	jeden Monat um 1 erhoeht (bis der Maximalbestand erreicht ist).
	Den Momentan- und Maximalbestand gibt man beim Setzen des
	Aktionsfeldes an.

	Der Verkaufsindex, bestimmt den Preis, den ein Gruppenmitglied
	zahlen muss:
		Preis = Normalpreis * Verkaufsindex / 100


	Bemerkung: Dieses Aktionsfeld ist recht aehnlich zu AFT_LADEN,
		aber bei AFT_SPEZIALLADEN gibt es die Moeglichkeit,
		einen besonderen Gegenstand zu fuehren, der nicht
		in unbegrenzter Menge verfuegbar ist, sondern nur
		im Abstand von einem Monat wieder "aufgefuellt" wird.
		Die Zeilen bei (**) bedeuten einfach: Fuer jeden
		vollen Monat seit dem letzten Besuch wird die
		Anzahl des Spezialgegenstandes um 1 erhoeht.

	Hinweis: Hiermit kann man seltene Gegenstaende verfuegbar
		machen, sie aber gleichzeitig doch beschraenken.
		Z.B. kann man den Maximalbestand auf 1 setzen und
		erreicht damit, dass - egal wie lange der Zeitraum
		zwischen den Besuchen war - immer nur maximal ein Stueck
		dieses speziellen Gegenstands vorhanden ist.


EP erhalten  (AFT_EP_ERHALTEN)
	Ist der eingegebene Merker beim Betreten des Feldes schon gesetzt?
	Falls ja  : Es passiert nichts
	Falls nein: Falls gewuenscht wird ein Text ausgegeben
		    Der Merker wird gesetzt und an die Gruppe werden
		    die eingegebenen Erfahrungspunkte verteilt


Gegenstand erhalten  (AFT_GET_ITEM)
	Ist der eingegebene Merker beim Betreten des Feldes schon gesetzt?
	Falls ja  : Es passiert nichts
	Falls nein: Falls gewuenscht wird ein Text ausgegeben
		    Der Merker wird gesetzt und die Gruppe
		    erhaelt den Gegenstand

	   Es ist nun ausserdem moeglich, eine Grafik auszuwaehlen, die
	   an der Stelle des Aktionsfeldes angezeigt wird, nachdem der
	   Gegenstand aufgehoben wurde - Hiermit kann man das Aufheben des
	   Gegenstandes nachvollziehen.


Sesam  (AFT_SESAM)
	Dieses Aktionsfeld beeinflusst ein Feld der aktuellen Karte,
	dessen Koordinaten man eingibt.

	Bei Betreten des Feldes wird die festgelegte Merkervariable
	abgefragt.
	Je nach dem, ob die Variable gesetzt ist oder nicht, wird auf
	dem Zielfeld das entsprechende Element gesetzt.


	HINWEIS:
	Hiermit kann man den "Sesam oeffne dich" erzeugen.

	Seien die * Waende und hat man folgende Karte:

		*******
		*
		*
		*

	Dann setzt man die Aktionsfelder so:

		**2****
	       3#1
		*
		*

	1 = AFT_SESAM
		das mit # markierte Feld ist betroffen und wird je
		nach Zustand des Merkers x in eine Wand oder eine
		Wiese verwandelt.
	2 = AFT_GESPRAECH
		Sagt man in diesem Gespraech "Sesam", dann wird
		der Merker x gesetzt

	3 = AFT_UNSET
		Dieses Aktionsfeld loescht den Merker x - somit wird
		beim Verlassen der Hoehle beim Ueberqueren des
		Aktionsfeldes 1 die Wand wieder geschlossen.
