P_AGGRESSIVE
============

NAME
----
::

    P_AGGRESSIVE                  "aggressive"                  

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

    /sys/properties.h

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

	Gesetzt, wenn das Wesen von sich aus Angriffe startet.

	Ueblicherweise nimmt man als Wert 1, man kann jedoch auch
	einen kleineren Wert nehmen wenn es nur mit einer bestimmten
	Wahrscheinlichkeit automatisch angreifen soll.

	Der Wert von Spieler und Monster wird addiert, um zu entscheiden,
	ob ein Spieler angegriffen werden soll,	man kann P_AGGRESSIVE
	also auch bei Spielern setzen, so dass sie von allen Monstern
	angegriffen werden.

	Bei Monstern (und NUR bei diesen) kann man hier auch ein Mapping
	angeben, das als Keys Namen von Properties des Spielers enthaelt
	und als Values Mappings, in denen steht welcher Wert bei welchen
	Wert fuer die Property genommen werden soll (Beispiele folgen).
	Mit Key 0 kann man einen Default-Wert (sowohl in inneren Mappings
	wie auch im aeusseren Mapping) festlegen. Default-Werte werden
	genommen, falls keine anderen gesetzt sind, also Vorsicht mit
	0-Eintraegen (Tip: 0.0 ist in LPC ungleich 0).
	Bei mehreren Properties werden alle gesetzten Werte gemittelt.

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

	SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":1, "Elf":0.0, 0:0.5])]))
	Zwerge werden immer automatisch angegriffen, Elfen nie und
	alle anderen mit 50% Wahrscheinlichkeit.
	Man beachte, dass hier 0.0 genommen werden musste anstelle von 0,
	weil sonst Elfen auch 50% Wahrscheinlichkeit bekommen haetten.

	SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":0.3]),
	                       P_GUILD:(["Chaos":0.7])]))
	Zwerge werden mit 30% Wahrscheinlichkeit angegriffen,
	Chaoten mit 70% und Zwerg-Chaoten mit 50%.

