QueryOpenMiniQuestsForPlayer()
******************************


FUNKTION
========

   mapping QueryOpenMiniQuestsForPlayer(object player)


DEFINIERT IN
============

   /secure/questmaster


BESCHREIBUNG
============

   Diese Funktion gibt die Liste der offenen Miniquests des Spielers als
   Mapping zurueck.


ARGUMENTE
=========

   player - das interessierende Spielerobjekt


RUECKGABEWERTE
==============

   Mapping mit der Liste der Miniquests, fuer die das abfragende Objekt
   zustaendig ist, oder leeres Mapping, wenn der Spieler keine MQs mehr
   offen hat.

   Die Liste enthaelt die Miniquestnummer als Key. Diesem sind zwei Werte
   zugeordnet: zum einen ein Miniquest-Aufgabentext, und zum anderen -
   falls der Spieler eine der Vorbedingungen fuer die Miniquest nicht
   erfuellt - ein Hinweistext, der Auskunft gibt, welche Bedingung noch
   zu erfuellen ist ("Seherstatus fehlt"). Diese Hinweistexte entsprechen
   denen aus check_restrictions() in /std/restriction_checker.c. Der
   jeweils andere Text wird auf 0 gesetzt.

   Die Struktur des Mappings ist daher folgende:
     ([ MQ-Nummer : <Aufgabenstellung> ; <Hinderungsgrund> ])



   Beispiel: ein Spieler hat die Miniquests 18 und 49 noch nicht geloest,
   erfuellt aber nur fuer Miniquest 49 die Anforderungen. Miniquest 18
   erfordert den Seherstatus. Dann saehe das Mapping so aus:
     ([ 18 : 0                    ; "Dazu musst Du erst Seher werden.\n",
        49 : "Aufgabentext_zu_49" ; 0 ])

   Jedes abfragende Objekt muss daher dieses Mapping zunaecht geeignet
   auf seinen Inhalt pruefen, um zu ermitteln, welche Meldung jeweils
   auszugeben ist.


BEMERKUNGEN
===========

   Das abfragende Objekt muss von einem Erzmagier oder Gott (z.B. dem
   zustaendigen Quest-EM) im Questmaster als zugriffsberechtigt bei den-
   jenigen Miniquests eingetragen sein, fuer die es die entsprechenden
   Miniquest-Hinweise ausgeben darf. Diese Berechtigung ist mit dem
   Quest-EM abzustimmen. Anderen Objekten wird ein leeres Mapping zurueck-
   gegeben.


SIEHE AUCH
==========

   AddMiniQuest(L), ChangeMiniQuest(L)
   P_RESTRICTIONS
   erzmagier

Last modified: 6. Juni 2014, Arathorn.
