
P_MIN_STOCK
***********


NAME
====

   P_MIN_STOCK                     "min_stock"


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

   /sys/bank.h


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

   P_MIN_STOCK enthaelt die Anzahl an Objekten, die ein Lager eines
   Ladens minimal behaelt. Standardmaessig entspricht dies 20 Objekten
   und sollte auch nicht wesentlich erhoeht werden. Nur fuer
   Anfaengergebiete waeren Werte zwischen 20 und 60 akzeptabel. In die
   Berechnung der Anzahl von Objekten gehen keine Objekte ein, die im
   Laden mittels AddFixedObject() staendig verfuegbar gemacht worden
   sind und auch keine Objekte, die per AddItem() im Lager hinzugefuegt
   wurden und nach jedem Reset aufgefrischt werden.
   Bei jedem Reset wird nun aus Speicher- und Laggruenden das Lager um
   eine bestimmte Prozentzahl an Objekten dezimiert. Entscheidend
   dafuer ist der Wert in der Property P_STORE_CONSUME.
   Beide hier erwaehnten Properties sollten ueberigens nur mittels
   QueryProp/SetProp ausgelesen bzw. veraendert werden.


BEISPIEL
========

   In '/std/store.c' befindet sich bereits ein gutes Beispiel, da dort
   der Standardwert von 20 Objekten bereitgestellt wird:
     create()
     { ...
       SetProp(P_MIN_STOCK,20);
     }
   Diesen Wert kann man in einem davon abgeleiteten eigenen Lager
   natuerlich auch veraendern.


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

   P_STORE_CONSUME, SetStorageRoom(), /std/store.c, /std/shop.c
   AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()

Last modified: 19-Jun-2015, Arathorn
