blob: 713ceb33bcba221f51800337517b10c34c3df2ae [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002P_REAL_RACE
3***********
MG Mud User88f12472016-06-24 23:31:02 +02004
5
Zesstra953f9972017-02-18 15:37:36 +01006NAME
7====
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 P_REAL_RACE "real_race"
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /sys/living/description.h
16
17
18BESCHREIBUNG
19============
20
Zesstra6cadc1b2018-11-15 22:27:32 +010021 Diese Property enthaelt die Rasse des Livings und sollte wie P_RACE
22 aus traditionellen Gruenden gross geschrieben werden.
Zesstra953f9972017-02-18 15:37:36 +010023
Zesstra6cadc1b2018-11-15 22:27:32 +010024 Diese Property darf nicht durch Shadows ueberschrieben werden.
Zesstra953f9972017-02-18 15:37:36 +010025
Zesstra6cadc1b2018-11-15 22:27:32 +010026 Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort
27 kann man mit dieser Property trotz Tarnung feststellen, welche
28 Rasse der Spieler hat.
Zesstra953f9972017-02-18 15:37:36 +010029
Zesstra6cadc1b2018-11-15 22:27:32 +010030 Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn
31 P_REAL_RACE allerdings gesetzt wird, kann man damit einen
32 getarnten NPC simu- lieren, da dann P_RACE und P_REAL_RACE
33 voneinander abweichen.
Zesstra953f9972017-02-18 15:37:36 +010034
35
36BEISPIEL
37========
38
Zesstra6cadc1b2018-11-15 22:27:32 +010039 // 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 int futter(string arg) {
Zesstra953f9972017-02-18 15:37:36 +010042 notify_fail("Was willst Du essen?\n");
43 if(!arg || !id(arg)) return 0;
44
45 notify_fail("Du kannst nichts mehr essen.\n");
46 if(!this_player()->eat_food(55)) return 0;
47
48 write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
49 say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
50 this_player()->Name()));
51
Zesstra953f9972017-02-18 15:37:36 +010052 switch( this_player()->QueryProp(P_REAL_RACE) )
53 {
Zesstra6cadc1b2018-11-15 22:27:32 +010054 case "Zwerg":
55 if ((this_player()->QueryProp(P_RACE))!="Zwerg")
56 write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
57 this_player()->buffer_hp(100,10);
58 this_player()->buffer_sp(100,10);
59 break;
Zesstra953f9972017-02-18 15:37:36 +010060
Zesstra6cadc1b2018-11-15 22:27:32 +010061 case "Elf":
62 write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
63 // Getarnt?
64 if ((this_player()->QueryProp(P_RACE))!="Elf")
65 write(" Deine Tarnung nutzt Dir da wenig.\n"
66 else
67 write("\n");
68 this_player()->restore_spell_points(-100);
69 this_player()->do_damage(100,this_object());
70 break;
Zesstra953f9972017-02-18 15:37:36 +010071
Zesstra6cadc1b2018-11-15 22:27:32 +010072 default:
73 write("Du bekommst nur wenig davon herunter..\n");
74 this_player()->buffer_hp(10,1);
75 this_player()->buffer_sp(10,2);
76 break;
Zesstra953f9972017-02-18 15:37:36 +010077 }
Zesstra953f9972017-02-18 15:37:36 +010078 remove();
Zesstra953f9972017-02-18 15:37:36 +010079 return 1;
80 }
81
82
83SIEHE AUCH
84==========
85
Zesstra6cadc1b2018-11-15 22:27:32 +010086 P_RACE
87 /std/living/description.c, /sys/living/description.h,
Zesstra953f9972017-02-18 15:37:36 +010088
Zesstra6cadc1b2018-11-15 22:27:32 +010089Last modified: 15.10.2018 Zesstra