blob: cf90ff076cedcf4dc6e35775d4c49f67f943cf54 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001HitFunc()
2=========
3
4FUNKTION
5--------
6::
7
8 int HitFunc(object enemy);
9
10DEFINIERT IN
11------------
12::
13
14 eigenen Objekten, fuer /std/weapon/combat.c
15
16ARGUMENTE
17---------
18::
19
20 enemy
21 Der Gegner, gegen den die Waffe eingesetzt wird.
22
23BESCHREIBUNG
24------------
25::
26
27 Die Waffe kann anhand des Gegners enemy entscheiden, ob ein
28 Schadensbonus oder auch ein Schadensmalus wirksam wird. Dieser Bonus
29 wird zu dem normalen Schaden der Waffe hinzuaddiert.
30
31RUeCKGABEWERT
32-------------
33::
34
35 Der Schadensbonus bzw. der Abschlag.
36
37BEMERKUNGEN
38-----------
39::
40
41 Wenn durch den Bonus die Genehmigungsgrenzen der Balance
42 ueberschritten werden koennen, muss man seinen Regionsmagier und
43 die Objekt-Balance konsultieren!
44
45 Werte der HitFunc sollten immer ueber ein random() zurueckgegeben
46 werden!
47
48 Diese Funktion sollte die Waffe nicht zerstoeren! Falls ihr im Kampf eine
49 Waffe (ggf. in Abhaengigkeit vom Gegner) zerstoeren wollt, nutzt dazu
50 bitte TakeFlaw().
51
52BEISPIELE
53---------
54::
55
56 Eine Waffe, die gegen Orks besonders gut wirkt:
57
58 inherit "std/weapon";
59
60 #include <properties.h>
61 #include <combat.h>
62 #include <class.h>
63
64 create(){
65 if(!clonep(this_object())) {
66 set_next_reset(-1);
67 return;
68 }
69 ::create();
70 /*
71 zig SetProp's, um die Waffe zu konfigurieren
72 HitFunc() ist in der Waffe selbst definiert
73 */
74 SetProp(P_HIT_FUNC, this_object());
75 }
76
77 int HitFunc(object enemy)
78 {
79 /* laesst sich der Gegner als Ork ansprechen? */
80 if (enemy->is_class_member(CL_ORC))
81 return random(10+random(50)); /* Ja => Schaden erhoehen */
82
83 return 0; /* ansonsten keinen zusaetzlichen Schaden anrichten */
84 }
85
86SIEHE AUCH
87----------
88::
89
90 QueryDefend(), /std/weapon.c
91 TakeFlaw()
92
9311.08.2007, Zesstra
94