blob: b8d5936b3f262f16779695878ac190e3032ad298 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_REAL_RACE
2===========
3
4NAME
5----
6::
7
8 P_REAL_RACE "real_race"
9
10DEFINIERT IN
11------------
12::
13
14 /sys/living/description.h
15
16BESCHREIBUNG
17------------
18::
19
20 Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
21 Shadows ueberschrieben werden.
22
23
24
25 Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
26 man mit dieser Property trotz Tarnung feststellen, welche Rasse der
27 Spieler hat.
28
29 Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
30 allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
31 lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
32
33
34
35BEISPIEL
36--------
37::
38
39 Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
40 Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
41
42 int futter(string arg)
43 {
44 notify_fail("Was willst Du essen?\n");
45 if(!arg || !id(arg)) return 0;
46
47 notify_fail("Du kannst nichts mehr essen.\n");
48 if(!this_player()->eat_food(55)) return 0;
49
50 write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
51 say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
52 this_player()->Name()));
53
54
55 switch( this_player()->QueryProp(P_REAL_RACE) )
56 {
57 case "Zwerg":
58 if ((this_player()->QueryProp(P_RACE))!="Zwerg")
59 write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
60 this_player()->buffer_hp(100,10);
61 this_player()->buffer_sp(100,10);
62 break;
63
64 case "Elf":
65 write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
66 // Getarnt?
67 if ((this_player()->QueryProp(P_RACE))!="Elf")
68 write(" Deine Tarnung nutzt Dir da wenig.\n"
69 else write("\n");
70 this_player()->restore_spell_points(-100);
71 this_player()->do_damage(100,this_object());
72 break;
73
74 default:
75 write("Du bekommst nur wenig davon herunter..\n");
76 this_player()->buffer_hp(10,1);
77 this_player()->buffer_sp(10,2);
78 break;
79 }
80
81
82
83 remove();
84
85
86
87 return 1;
88 }
89
90
91
92SIEHE AUCH
93----------
94::
95
96 /std/living/description.c, /sys/living/description.h, P_RACE
97
98
99Last modified: Mon Sep 15 21:15:49 2003 by Vanion
100