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