blob: 91c6bc82ee084818d09b7745a90525bdca9c61e4 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2do_damage()
3***********
4
MG Mud User88f12472016-06-24 23:31:02 +02005do_damage(L)
MG Mud User88f12472016-06-24 23:31:02 +02006
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008FUNKTION
9========
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011 int do_damage(int dam,mixed enemy);
MG Mud User88f12472016-06-24 23:31:02 +020012
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014DEFINIERT IN
15============
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017 /std/living/life.c
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019
20ARGUMENTE
21=========
22
23 int dam
24 Die abzuziehenden Lebenspunkte (HP).
25 object enemy
26 Das Objekt, welches den Schaden zufuegt.
27
28
29BESCHREIBUNG
30============
31
32 Dem Lebewesen werden <dam> HP abgezogen. Falls weniger als 0 HP uebrig
33 bleiben, so stirbt es automatisch mittels die().
34 Ein Lebewesen, welches sich bewegt hat, trifft die ersten Kampfrunden
35 sehr viel schlechter, um Rein-Raus-Attacken zu verhindern. Dieses
36 Vorgehen kann man mittels P_ENABLE_IN_ATTACK_OUT deaktivieren.
37 Lebewesen, welche P_NO_ATTACK gesetzt haben, kann man mit dieser
38 Funktion nicht schaden.
39
40
41RUeCKGABEWERT
42=============
43
44 Der tatsaechlich verursachte Schaden.
45
46
47BEMERKUNGEN
48===========
49
50 Beim Gegner <enemy>, falls vorhanden, werden XP und ALIGN entsprechend
51 angepasst, im Opfer wird der Gegner in P_KILLER vermerkt, der Kampf wird
52 beendet.
53 Diese Funktion sollte nur selten direkt verwendet werden. Meist ist der
54 uebliche Weg ueber Defend() -> do_damage() -> die() die logisch bessere
55 und balancetechnisch guenstigere Loesung, da Defend() magische
56 Verteidigungen, die der Spieler bei sich hat beruecksichtigt.
57 Es sollte also allein schon aus Fairness gegenueber den Objekten
58 anderer Magier Defend() immer dem direkten reduce_hit_points() oder
59 do_damage() vorgezogen werden. Mittels der Flags in 'spell' kann man
60 sehr viele Parameter beeinflussen.
61
62
63SIEHE AUCH
64==========
65
66 Verwandt: Defend(L), reduce_hit_points(L), die(L)
67 Props: P_NO_ATTACK, P_ENABLE_IN_ATTACK_OUT, P_KILLER
68 P_XP, P_ALIGN
69
7023.Feb.2004 Gloinson