QueryUser()

FUNKTION:
     public object QueryUser()

DEFINIERT IN:
     /std/npc/combat.c
     /std/clothing/wear.c
     /std/weapon/combat.c
     alle Objekte, in denen es darueber hinaus noetig ist

ARGUMENTE:
     keine

BESCHREIBUNG:
     Liefert den aktuellen Nutzer (Lebewesen) eines Items oder NPCs.
     
     Diese Funktion wird z.B. von get_killing_player() benutzt, um
     herauszufinden, zu welchem Spieler denn das Objekt gehoert, was den
     toedlichen Schaden verursacht hat.

     Im Falle eines NPCs ist dies standardmaessig der Spieler, bei dem der
     NPC als Helfer-NPC eingetragen ist (s. RegisterHelperNPC).
     Im Falle einer Ruestung ist es das Lebewesen, welches sie gerade traegt.
     Im Falle einer Waffe ist es das Lebewesen, welches sie gerade gezueckt
     hat.
     Alle anderen Objekte enthalten keinen Default fuer diese Funktion.

RUeCKGABEWERT:
     Das nutzende Lebewesen, falls es ermittelt werden konnte, sonst 0.

BEMERKUNGEN:
     Sollte in allen Objekten definiert werden, welche Lebewesen Schaden
     zufuegen, ohne dass das verursachende Lebewesen dabei als Feind im
     Defend() angeben wird.
     Der gelieferte Nutzer muss explizit kein Spieler sein. Es waere z.B.
     moeglich, dass von einem Spieler kontrollierter NPC einen Bumerang nutzt.

BEISPIELE:
     Ein von einem Spieler beschworenes Wesen wirft einen Bumerang nach einem
     Feind.
     Dann liefert QueryUser() im Bumerang den NPC als Nutzer und
     QueryUser() im NPC wiederum den Spieler.
     
SIEHE AUCH:
     RegisterHelperNPC(), get_killer_player()
     P_WORN, P_WIELDED
----------------------------------------------------------------------------
12.11.2013, Zesstra

