blob: 88279a6a175aaa40473f52b35be33112ece5a451 [file] [log] [blame]
NAME:
P_REAL_RACE "real_race"
DEFINIERT IN:
/sys/living/description.h
BESCHREIBUNG:
Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
Shadows ueberschrieben werden.
Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
man mit dieser Property trotz Tarnung feststellen, welche Rasse der
Spieler hat.
Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
BEISPIEL:
Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
int futter(string arg)
{
notify_fail("Was willst Du essen?\n");
if(!arg || !id(arg)) return 0;
notify_fail("Du kannst nichts mehr essen.\n");
if(!this_player()->eat_food(55)) return 0;
write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
this_player()->Name()));
switch( this_player()->QueryProp(P_REAL_RACE) )
{
case "Zwerg":
if ((this_player()->QueryProp(P_RACE))!="Zwerg")
write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
this_player()->buffer_hp(100,10);
this_player()->buffer_sp(100,10);
break;
case "Elf":
write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
// Getarnt?
if ((this_player()->QueryProp(P_RACE))!="Elf")
write(" Deine Tarnung nutzt Dir da wenig.\n"
else write("\n");
this_player()->restore_spell_points(-100);
this_player()->do_damage(100,this_object());
break;
default:
write("Du bekommst nur wenig davon herunter..\n");
this_player()->buffer_hp(10,1);
this_player()->buffer_sp(10,2);
break;
}
remove();
return 1;
}
SIEHE AUCH:
/std/living/description.c, /sys/living/description.h, P_RACE
----------------------------------------------------------------------------
Last modified: Mon Sep 15 21:15:49 2003 by Vanion