Identify()
==========

FUNKTION
--------
::

     void Identify(object ob);

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

     /std/corpse.c

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

     ob
          Das kuerzlich nach langem, hartem Kampf verstorbene Objekt.

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

     In dieser Funktion werden Lang- und Kurzbeschreibung der Leiche gesetzt
     sowie die Verwesung in Gang gesetzt.

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

     keiner

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

     /std/corpse.c


Last modified: Wed May 8 10:19:57 1996 by Wargon

