P_PEACE_HISTORY
===============

NAME
----
::

     P_PEACE_HISTORY      "_peace_history"

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

     /sys/living/combat.h

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

    In dieser Prop wird nach Gilden getrennt gespeichet, wie oft das Lebewesen
    in letzter Zeit befriedet worden ist. Diese Information geht in die
    Chance auf eine zukuenftige Befriedung ein.
    Die Zaehler werden im Durchschnitt alle 2700s um 2-3 reduziert.
    Die Datenstruktur ist ein Array, welches einen Zeitstempel als erstes
    Element und ein Mapping als zweites enthaelt. Das Mapping enthaelt unter
    den Gildennamen als Keys den ganzzahligen Zaehler erfolgreicher
    Befriedungen von Spielern dieser Gilde.

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

    * Diese Property sollte niemals direkt geaendert werden. Bitte greift also
      nur lesend darauf zu. Sollte hiermit Schindluder getrieben werden,
      werden die Daten vor externer Aenderung geschuetzt.
    * Die Datenstruktur in dieser Prop kann in Zukunft u.U. geaendert werden.
      Daher aendert sie am besten auch nicht im eigenen NPC oder seid darauf
      gefasst, irgendwann Hand anlegen zu muessen.
    * Die Aktualisierung (auch die Reduktion) findet im Zuge eines
      QueryPacify() statt, nicht im Reset des Lebewesens.

BEISPIEL
--------
::

    In P_PEACE_HISTORY steht:
    ({1209654597, (["zauberer": 3, "klerus": 4]) })
    Bei der Berechnung der naechsten Befriede-Chance gehen bei Zauberern also
    3 erfolgreiche Versuche, bei Klerikern 4 erfolgreiche Versuche ein.
    Der Zeitwert an erster Stelle des Arrays wird der bei der Berechnung der
    naechsten Reduktion der Zaehler beruecksichtigt. (Genaues: s. combat.c)

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

     P_ACCEPT_PEACE
     QueryPacify()
     /std/living/combat.c

01.05.2008, Zesstra

