Quest (AOQML)
<quest status="QUESTSTATUS" frequency="oft|selten|rar|nie" target="SZENENNAME" note="TAGEBUCHNOTIZ"/>
Setzt den Status des Quests und gibt damit die weitere Bearbeitung vor. Zu jeder Quest ist genau ein Tagebucheintrag möglich. Dieser sollte bei Status ended oder pending vorgenommen werden.
Inhaltsverzeichnis
status="xyz"
An Stelle von "xyz" wird einer der Stati angegeben:
"rejected"
Hiermit wird dem Helden das Quest verwehrt, z.B. weil er bestimmte Anforderungen nicht erfüllt. Dieser Status darf nur in der Startszene gesetzt werden. Die Szene wird dann gar nicht erst angezeigt.
"running"
Hiermit wird ein Quest gestartet. Praktisch wird ein persistenter Speicherbereich für die szenenübergreifenden Variablen des Quests angelegt. Während ein Quest im Status "running" ist, kann man auch nicht außerhalb des Quests den Ort wechseln, keine Arbeit annehmen etc. Dieser Status wird üblicherweise ganz am Anfang der Startszene gesetzt.
"pending"
Damit wird das Quest temporär unterbrochen und beim nächsten Laden der Hauptseite an dieser Stelle fortgesetzt. In der Regel prüft man Bedingungen bevor ein Quest pausiert wird, damit es nur bei deren Erfüllung fortgesetzt wird. Das quest-Tag verfügt über das optionale Attribut target. Nur im Status pending wird das Attribut target ausgewertet. Es gibt an, mit welcher Szene das Quest fortgesetzt werden soll.
ACHTUNG Stolperfallen:
- Sobald eine Szene mit pending abgeschlossen wird, darf der Benutzer wieder alle normalen Spielfunktionen ausüben.
- So könnte sich z.B. eine Reisegruppe unterwegs auflösen. Deshalb sollte das Attribut 'anzahl_gruppenmitglieder' auf 0 geprüft, und entsprechend reagiert werden.
- Weiterhin wird die Szene jedesmal wieder aktiv ausgewertet, um auf veränderte Bedingungen reagieren zu können. Damit wird die Szene bei einem Neuladen nicht aus dem Cache geladen sondern immer wieder neu ausgeführt. Deshalb sollte man es in einer pending-Szene tunlichst vermeiden, Items oder EPs zu verteilen!
"ended"
Dieser Status wird gesetzt, wenn das Quest beendet wurde und wiederholbar sein soll. Dabei ist es egal, ob es erfolgreich oder erfolglos beendet wurde. Alle Quest-Variablen werden dabei gelöscht.
"continue"
Bricht den Rest der Seitenausgabe ab und fährt mit dem Quest fort.
""
Dieser Status wird ausschließlich intern verwendet und ist für Zufallsbegegnungen reserviert. Am Ende einer ZB wird dieser Status automatisch gesetzt. Alle Quest-Variablen und der Quest-Status werden dabei gelöscht.
Veraltete Status
In älteren Questen trifft man vielleicht noch auf "finished", "failed" oder "aborted". Diese sollen nicht mehr benutzt werden -> in den meisten Fällen tut es "ended".
frequency="oft|selten|rar|nie"
Dieses Attribut bestimmt die Wahrscheinlichkeit einer Questwiederholung. Es sollte bei jedem Questende (status=ended) mit angegeben werden, falls es nicht angegeben wurde, entspricht das der Häufigkeit oft.
- oft: Quest kann oftmals auftreten (selbe Wahrscheinlichkeit wie vor dem ersten Questaufruf des Helden)
- selten: Quest tritt nur noch selten wieder auf
- rar: Quest tritt nur noch sehr selten wieder auf
- nie: Quest tritt nie wieder auf -> für den Helden nicht wieder zugänglich
note="TEXT"
Der Inhalt von note bestimmt den zur Quest dazugehörigen Tagebucheintrag im Heldentagebuch. Er sollte aus dem Blickwinkel des Spielcharakters verfasst sein. Erneutes Setzen eines Eintrages überschreibt den vorherigen Eintrag.
target="Szenenname"
Dieses Attribut ist optional. Nur im Status pending wird es ausgewertet. Es gibt an, mit welcher Szene das Quest fortgesetzt werden soll. Wird es nicht angegeben, wird das pausierte Quest mit der Szene, in der es pausiert wurde, fortgesetzt.