blob: b4f1f3898f3323f6319b83c61a2305f311e456bd [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001P_REAL_RACE
2***********
MG Mud User88f12472016-06-24 23:31:02 +02003
4
Zesstra953f9972017-02-18 15:37:36 +01005NAME
6====
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 P_REAL_RACE "real_race"
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /sys/living/description.h
15
16
17BESCHREIBUNG
18============
19
Zesstra6cadc1b2018-11-15 22:27:32 +010020 Diese Property enthaelt die Rasse des Livings und sollte wie P_RACE
21 aus traditionellen Gruenden gross geschrieben werden.
Zesstra953f9972017-02-18 15:37:36 +010022
Zesstra6cadc1b2018-11-15 22:27:32 +010023 Diese Property darf nicht durch Shadows ueberschrieben werden.
Zesstra953f9972017-02-18 15:37:36 +010024
Zesstra6cadc1b2018-11-15 22:27:32 +010025 Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort
26 kann man mit dieser Property trotz Tarnung feststellen, welche
27 Rasse der Spieler hat.
Zesstra953f9972017-02-18 15:37:36 +010028
Zesstra6cadc1b2018-11-15 22:27:32 +010029 Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn
30 P_REAL_RACE allerdings gesetzt wird, kann man damit einen
31 getarnten NPC simu- lieren, da dann P_RACE und P_REAL_RACE
32 voneinander abweichen.
Zesstra953f9972017-02-18 15:37:36 +010033
34
35BEISPIEL
36========
37
Zesstra6cadc1b2018-11-15 22:27:32 +010038 // 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 int futter(string arg) {
Zesstra953f9972017-02-18 15:37:36 +010041 notify_fail("Was willst Du essen?\n");
42 if(!arg || !id(arg)) return 0;
43
44 notify_fail("Du kannst nichts mehr essen.\n");
45 if(!this_player()->eat_food(55)) return 0;
46
47 write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
48 say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
49 this_player()->Name()));
50
Zesstra953f9972017-02-18 15:37:36 +010051 switch( this_player()->QueryProp(P_REAL_RACE) )
52 {
Zesstra6cadc1b2018-11-15 22:27:32 +010053 case "Zwerg":
54 if ((this_player()->QueryProp(P_RACE))!="Zwerg")
55 write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
56 this_player()->buffer_hp(100,10);
57 this_player()->buffer_sp(100,10);
58 break;
Zesstra953f9972017-02-18 15:37:36 +010059
Zesstra6cadc1b2018-11-15 22:27:32 +010060 case "Elf":
61 write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
62 // Getarnt?
63 if ((this_player()->QueryProp(P_RACE))!="Elf")
64 write(" Deine Tarnung nutzt Dir da wenig.\n"
65 else
66 write("\n");
67 this_player()->restore_spell_points(-100);
68 this_player()->do_damage(100,this_object());
69 break;
Zesstra953f9972017-02-18 15:37:36 +010070
Zesstra6cadc1b2018-11-15 22:27:32 +010071 default:
72 write("Du bekommst nur wenig davon herunter..\n");
73 this_player()->buffer_hp(10,1);
74 this_player()->buffer_sp(10,2);
75 break;
Zesstra953f9972017-02-18 15:37:36 +010076 }
Zesstra953f9972017-02-18 15:37:36 +010077 remove();
Zesstra953f9972017-02-18 15:37:36 +010078 return 1;
79 }
80
81
82SIEHE AUCH
83==========
84
Zesstra6cadc1b2018-11-15 22:27:32 +010085 P_RACE
86 /std/living/description.c, /sys/living/description.h,
Zesstra953f9972017-02-18 15:37:36 +010087
Zesstra6cadc1b2018-11-15 22:27:32 +010088Last modified: 15.10.2018 Zesstra