P_XP
****


NAME
====

   P_XP                    "xp"


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

   /sys/living/life.h


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

   Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
   Lebewesen erreicht hat. Dies geschieht insbesondere durch
   Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
   das Toeten eines Opfers Punkte gibt.

   Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
   abhaengig, wie stark man das Opfer getroffen hat, und welche
   Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).

   Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
   Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
   gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
   einem solchigen befindet.


BEISPIEL
========

   NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
   Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
   und somit kaum die Moeglichkeit haben, diese Punkte selbst
   anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
   an Erfahrungspunkten liefern, wenn sie getoetet werden:

     include "/sys/living/life.h"
     inherit "std/npc";
     void create() {
       ...
       SetProp(P_XP,25000000);
     }

   Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
   Damit wird der NPC sogar automatisch fuer die Vergabe von
   Erstkillstufenpunkten vorgesehen.

   Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
   auf geeignete Werte.


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

   Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
   P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
   P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
   vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
   haben:
     SCORE_LOW_MARK:  200000 (1 Stufenpunkt)
     SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
   Definiert sind die Konstanten in "/secure/scoremaster.h".


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

   Funktionen:  AddExp(), do_damage()
   Verwandt:    P_NO_XP, P_LAST_XP
   Sonstiges:   P_NO_SCORE, create_default_npc()
                P_TOTAL_WC

14.Feb 2007 Gloinson
