
QueryDamage()
*************


FUNKTION
========

   int QueryDamage(object enemy);


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

   /std/weapon/combat.c


ARGUMENTE
=========

   enemy
        Der Gegner, gegen den die Waffe eingesetzt wird.


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

   Dies ist die zentrale Funktion der Waffe. Sie wird in jeder Kampfrunde
   von Attack() aus aufgerufen und gibt den Schaden zurueck, den der
   Gegner abwehren muss.

   In den Schaden gehen sowohl die Staerke der Waffe als auch die Staerke
   des Traegers der Waffe ein.

   Wurde eine HitFunc() angegeben, so wird diese mit den gleichen
   Parametern wie QueryDamage() aufgerufen.


RUeCKGABEWERT
=============

   Die Staerke des Schlages fuer diese Kampfrunde. Sie ermittelt sich als
   Zufallszahl zwischen 0 und einem Wert, der sich aus der Staerke der
   Waffe und der Staerke ihres Traegers ergibt. Das Ergebnis des
   HitFunc()-Aufrufs wird zu dieser Zahl hinzugezaehlt.


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

   Auch wenn man eine HitFunc() verwendet, darf der Rueckgabewert
   insgesamt nicht groesser als 200 werden. Im Zweifelsfall sollte
   man sich mit der zustaendigen Balance besprechen!


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

   HitFunc(), Attack(), /std/weapon.c, grenzwerte

Last modified: Fre Feb 16.02.01 12:58:00 von Tilly
