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 #include #include 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