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 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 , 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