
ExtraAttack()
*************


FUNKTION
========

   varargs public void ExtraAttack(object enemy, int ignore_previous);


ARGUMENTE
=========

   enemy: Der Feind.
   ignore_previous: Ein Flag


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

   Der Feind wird der Staerke der Waffe (bzw. der Haende) entsprechend
   stark angegriffen. Hierbei wird Attack() aufgerufen.
   Ist ignore_previous ungleich 0, dann wird die Erstschlagsperre von
   Attack ignoriert. Dieser Angriff ist also auch dann moeglich, wenn
   das Lebewesen eigentlich keinen Schlag mehr in dieser Runde ausfuehren
   duerfte.


RUECKGABEWERT
=============

   Keiner.


BEMERKUNG
=========

   Der Einsatz dieser Funktion ist genehmigungspflichtig.
   Weitere Hinweise siehe "man Attack".


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

   "Attack"
   /std/living/combat.c

Last modified: Sun Nov 21 12:32:20 2004 by Bambi
