QueryPossPronoun()
******************


FUNKTION
========

   varargs string QueryPossPronoun(mixed what, int casus, int anzahl);


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

   /std/thing/language.c


ARGUMENTE
=========

   what
        Geschlecht des Objektes, das besessen wird, oder das Objekt
        selbst.

   casus
        Der Fall, in dem das Objekt besessen wird.

   anzahl
        Handelt es sich um nur ein Objekt oder um mehrere?


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

   Diese Funktion gibt ein Possessivpronomen zurueck, das das
   Besitzverhaeltnis eines Objektes zu diesem Objekt anzeigt.


RUeCKGABEWERT
=============

   Das Possessivpronomen im entsprechenden Fall.


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

   what und casus beziehen sich auf das Objekt, welches besessen wird, und
   nicht auf den Besitzer!!!


BEISPIELE
=========

   Um eine korrekte Ausgabe beim Haendeklatschen zu erreichen, koennte man
   zB. folgende Zeile verwenden:

    printf("%s klatscht in %s Haende.\n",this_player()->name(WER),
         this_player()->QueryPossPronoun(FEMALE, WEN, PLURAL));

   FEMALE, da "die Hand" weiblich ist, WEN, da man im Akkusativ klatscht,
   und PLURAL, da man dazu beide Haende braucht.

   Ein beliebter Fehler ist es, als Fall WESSEN zu verwenden (in WESSEN
   Haende klatscht man? => in seine).
   Die richtige Frage waere aber: WEN klatscht man? (in die Haende)


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

   QueryOwn(), QueryPronoun(), /std/thing/language.c

Last modified: Wed Jan 11 13:13:35 CET 2006 by Rumata
