
InternalModifyDefend()
**********************


InternalModifyDefend(L)
=======================


FUNKTION
========

   protected void InternalModifyDefend(int dam, string* dt, mapping
   spell, object enemy)


DEFINIERT IN
============

   /std/living/combat


ARGUMENTE
=========

   int dam
      Staerke des abzuwehrenden Angriffs (in HP/10)

   string* dt
      Art(en) des Schadens, der angerichtet werden soll

   mapping spell
      Mapping mit zusaetzlichen Informationen ueber den Angriff

   object enemy
      der Feind/Schadenverursacher


BESCHREIBUNG
============

   Dient dazu noch Aenderungen am Verhalten der Defend() vornehmen zu
   koennen. Die Parameter werden alle per Referenz uebergeben,
   Aenderungen wirken also direkt im Defend()!

   Einfach ueberschreiben, aber ::InternalModifyDefend(&..., &....)
   nicht vergessen!


SIEHE AUCH
==========

   *InternalModifyAttack()* *Defend()*
