blob: 9a86334caaa50fca63860755b9325bdb034bf0a6 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001P_XP
2****
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_XP "xp"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /sys/living/life.h
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017BESCHREIBUNG
18============
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
21 Lebewesen erreicht hat. Dies geschieht insbesondere durch
22 Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
23 das Toeten eines Opfers Punkte gibt.
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025 Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
26 abhaengig, wie stark man das Opfer getroffen hat, und welche
27 Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
28
29 Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
30 Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
31 gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
32 einem solchigen befindet.
33
34
35BEISPIEL
36========
37
38 NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
39 Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
40 und somit kaum die Moeglichkeit haben, diese Punkte selbst
41 anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
42 an Erfahrungspunkten liefern, wenn sie getoetet werden:
43
44 include "/sys/living/life.h"
45 inherit "std/npc";
46 void create() {
47 ...
48 SetProp(P_XP,25000000);
49 }
50
51 Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
52 Damit wird der NPC sogar automatisch fuer die Vergabe von
53 Erstkillstufenpunkten vorgesehen.
54
55 Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
56 auf geeignete Werte.
57
58
59BEMERKUNGEN
60===========
61
62 Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
63 P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
64 P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
65 vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
66 haben:
67 SCORE_LOW_MARK: 200000 (1 Stufenpunkt)
68 SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
69 Definiert sind die Konstanten in "/secure/scoremaster.h".
70
71
72SIEHE AUCH
73==========
74
75 Funktionen: AddExp(), do_damage()
76 Verwandt: P_NO_XP, P_LAST_XP
77 Sonstiges: P_NO_SCORE, create_default_npc()
78 P_TOTAL_WC
79
8014.Feb 2007 Gloinson