NAME:
        P_PRE_INFO                        "npc_pre_info"

DEFINIERT IN:
        /sys/npc.h

BESCHREIBUNG:
        Ist die Property in einem NPC definiert, so wird ihr Ergebnis
        ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
        
        Moegliche Werte:
        - numerischer Wert ungleich 0
          => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
             ins Leere

        - Stringwert
          => wird als Rueckgabe an den Fragenden ausgegeben, umstehende 
             Personen bekommen den Text:
            "XY ist nicht gewillt, Spieler YZ zu antworten".
            Der Fragende selbst bekommt bei angegebenem Stringwert:
            "XY " + Stringwert.

        - Closure
          => die Antwort bzw. Reaktion des NPCs obliegt ganz der 
             angegebenen Closure. Diese muss dabei einen String oder 
             Ganzzahlen-Wert zurueckgeben

BEISPIEL:
        Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
        koennte so lange Chats abschalten, z.B.

          SetProp(P_CHAT_CHANCE,0); // NPC latscht los
        
        Und eine Weile spaeter:
        
          SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
        
        Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
        soll er auch keinerlei Fragen beantworten:
          
          Set(P_PRE_INFO, function mixed () {
            return (QueryProp(P_CHAT_CHANCE) ? 0 : 
              "hat gerade keine Zeit fuer Dich."); 
            }, F_QUERY_METHOD);

HINWEISE:
        Bitte beachten, dass der interne Name der Property "npc_pre_info" 
        ist und somit nur das Ueberschreiben von _query_npc_pre_info() 
        funktioniert. 

SIEHE AUCH:
        AddInfo(), /std/npc/info.c

----------------------------------------------------------------------------
Last modified: 01.03.2016 by Arathorn
