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 */
}