blob: f43d7ccc68a9d3d19adec53fb6dbf666c63305ff [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2QueryOpenMiniQuestsForPlayer()
3******************************
4
5
6FUNKTION
7========
8
9 mapping QueryOpenMiniQuestsForPlayer(object player)
10
11
12DEFINIERT IN
13============
14
15 /secure/questmaster
16
17
18BESCHREIBUNG
19============
20
21 Diese Funktion gibt die Liste der offenen Miniquests des Spielers als
22 Mapping zurueck.
23
24
25ARGUMENTE
26=========
27
28 player - das interessierende Spielerobjekt
29
30
31RUECKGABEWERTE
32==============
33
34 Mapping mit der Liste der Miniquests, fuer die das abfragende Objekt
35 zustaendig ist, oder leeres Mapping, wenn der Spieler keine MQs mehr
36 offen hat.
37
38 Die Liste enthaelt die Miniquestnummer als Key. Diesem sind zwei Werte
39 zugeordnet: zum einen ein Miniquest-Aufgabentext, und zum anderen -
40 falls der Spieler eine der Vorbedingungen fuer die Miniquest nicht
41 erfuellt - ein Hinweistext, der Auskunft gibt, welche Bedingung noch
42 zu erfuellen ist ("Seherstatus fehlt"). Diese Hinweistexte entsprechen
43 denen aus check_restrictions() in /std/restriction_checker.c. Der
44 jeweils andere Text wird auf 0 gesetzt.
45
46 Die Struktur des Mappings ist daher folgende:
47 ([ MQ-Nummer : <Aufgabenstellung> ; <Hinderungsgrund> ])
48
49
50
51 Beispiel: ein Spieler hat die Miniquests 18 und 49 noch nicht geloest,
52 erfuellt aber nur fuer Miniquest 49 die Anforderungen. Miniquest 18
53 erfordert den Seherstatus. Dann saehe das Mapping so aus:
54 ([ 18 : 0 ; "Dazu musst Du erst Seher werden.\n",
55 49 : "Aufgabentext_zu_49" ; 0 ])
56
57 Jedes abfragende Objekt muss daher dieses Mapping zunaecht geeignet
58 auf seinen Inhalt pruefen, um zu ermitteln, welche Meldung jeweils
59 auszugeben ist.
60
61
62BEMERKUNGEN
63===========
64
65 Das abfragende Objekt muss von einem Erzmagier oder Gott (z.B. dem
66 zustaendigen Quest-EM) im Questmaster als zugriffsberechtigt bei den-
67 jenigen Miniquests eingetragen sein, fuer die es die entsprechenden
68 Miniquest-Hinweise ausgeben darf. Diese Berechtigung ist mit dem
69 Quest-EM abzustimmen. Anderen Objekten wird ein leeres Mapping zurueck-
70 gegeben.
71
72
73SIEHE AUCH
74==========
75
76 AddMiniQuest(L), ChangeMiniQuest(L)
77 P_RESTRICTIONS
78 erzmagier
79
80Last modified: 6. Juni 2014, Arathorn.