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