InsertEnemy()
=============

gefunden : lfun/InsertEnemy

FUNKTION
--------
::

        int InsertEnemy(object enemy)

        

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

        /std/living/combat.c

        

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

        enemy: Das Lebewesen, das angegriffen werden soll.

        

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

        Nach Aufruf der Funktion wird das Wesen in die Liste der Feinde
        aufgenommen.
        In jedem heart_beat() wird dann ein anwesender Feind
        angegriffen.

        

RUECKGABEWERT
-------------
::

        0, falls der Feind nicht existiert, kein Lebewesen ist, ein Geist ist, 
           oder im Gegner P_NO_ATTACK gesetzt ist, oder schon angegegriffen 
           wurde
        1  sonst

        

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

        Kill, IsEnemy, StopHuntFor, P_NO_ATTACK

LETZTE AENDERUNG
----------------
::

26.08.2010, Zesstra

