P_HANDS
*******


NAME
====

   P_HANDS                    "hands"


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

   /sys/living/combat.h


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

   Diese Property enthaelt ein dreielementiges Array mit
   den folgenden Eintraegen:
   1. Element: String mit der Meldung, wenn ohne Waffen angegriffen
               wird.
   2. Element: Waffenklasse, wenn ohne Waffen angegriffen wird.
   3. Element: Array mit Schadensarten (frueher auch: Schadensart)

   eim Setzen dieser Property wird auch P_TOTAL_WC mit veraendert,
   wenn das Lebewesen keine Waffe gezueckt hat. Steckt das Lebewesen
   eine gezueckte Waffe weg, so wird ebenfalls P_TOTAL_WC mit der
   Waffenklasse aus P_HANDS aktualisiert. Zueckt das Lebewesen eine
   Waffe, so wird P_TOTAL_WC mit der Waffenklasse der Waffe (P_WC)
   ueberschrieben. Die Property P_TOTAL_WC enthaelt somit immer die
   aktuelle Angriffsstaerke des Lebewesen.


BEMERKUNGEN
===========

   In alten Objekten kann es vorkommen, dass das dritte Element (Angabe des
   Schadenstyps) fehlt. Dies ist eine Altlast, die Angabe des Schadenstypes
   ist NICHT optional.)


BEISPIEL
========

   Ein starker Tausendfuessler mit Schlagschaden:

     SetProp(P_HANDS,({" mit tausend kleinen Fuesschen",1000,
                       ({DT_BLUDGEON}) }));


   Ein Saeurededaemon:
     SetProp(P_HANDS,
       ({
         " mit saeuretriefenden Klauen",
         250,
         ({DT_RIP, DT_ACID})
       })
     );

   Hier wurden gleich zwei Schadensarten angegeben, also wird
   Mischschaden verursacht. Man sollte es jedoch nicht zu sehr
   uebertreiben! Mehr als zwei oder drei gleichzeitig verwendete
   Schadensarten lassen sich kaum mehr begruenden.


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

   P_HANDS_USED_BY
   P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
   UseHands, FreeHands
   P_TOTAL_WC, P_WC
   /std/living/combat.c, /std/weapon/combat.c, /sys/combat.h

22.02.2014 Zesstra
