AddAmount()
===========

FUNKTION
--------
::

     void AddAmount(int menge);

DEFINIERT IN
------------
::

     /std/unit.c

ARGUMENTE
---------
::

     menge
          Die Menge, die der Unit hinzugefuegt werden soll (kann auch
          negativ sein).

BESCHREIBUNG
------------
::

     menge wird zur aktuellen Menge hinzugezaehlt. Sollte das Ergebnis 0
     werden, wird die Unit in absehbarer Zeit zerstoert.

RUeCKGABEWERT
-------------
::

     keiner

SIEHE AUCH
----------
::

     /std/unit.c
     :doc:`../P_AMOUNT`


