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