Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/lfun/check_restrictions b/doc/lfun/check_restrictions
index 2c815cd..e173e8f 100644
--- a/doc/lfun/check_restrictions
+++ b/doc/lfun/check_restrictions
@@ -1,149 +1,202 @@
+
check_restrictions()
-FUNKTION:
- string check_restrictions(object pl, mapping restr)
+********************
-DEFINIERT IN:
- /std/restriction_checker.c
-ARGUMENTE:
- object pl geprueftes Lebewesen
- mapping restr Mapping mit Restriktionen, s.u.
+FUNKTION
+========
-BESCHREIBUNG:
- Die Methode wird verwendet, um Restriktionen (zum Beispiel fuer das
- Casten eines Spells) zu pruefen. Sie wird von Spellbook und
- Gildenobjekt direkt genutzt.
+ string check_restrictions(object pl, mapping restr)
- Ihr wird dabei ein Spielerobjekt sowie ein Mapping mit den jeweiligen
- Restriktionen uebergeben. Die aktuell moeglichen Keys des Mappings sind
- weiter unten gelistet.
-BEMERKUNGEN:
- Es wird bei der Rasse P_REAL_RACE geprueft. Der Tarnhelm funktioniert
- also nicht.
+DEFINIERT IN
+============
- Bei Erweiterungsvorschlaegen wendet euch bitte an einen EM oder
- inheritet im Zweifelsfall nach Absprache.
- NIEMALS solchen Code einfach KOPIEREN. Spaeter muss nur irgendwer
- eurem alten Code hinterherraeumen.
+ /std/restriction_checker.c
+
+
+ARGUMENTE
+=========
+
+ object pl geprueftes Lebewesen
+ mapping restr Mapping mit Restriktionen, s.u.
+
+
+BESCHREIBUNG
+============
+
+ Die Methode wird verwendet, um Restriktionen (zum Beispiel fuer das
+ Casten eines Spells) zu pruefen. Sie wird von Spellbook und
+ Gildenobjekt direkt genutzt.
+
+ Ihr wird dabei ein Spielerobjekt sowie ein Mapping mit den jeweiligen
+ Restriktionen uebergeben. Die aktuell moeglichen Keys des Mappings sind
+ weiter unten gelistet.
+
+
+BEMERKUNGEN
+===========
+
+ Es wird bei der Rasse P_REAL_RACE geprueft. Der Tarnhelm funktioniert
+ also nicht.
+
+ Bei Erweiterungsvorschlaegen wendet euch bitte an einen EM oder
+ inheritet im Zweifelsfall nach Absprache.
+ NIEMALS solchen Code einfach KOPIEREN. Spaeter muss nur irgendwer
+ eurem alten Code hinterherraeumen.
Aktuelle Liste der pruefbaren Parameter:
- P_LEVEL
+ P_LEVEL
Mindeststufe, die das Lebewesen besitzen muss, um die Aktion
auszufuehren.
- P_GUILD_LEVEL
- Gildenlevel, das das Lebewesen mindestens erreicht haben muss, um die
- Aktion auszufuehren.
- SR_SEER
- Ist gesetzt, wenn das Lebewesen Seher sein muss.
- Auswertung nur fuer Interactives, NSC ignorieren das Flag.
- P_XP
- Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen muss,
+
+ P_GUILD_LEVEL
+ Gildenlevel, das das Lebewesen mindestens erreicht haben muss,
um die Aktion auszufuehren.
- P_QP
+
+ SR_SEER
+ Ist gesetzt, wenn das Lebewesen Seher sein muss. Auswertung nur
+ fuer Interactives, NSC ignorieren das Flag.
+
+ P_XP
+ Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen
+ muss, um die Aktion auszufuehren.
+
+ P_QP
Mindestmenge an Abenteuerpunkten, die das Lebewesen haben muss.
- P_ALCOHOL
- Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen liegen
- muss, um die Aktion noch ausfuehren zu koennen.
- P_DRINK
+
+ P_ALCOHOL
+ Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen
+ liegen muss, um die Aktion noch ausfuehren zu koennen.
+
+ P_DRINK
Menge an Fluessigkeit, unter der der Fluessigkeitsspiegel des
Lebewesen liegen muss, um die Aktion noch ausfuehren zu koennen.
- P_FOOD
- Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel des
- Spielers liegen muss, um die Aktion noch ausfuehren zu koennen.
- P_DEAF
- Ist gesetzt, falls der Spieler nicht taub sein darf.
- P_FROG
- Ist gesetzt, falls der Spieler kein Frosch sein darf.
- P_BLIND
- Ist gesetzt, falls der Spieler nicht blind sein darf.
- Achtung: das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
- nichts mehr sehen kann. Auch andere Gruende (zum Beispiel Dunkelheit)
- koennen bewirken, dass ein Spieler nichts mehr sieht.
- A_INT, A_DEX, A_CON, A_STR
- Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren zu
+
+ P_FOOD
+ Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel
+ des Spielers liegen muss, um die Aktion noch ausfuehren zu
koennen.
- SR_BAD, SR_GOOD
- Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein Charakter sein
- darf, um eine Aktion ausfuehren zu koennen.
- SR_MIN_SIZE, SR_MAX_SIZE
- Gibt die minimale, bzw. die maximale Groesse an, die ein Charakter
- maximal haben darf, um eine Aktion ausfuehren zu koennen.
- SR_FREE_HANDS
+
+ P_DEAF
+ Ist gesetzt, falls der Spieler nicht taub sein darf.
+
+ P_FROG
+ Ist gesetzt, falls der Spieler kein Frosch sein darf.
+
+ P_BLIND
+ Ist gesetzt, falls der Spieler nicht blind sein darf. Achtung:
+ das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
+ nichts mehr sehen kann. Auch andere Gruende (zum Beispiel
+ Dunkelheit) koennen bewirken, dass ein Spieler nichts mehr
+ sieht.
+
+ A_INT, A_DEX, A_CON, A_STR
+ Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren
+ zu koennen.
+
+ SR_BAD, SR_GOOD
+ Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein
+ Charakter sein darf, um eine Aktion ausfuehren zu koennen.
+
+ SR_MIN_SIZE, SR_MAX_SIZE
+ Gibt die minimale, bzw. die maximale Groesse an, die ein
+ Charakter maximal haben darf, um eine Aktion ausfuehren zu
+ koennen.
+
+ SR_FREE_HANDS
Gibt an, wieviele freie Haende ein Charakter fuer diese Aktion
besitzen muss.
- SR_EXCLUDE_RACE
+
+ SR_EXCLUDE_RACE
Mitglieder aller in dieser Liste aufgefuehrten Rassen koennen
diese Aktion nicht ausfuehren.
- SR_INCLUDE_RACE
- Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen koennen
- diese Aktion nicht ausfuehren.
- SM_RACE
- Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese Rasse
- geltenden Einschraenkungen vorgenommen werden. Als Keys sind die
- in dieser Manpage beschriebenen Keys erlaubt, wobei SM_RACE nicht
- rekursiv ausgewertet wird.
- Der Rassenname ist gross geschrieben und "*" steht fuer alle Rassen.
- SR_EXCLUDE_GUILD
- SR_INCLUDE_GUILD
- Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier Gilden
- genannt werden.
- SR_FUN
+
+ SR_INCLUDE_RACE
+ Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen
+ koennen diese Aktion nicht ausfuehren.
+
+ SM_RACE
+ Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese
+ Rasse geltenden Einschraenkungen vorgenommen werden. Als Keys
+ sind die in dieser Manpage beschriebenen Keys erlaubt, wobei
+ SM_RACE nicht rekursiv ausgewertet wird. Der Rassenname ist
+ gross geschrieben und "*" steht fuer alle Rassen.
+
+ SR_EXCLUDE_GUILD SR_INCLUDE_GUILD
+
+ Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier
+ Gilden genannt werden.
+
+ SR_FUN
Hier kann eine Funktion in verschiedenen Formen zum Pruefen der
- Restriktionen angegeben werden, siehe execute_anything().
- Das kann nuetzlich sein, um andere Restriktionen zu pruefen,
- wie das Bestehen von Miniquests oder andere Faehigkeiten/Flags.
- Ist der Test nicht bestanden, gibt die Funktion einen String zurueck.
- SR_PROP
- Hier kann ein Mapping mit Properties und zugehoerigen Werten angegeben
- werden, die jeweils auf Identitaet geprueft werden. Zusaetzlich sollte
- eine Meldung angegeben werden, die als Fehlermeldung ausgegeben wird,
- wenn der Spieler die Bedingung nicht erfuellt. Es sollte immer eine
- passende Meldung fuer den Spieler eingebaut werden. Beispiel:
- ([ SR_PROP: ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
- "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn Du "
- "Dich als wuerdig erwiesen hast!"]) ])
- Aufgrund der Meldung wird empfohlen, SR_PROP nicht in Restriktionen
- einzusetzen, die massenweise in Savefiles landen (z.B.
- Spielersavefiles).
- SR_QUEST
- Hier kann ein String-Array mit den Namen (Keys) der Quest(s) angegeben
- werden, die der Spieler bestanden haben muss, um die Aktion ausfuehren
- zu koennen.
- SQ_MINIQUEST
- Hier kann entweder ein String-Array mit den Ladenamen der vergebenden
- Objekte oder ein Int-Array mit den Index-Nummern (IDs) der
- Miniquest(s) (empfohlen!) angegeben werden, die der Spieler bestanden
- haben muss, um die Aktion ausfuehren zu koennen.
+ Restriktionen angegeben werden, siehe execute_anything(). Das
+ kann nuetzlich sein, um andere Restriktionen zu pruefen, wie das
+ Bestehen von Miniquests oder andere Faehigkeiten/Flags. Ist der
+ Test nicht bestanden, gibt die Funktion einen String zurueck.
-BEISPIELE:
- // #1 Levelbeschraenkung in der Abenteurergilde
- AddSpell("feuerball",20,
- ([SI_SKILLRESTR_LEARN:([P_LEVEL:15]), ...
+ SR_PROP
+ Hier kann ein Mapping mit Properties und zugehoerigen Werten
+ angegeben werden, die jeweils auf Identitaet geprueft werden.
+ Zusaetzlich sollte eine Meldung angegeben werden, die als
+ Fehlermeldung ausgegeben wird, wenn der Spieler die Bedingung
+ nicht erfuellt. Es sollte immer eine passende Meldung fuer den
+ Spieler eingebaut werden. Beispiel: ([ SR_PROP:
+ ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
- // #2 Glaubenstest im Klerus
- AddSpell("bete",
- ([SI_SKILLRESTR_LEARN: ([P_GUILD_LEVEL : LVL_NOVIZE,
- SR_FUN : #'glaubensTest ]), ...
- // mit
- static string glaubensTest(object pl) {
- if (pl->QueryProp(K_STRENGTH) < 8000)
- return ("Deine Glaubensstaerke laesst zu wuenschen uebrig!\n");
- return 0;
- }
+ "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn
+ Du " "Dich als wuerdig erwiesen hast!"]) ])
- // #3 SM_RACE-Modifikation der Restriktionen:
- // haertere Restriktionen fuer Zwerge
- // - hoeheres Level
- // - zusaetzlich A_STR pruefen
- ([P_LEVEL:15,
- A_INT:10,
- SM_RACE: (["Zwerg": ([P_LEVEL:17, A_STR:20])])])
- // ist identisch zu
- ([SM_RACE: (["*": ([P_LEVEL:15, A_INT:10]),
- "Zwerg": ([P_LEVEL:17, A_INT:10, A_STR:20])])])
+ Aufgrund der Meldung wird empfohlen, SR_PROP nicht in
+ Restriktionen einzusetzen, die massenweise in Savefiles landen
+ (z.B. Spielersavefiles).
-SIEHE AUCH:
- execute_anything(L), AddSpell (Gilde), P_RESTRICTIONS
+ SR_QUEST
+ Hier kann ein String-Array mit den Namen (Keys) der Quest(s)
+ angegeben werden, die der Spieler bestanden haben muss, um die
+ Aktion ausfuehren zu koennen.
-03. Januar 2014, Arathorn
+ SQ_MINIQUEST
+ Hier kann entweder ein String-Array mit den Ladenamen der
+ vergebenden Objekte oder ein Int-Array mit den Index-Nummern
+ (IDs) der Miniquest(s) (empfohlen!) angegeben werden, die der
+ Spieler bestanden haben muss, um die Aktion ausfuehren zu
+ koennen.
+
+
+BEISPIELE
+=========
+
+ // #1 Levelbeschraenkung in der Abenteurergilde
+ AddSpell("feuerball",20,
+ ([SI_SKILLRESTR_LEARN:([P_LEVEL:15]), ...
+
+ // #2 Glaubenstest im Klerus
+ AddSpell("bete",
+ ([SI_SKILLRESTR_LEARN: ([P_GUILD_LEVEL : LVL_NOVIZE,
+ SR_FUN : #'glaubensTest ]), ...
+ // mit
+ static string glaubensTest(object pl) {
+ if (pl->QueryProp(K_STRENGTH) < 8000)
+ return ("Deine Glaubensstaerke laesst zu wuenschen uebrig!\n");
+ return 0;
+ }
+
+ // #3 SM_RACE-Modifikation der Restriktionen:
+ // haertere Restriktionen fuer Zwerge
+ // - hoeheres Level
+ // - zusaetzlich A_STR pruefen
+ ([P_LEVEL:15,
+ A_INT:10,
+ SM_RACE: (["Zwerg": ([P_LEVEL:17, A_STR:20])])])
+ // ist identisch zu
+ ([SM_RACE: (["*": ([P_LEVEL:15, A_INT:10]),
+ "Zwerg": ([P_LEVEL:17, A_INT:10, A_STR:20])])])
+
+
+SIEHE AUCH
+==========
+
+ execute_anything(L), AddSpell (Gilde), P_RESTRICTIONS
+
+3. Januar 2014, Arathorn