blob: e18fe688de254e60ae1f08a089ac62fbd1b27285 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001HitFunc()
Zesstra953f9972017-02-18 15:37:36 +01002*********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 int HitFunc(object enemy);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 eigenen Objekten, fuer /std/weapon/combat.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 enemy
21 Der Gegner, gegen den die Waffe eingesetzt wird.
MG Mud User88f12472016-06-24 23:31:02 +020022
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra953f9972017-02-18 15:37:36 +010024BESCHREIBUNG
25============
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027 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
31
32RUeCKGABEWERT
33=============
34
35 Der Schadensbonus bzw. der Abschlag.
36
37
38BEMERKUNGEN
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
52
53BEISPIELE
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;
MG Mud User88f12472016-06-24 23:31:02 +020068 }
Zesstra953f9972017-02-18 15:37:36 +010069 ::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 }
MG Mud User88f12472016-06-24 23:31:02 +020076
Zesstra953f9972017-02-18 15:37:36 +010077 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 */
MG Mud User88f12472016-06-24 23:31:02 +020082
Zesstra953f9972017-02-18 15:37:36 +010083 return 0; /* ansonsten keinen zusaetzlichen Schaden anrichten */
84 }
MG Mud User88f12472016-06-24 23:31:02 +020085
Zesstra953f9972017-02-18 15:37:36 +010086
87SIEHE AUCH
88==========
89
90 QueryDefend(), /std/weapon.c
91 TakeFlaw()
92
MG Mud User88f12472016-06-24 23:31:02 +02009311.08.2007, Zesstra