HitFunc()

FUNKTION:
     int HitFunc(object enemy);

DEFINIERT IN:
     eigenen Objekten, fuer /std/weapon/combat.c

ARGUMENTE:
     enemy
          Der Gegner, gegen den die Waffe eingesetzt wird.

BESCHREIBUNG:
     Die Waffe kann anhand des Gegners enemy entscheiden, ob ein
     Schadensbonus oder auch ein Schadensmalus wirksam wird. Dieser Bonus
     wird zu dem normalen Schaden der Waffe hinzuaddiert.

RUeCKGABEWERT:
     Der Schadensbonus bzw. der Abschlag.

BEMERKUNGEN:
     Wenn durch den Bonus die Genehmigungsgrenzen der Balance
     ueberschritten werden koennen, muss man seinen Regionsmagier und
     die Objekt-Balance konsultieren!

     Werte der HitFunc sollten immer ueber ein random() zurueckgegeben 
     werden!

     Diese Funktion sollte die Waffe nicht zerstoeren! Falls ihr im Kampf eine
     Waffe (ggf. in Abhaengigkeit vom Gegner) zerstoeren wollt, nutzt dazu
     bitte TakeFlaw(). 

BEISPIELE:
     Eine Waffe, die gegen Orks besonders gut wirkt:

     inherit "std/weapon";

     #include <properties.h>
     #include <combat.h>
     #include <class.h>

     create(){
       if(!clonep(this_object())) {
           set_next_reset(-1);
           return;
       }
       ::create();
       /* 
       zig SetProp's, um die Waffe zu konfigurieren
       HitFunc() ist in der Waffe selbst definiert 
       */
       SetProp(P_HIT_FUNC, this_object());
     }

     int HitFunc(object enemy)
     {
       /* laesst sich der Gegner als Ork ansprechen? */
       if (enemy->is_class_member(CL_ORC))
         return random(10+random(50)); /* Ja => Schaden erhoehen */

       return 0;   /* ansonsten keinen zusaetzlichen Schaden anrichten */
     }

SIEHE AUCH:
     QueryDefend(), /std/weapon.c
     TakeFlaw()
----------------------------------------------------------------------------
11.08.2007, Zesstra
