Virtuelle Items / Objekte
=========================

Um ein Objekt genauer beschreiben zu koennen, gibt es einerseits Details an
diesem Objekt.

Andererseits gibt es sog. virtuelle Items (vItems), die detaillierter als
einfache Details beschrieben werden koennen (z.B. mit Geschlecht, Material
etc.), ohne wirklich als normales Objekt im Raum zu liegen. Sie koennen auch
eigene Details (alle Sinne) haben und sogar selber vItems enthalten. Die
vItems werden von untersuche behandelt wie normale Objekte und sind sogar
als Referenzobjekt nutzbar.

Auf Wunsch koennen sie so konfiguriert werden, dass ein vItem nehmbar ist.
Das vItem im Raum und das genommene im Spielerinventar koennen hierbei sogar
unterschiedlich beschrieben sein. Auf diese Weise koennen nehmbare Objekte im
Raum erzeugt werden, die nicht staendig im Raum rumliegen.

Die vItems koennen dabei grundsaetzlich mit allen Props konfiguriert werden,
die man auch in normalen Objekten setzen kann. Allerdings werden diese Props
nicht alle genutzt bzw. sind sind nicht alle sinnvoll. Beispielsweise sind
kampfrelevante Props im Kontext von vItems bedeutungslos, ebenso solche, die
von speziellem Code genutzt werden, der nicht in /std/container enthalten
ist. (Allerdings kann beim Nehmen eines vItems durchaus ein nicht-Standard-
Objekt (Waffe/Ruestung/etc.) erzeugt werden, welches im Kampf auch ganz
normal genutzt werden kann.)

Wird in einem vItem eine Blueprint angegeben, dient diese auch als Vorlage
(Templat), aus der ggf. Properties abgefragt werden, welche nicht im vItem
selbst angegeben sind.

Das Nehmen von vItems ist moeglich, wenn eine Blueprint eingetragen ist,
welche dann geclont werden kann. Hierbei muss man sich dann auch nicht mehr
selber darum kuemmern, ob der Spieler das Objekt tragen kann (und es ggf.
wieder zerstoeren). Die Funktionen von put_and_get.c verarbeiten vItems,
sofern es ein passendes gibt.
Nach dem Nehmen eines vItems ist dieses standardmaessig bis zum naechsten
Reset "weg", d.h. nicht mehr nehmbar (clonbar) und wird auch nicht mehr
gefunden bei untersuche & Co. Fuer den Reset von vItems sind vergleichbare
Einstellung wie bei AddItem() moeglich.

Interagiert Code mit einem vItem, welcher ein Objekt benoetigt, wird
on-the-fly ein Objekt erzeugt. Ist es ein vItem mit Blueprint, wird diese
geclont und mit den konfigurierten Properties des vItems konfiguriert.
Anderenfalls wird ein Proxyobjekt erzeugt und mit den Properties des vItems
konfiguriert, in welchem z.B. lfuns gerufen werden koennen. Hierbei ist das
Proxyobjekt allerdings immer vom Typ /std/container.

Ein vItem mit Blueprint benutzt (intern) einen Shadow, um Unterschiede
zwischen dem realen Objekt des vItems ("genommener Zustand") und dem vItem im
Raum zu ermoeglichen.

Interaktion mit bug/typo/etc.
-----------------------------

Hat das vitem ein Templat, wird wie gehabt an diesem der Eintrag vorgenommen,
als waere dieses Objekt im Raum.

Hat es kein Templat, wird der Eintrag an dem Objekt vorgenommen, der es
geclont hat. Das wird in aller Regel der Raum/Container sein, der das vItem
beinhaltet.

