blob: fd0053b0d47f3b2452c22a462ca7e9e0efe5aedb [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_REAL_RACE
2===========
3
4NAME
5----
Zesstra18626972017-01-31 10:38:27 +01006
7 P_REAL_RACE "real_race"
8
9DEFINIERT IN
10------------
Zesstra18626972017-01-31 10:38:27 +010011
12 /sys/living/description.h
13
14BESCHREIBUNG
15------------
Zesstra3d5121f2018-10-15 20:06:40 +020016
17 Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
18 Shadows ueberschrieben werden.
Zesstra18626972017-01-31 10:38:27 +010019
20 Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
21 man mit dieser Property trotz Tarnung feststellen, welche Rasse der
22 Spieler hat.
23
24 Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
25 allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
26 lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
27
Zesstra18626972017-01-31 10:38:27 +010028
29BEISPIEL
30--------
Zesstra18626972017-01-31 10:38:27 +010031
Zesstra3d5121f2018-10-15 20:06:40 +020032.. code-block:: pike
Zesstra18626972017-01-31 10:38:27 +010033
Zesstra3d5121f2018-10-15 20:06:40 +020034 // Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
35 // Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
36 int futter(string arg) {
37 notify_fail("Was willst Du essen?\n");
38 if(!arg || !id(arg)) return 0;
Zesstra18626972017-01-31 10:38:27 +010039
Zesstra3d5121f2018-10-15 20:06:40 +020040 notify_fail("Du kannst nichts mehr essen.\n");
41 if(!this_player()->eat_food(55)) return 0;
Zesstra18626972017-01-31 10:38:27 +010042
Zesstra3d5121f2018-10-15 20:06:40 +020043 write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
44 say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
45 this_player()->Name()));
Zesstra18626972017-01-31 10:38:27 +010046
Zesstra3d5121f2018-10-15 20:06:40 +020047 switch( this_player()->QueryProp(P_REAL_RACE) )
48 {
49 case "Zwerg":
50 if ((this_player()->QueryProp(P_RACE))!="Zwerg")
51 write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
52 this_player()->buffer_hp(100,10);
53 this_player()->buffer_sp(100,10);
54 break;
Zesstra18626972017-01-31 10:38:27 +010055
Zesstra3d5121f2018-10-15 20:06:40 +020056 case "Elf":
57 write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
58 // Getarnt?
59 if ((this_player()->QueryProp(P_RACE))!="Elf")
60 write(" Deine Tarnung nutzt Dir da wenig.\n"
61 else
62 write("\n");
63 this_player()->restore_spell_points(-100);
64 this_player()->do_damage(100,this_object());
65 break;
Zesstra18626972017-01-31 10:38:27 +010066
Zesstra3d5121f2018-10-15 20:06:40 +020067 default:
68 write("Du bekommst nur wenig davon herunter..\n");
69 this_player()->buffer_hp(10,1);
70 this_player()->buffer_sp(10,2);
71 break;
72 }
73 remove();
74 return 1;
75 }
Zesstra18626972017-01-31 10:38:27 +010076
77
78
79SIEHE AUCH
80----------
Zesstra3d5121f2018-10-15 20:06:40 +020081
82 :doc:`P_RACE`
83 /std/living/description.c, /sys/living/description.h,
Zesstra18626972017-01-31 10:38:27 +010084
85
Zesstra3d5121f2018-10-15 20:06:40 +020086Last modified: 15.10.2018 Zesstra