blob: 2fb9b79954ccd268d2fcd9c0418ab8f310314c30 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002HitFunc()
Zesstra953f9972017-02-18 15:37:36 +01003*********
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 int HitFunc(object enemy);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 eigenen Objekten, fuer /std/weapon/combat.c
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 enemy
22 Der Gegner, gegen den die Waffe eingesetzt wird.
MG Mud User88f12472016-06-24 23:31:02 +020023
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025BESCHREIBUNG
26============
MG Mud User88f12472016-06-24 23:31:02 +020027
Zesstra953f9972017-02-18 15:37:36 +010028 Die Waffe kann anhand des Gegners enemy entscheiden, ob ein
29 Schadensbonus oder auch ein Schadensmalus wirksam wird. Dieser Bonus
30 wird zu dem normalen Schaden der Waffe hinzuaddiert.
31
32
33RUeCKGABEWERT
34=============
35
36 Der Schadensbonus bzw. der Abschlag.
37
38
39BEMERKUNGEN
40===========
41
42 Wenn durch den Bonus die Genehmigungsgrenzen der Balance
43 ueberschritten werden koennen, muss man seinen Regionsmagier und
44 die Objekt-Balance konsultieren!
45
46 Werte der HitFunc sollten immer ueber ein random() zurueckgegeben
47 werden!
48
49 Diese Funktion sollte die Waffe nicht zerstoeren! Falls ihr im Kampf eine
50 Waffe (ggf. in Abhaengigkeit vom Gegner) zerstoeren wollt, nutzt dazu
51 bitte TakeFlaw().
52
53
54BEISPIELE
55=========
56
57 Eine Waffe, die gegen Orks besonders gut wirkt:
58
59 inherit "std/weapon";
60
61 #include <properties.h>
62 #include <combat.h>
63 #include <class.h>
64
65 create(){
66 if(!clonep(this_object())) {
67 set_next_reset(-1);
68 return;
MG Mud User88f12472016-06-24 23:31:02 +020069 }
Zesstra953f9972017-02-18 15:37:36 +010070 ::create();
71 /*
72 zig SetProp's, um die Waffe zu konfigurieren
73 HitFunc() ist in der Waffe selbst definiert
74 */
75 SetProp(P_HIT_FUNC, this_object());
76 }
MG Mud User88f12472016-06-24 23:31:02 +020077
Zesstra953f9972017-02-18 15:37:36 +010078 int HitFunc(object enemy)
79 {
80 /* laesst sich der Gegner als Ork ansprechen? */
81 if (enemy->is_class_member(CL_ORC))
82 return random(10+random(50)); /* Ja => Schaden erhoehen */
MG Mud User88f12472016-06-24 23:31:02 +020083
Zesstra953f9972017-02-18 15:37:36 +010084 return 0; /* ansonsten keinen zusaetzlichen Schaden anrichten */
85 }
MG Mud User88f12472016-06-24 23:31:02 +020086
Zesstra953f9972017-02-18 15:37:36 +010087
88SIEHE AUCH
89==========
90
91 QueryDefend(), /std/weapon.c
92 TakeFlaw()
93
MG Mud User88f12472016-06-24 23:31:02 +02009411.08.2007, Zesstra