| |
| do_damage() |
| *********** |
| |
| do_damage(L) |
| |
| |
| FUNKTION |
| ======== |
| |
| int do_damage(int dam,mixed enemy); |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /std/living/life.c |
| |
| |
| ARGUMENTE |
| ========= |
| |
| int dam |
| Die abzuziehenden Lebenspunkte (HP). |
| object enemy |
| Das Objekt, welches den Schaden zufuegt. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Dem Lebewesen werden <dam> HP abgezogen. Falls weniger als 0 HP uebrig |
| bleiben, so stirbt es automatisch mittels die(). |
| Ein Lebewesen, welches sich bewegt hat, trifft die ersten Kampfrunden |
| sehr viel schlechter, um Rein-Raus-Attacken zu verhindern. Dieses |
| Vorgehen kann man mittels P_ENABLE_IN_ATTACK_OUT deaktivieren. |
| Lebewesen, welche P_NO_ATTACK gesetzt haben, kann man mit dieser |
| Funktion nicht schaden. |
| |
| |
| RUeCKGABEWERT |
| ============= |
| |
| Der tatsaechlich verursachte Schaden. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Beim Gegner <enemy>, falls vorhanden, werden XP und ALIGN entsprechend |
| angepasst, im Opfer wird der Gegner in P_KILLER vermerkt, der Kampf wird |
| beendet. |
| Diese Funktion sollte nur selten direkt verwendet werden. Meist ist der |
| uebliche Weg ueber Defend() -> do_damage() -> die() die logisch bessere |
| und balancetechnisch guenstigere Loesung, da Defend() magische |
| Verteidigungen, die der Spieler bei sich hat beruecksichtigt. |
| Es sollte also allein schon aus Fairness gegenueber den Objekten |
| anderer Magier Defend() immer dem direkten reduce_hit_points() oder |
| do_damage() vorgezogen werden. Mittels der Flags in 'spell' kann man |
| sehr viele Parameter beeinflussen. |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| Verwandt: Defend(L), reduce_hit_points(L), die(L) |
| Props: P_NO_ATTACK, P_ENABLE_IN_ATTACK_OUT, P_KILLER |
| P_XP, P_ALIGN |
| |
| 23.Feb.2004 Gloinson |