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