blob: 40d99a2bd9732d65fd82c5759555850da3c85cd1 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002TakeFlaw()
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 varargs void TakeFlaw(object enemy); (Waffen)
10 varargs void TakeFlaw(mixed dam_types,mapping einfos) (Ruestungen)
MG Mud User88f12472016-06-24 23:31:02 +020011
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstra953f9972017-02-18 15:37:36 +010013DEFINIERT IN
14============
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016 /std/armour/combat.c,
17 /std/weapon/combat.c
MG Mud User88f12472016-06-24 23:31:02 +020018
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020ARGUMENTE
21=========
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023 keine
MG Mud User88f12472016-06-24 23:31:02 +020024
MG Mud User88f12472016-06-24 23:31:02 +020025
Zesstra953f9972017-02-18 15:37:36 +010026BESCHREIBUNG
27============
28
29 Diese Funktion wird in Waffen und Ruestungen waehrend des Kampfes
30 aufgerufen. In einer Waffe erfolgt der Aufruf bei jedem Schlag mit
31 dieser Waffe, bei Ruestungen wird TakeFlaw() in einer zufaellig
32 ausgewaehlten getragenen Ruestung aufgerufen.
33 Waffen bekommen das Gegnerobjekt uebergeben, Ruestungen die erweiterten
34 DefendInfos (s. dort fuer Details). Aufgrund dieser Informationen kann
35 man den Schaden, den ein Gegenstand nimmt, flexibler gestalten (z.B. bei
36 einer Waffe in Abhaengigkeit von P_BODY des Gegners.)
37
38 Soweit man die Funktion nicht ueberlaedt, bewirkt sie nichts weiter als
39 das Erhoehen eines Zaehlers, der mit QueryFlaw() abgefragt werden kann.
40
41
42RUeCKGABEWERT
43=============
44
45 keiner
46
47
48BEMERKUNGEN
49===========
50
51 Die Waffen-/ Ruestungsklasse wird nicht automatisch reduziert! Wenn
52 eine Waffe oder Ruestung sich abnutzen soll, muss man TakeFlaw()
53 ueberladen und dort entsprechend handeln, oder (fuer einfache
54 Faelle) die Property P_QUALITY setzen.
55
56
57BEISPIELE
58=========
59
60 Eine Waffe, deren Waffenklasse alle 20 Schlaege um 1 abnimmt:
61
62 inherit "std/weapon";
63
64 #include <properties.h>
65 #include <combat.h>
66
67 create()
68 {
69 /* Das Uebliche... */
70 }
71
72 TakeFlaw()
73 {
74 int flaw;
75
76 /* erst mal den Zaehler erhoehen... */
77 ::TakeFlaw();
78
79 /* jetzt den aktuellen Zaehlerstand abfragen */
80 flaw = QueryFlaw()[0];
81
82 /* Abzug nur jeden 20. Schlag */
83 if (!(flaw % 20)) {
84 /* So, jetzt fuer den Schaden sorgen. Hierfuer benutzt */
85 /* man am sichersten die eingebaute Funktion Damage() */
86 Damage(1);
MG Mud User88f12472016-06-24 23:31:02 +020087 }
Zesstra953f9972017-02-18 15:37:36 +010088 }
MG Mud User88f12472016-06-24 23:31:02 +020089
Zesstra953f9972017-02-18 15:37:36 +010090 Dieses einfache Beispiel haette natuerlich auch ueber ein
91 SetProp(P_QUALITY,20); im create() realisiert werden koennen.
MG Mud User88f12472016-06-24 23:31:02 +020092
MG Mud User88f12472016-06-24 23:31:02 +020093
Zesstra953f9972017-02-18 15:37:36 +010094SIEHE AUCH
95==========
MG Mud User88f12472016-06-24 23:31:02 +020096
Zesstra953f9972017-02-18 15:37:36 +010097 QueryFlaw(), Damage(), DefendInfo, P_QUIALITY, /std/armour/combat.c,
98 /std/weapon/combat.c
MG Mud User88f12472016-06-24 23:31:02 +020099
MG Mud User88f12472016-06-24 23:31:02 +0200100Last modified: Thu May 22 10:30:10 1997 by Paracelsus