Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/do_damage

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


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.