Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame^] | 1 | P_XP |
| 2 | ==== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | :: |
| 7 | |
| 8 | P_XP "xp" |
| 9 | |
| 10 | DEFINIERT IN |
| 11 | ------------ |
| 12 | :: |
| 13 | |
| 14 | /sys/living/life.h |
| 15 | |
| 16 | BESCHREIBUNG |
| 17 | ------------ |
| 18 | :: |
| 19 | |
| 20 | 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. |
| 24 | |
| 25 | 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 | BEISPIEL |
| 35 | -------- |
| 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 | BEMERKUNGEN |
| 59 | ----------- |
| 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 | SIEHE AUCH |
| 72 | ---------- |
| 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 | |
| 80 | 14.Feb 2007 Gloinson |
| 81 | |