NAME:
    U_REQ                         "u_req"

DEFINIERT IN:
    /sys/unit.h

BESCHREIBUNG:
     Die Prop kann in Unitobjekten gesetzt werden.
     Sie gibt die Anzahl der Einheiten an, die an der Unit manipuliert werden
     sollen, falls mit weniger als P_AMOUNT umgegegangen werden soll.
     
     Die Prop wird automatisch gesetzt, wenn id() an einem Unitobjekt gerufen
     wird und die ID grundsaetzlich zutreffend ist, die aus der ID ermittelte
     Zahl aber kleiner als P_AMOUNT ist.
     Sie kann auch manuell mittel SetProp() (aber nicht Set()) gesetzt werden.

     U_REQ wird beim Bewegen und Zerstoeren, bei Ermittlung von Wert und
     Gewicht beruecksichtigt.

     U_REQ wird vom Unitobjekt automatisch wieder auf P_AMOUNT gesetzt, wenn
     sich query_verb() oder debug_info(DINFO_EVAL_NUMBER) veraendert haben.
     (DINFO_EVAL_NUMBER ist eine Zahl, die sich jedesmal erhoeht, wenn der
      Driver eine neue Berechnung/Ausfuehrung beginnt. Diese Nummer wird fuer
      jeden vom driver initiierten Aufruf von LPC-Code erhoeht, z.B. bei jedem
      Kommando, call_out, heart_beat etc. Details s. debug_info().)

     Ebenso wird U_REQ bei der Vereinigung mit einem anderen (gleichen)
     Objekt auf P_AMOUNT des vereinigten Objektes gesetzt.


BUGS
    Viele. Dies ist ein uebler Hack. Geht aber nicht ohne.
    Diese Prop war endlos lang gar nicht dokumentiert. Hier beschrieben ist
    das Verhalten, was zur Zeit vorliegt. Dies mag unterschiedlich zu dem
    irgendwann intendierten sein.


BEISPIELE
    object o = clone_object("unitobjekt");
    o->SetProp(P_AMOUNT, 100);   // ab jetzt hat o 100 Einheiten.
    o->move(npc, M_GET);         // ob mit 100 Einheiten wird bewegt
    o->SetProp(U_REQ, 50);
    o->move(anderernpc, M_GIVE); // 50 Einheiten werden bewegt, 50 verbleiben
    (Technisch: das Objekt wird auf 50 Einheiten geaendert, bewegt und in der
     alten Umgebung wird ein neues Objekt mit 50 Einheiten erzeugt.)

    o->SetProp(U_REQ, 42);
    o->remove(1);               // 42 Einheiten von den 50 werden zerstoert.
    (Technisch: P_AMOUNT wird einfach um U_REQ reduziert.)

    # gib 18 muenzen an blupp
    Hierbei wird ob->id("18 muenzen") gerufen, was U_REQ im Geldobjekt auf 18
    setzt. Bei der Bewegung bekommt blupp daher das Objekt mit P_AMOUNT==18
    und der Rest wird im Abgebenden neu erzeugt.
    # gib geld an flubbel
    Das U_REQ aus dem verherigen Kommando ist jetzt nicht mehr gueltig. Zwar
    ist es das gleiche Kommandoverb, aber DINFO_EVAL_NUMBER ist jetzt
    anders.


ZULETZT GEAeNDERT:
16.01.2015, Zesstra

