P_VULNERABILITY
===============

NAME
----
::

     P_VULNERABILITY               "vulnerability"

DEFINIERT IN
------------
::

     /sys/living/combat.h

WICHTIG
-------
::

     DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
     VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.

BESCHREIBUNG
------------
::

     Hiermit koennen die Empfindlichkeiten eines Lebewesens definiert
     werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
     Eintrag eines Schadens verdoppelt die Empfindlichkeit gegen
     diesen.

BEMERKUNGEN
-----------
::

     - P_RESISTANCE_STRENGTHS spiegelt die Eintraege hier wieder
     - um genauere Werte anzugeben einen AddResistanceModifier() oder
       P_RESISTANCE_STRENGTHS benutzen.
     - P_VULNERABILITY kann und wird nicht aus P_RESISTANCE_STRENGTHS
       upgedatet

BEISPIELE
---------
::

     // ein NPC mit verdoppelter Eisempfindlichkeit und
     // vervierfachter Wasserempfindlichkeit
     SetProp(P_VULNERABILITY, ({DT_COLD, DT_WATER, DT_WATER}));

SIEHE AUCH
----------
::

     simple Resistenz:	P_RESISTANCE
     Hauptmapping:	P_RESISTANCE_STRENGTHS
     Modifikatoren:	AddResistanceModifier, RemoveResistanceModifier(),
			P_RESISTANCE_MODIFIER
     Berechnung:	CheckResistance(), UpdateResistanceStrengths()
     anderes:		balance, /std/armour/combat.c, /std/living/combat.c

1.Dez 2004, Gloinson

