DoDecayMessage()
****************


FUNKTION
========

   protected void DoDecayMessage(int oldamount, int zerfall);


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

   /std/unit.c


ARGUMENTE
=========

   oldamount (int)
      Menge vor dem Zerfall
   zerfall (int)
      jetzt zerfallende Menge


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

   Diese Funktion wird von DoDecay() gerufen und gibt die Standardmeldungen
   beim Zerfall von Unitobjekten aus.
   Hierbei ist an der Unit noch alles unveraendert, wenn diese Funktion
   gerufen wird, die Reduktion von P_AMOUNT erfolgt direkt im Anschluss.
   Die Funktion wird nicht gerufen, wenn DoDecay() mit silent!=0 gerufen
   wird.


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

   Will man nicht die Standardzerfallsmeldungen (wovon ich meist ausgehe),
   kann man diese Funktion ueberschreiben und eigene Meldungen erzeugen.


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

   unit
   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA,
   P_UNIT_DECAY_MIN
   DoDecay()
   /std/unit.c

14.10.2007, Zesstra
