P_AGGRESSIVE
************


NAME
====

   P_AGGRESSIVE                  "aggressive"


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

   /sys/npc.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%.


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

   Kill(), AutoAttack()

Letzte Aenderung: 28.08.2019, Bugfix
