PROPERTY:
P_UNWEAR_MSG
DEFINIERT ALS:
"unwear_msg"
DEFINIERT IN:
/sys/armour.h
WERTE:
String, Closure oder Array, das Strings oder Closures bzw.
einen Mix aus beiden enthaelt
BESCHREIBUNG:
Ueber diese Property koennen die Defaultmessages, die
beim Ausziehen einer Ruestung an den Spieler und an den Raum
ausgegeben werden, ueberschrieben werden. Es ist nicht
moeglich, eine oder beide Messages ganz zu unterdruecken!
Ist der Wert des Properties ein String, so wird dieser
an den Spieler ausgegeben. Ist der Wert eine Closure, wird
sie zunaechst ausgefuehrt. Wenn der Rueckgabewert ein String
ist, wird dieser an den Spieler ausgegeben, ansonsten die
Standardmessage. In beiden Faellen bekommt der Raum die
Standardmessage.
Wenn der Wert des Properties ein Array ist, wird das erste
Element wie ein Einzelwert behandelt (siehe voriger Absatz).
Ein evtl. vorhandenes zweites Element wird in der gleichen
Art verarbeitet, nur wird der Text an den Raum (ausser TP)
ausgegeben. Ist ein Element des Arrays 0 oder gar nicht
vorhanden, bzw. liefert eine Closure keinen String, so wird
an deren Stelle die Defaultmessage ausgegeben.
Alle Ausgaben werden mit break_string() umgebrochen.
Beispiele:
- SetProp(P_UNWEAR_MSG, "Du zwaengst Dich aus der Jacke.");
- SetProp(P_UNWEAR_MSG, ({"Du zwaengst Dich aus der Jacke."}));
- string PlayerMsg();
string RoomMsg();
...
SetProp(P_WEAR_MSG, ({ #'PlayerMsg, #'RoomMsg }));
...
string PlayerMsg()
{
switch (this_player()->QueryProp(P_RACE))
{
case "Elf":
return "Behende schluepfst Du aus der Jacke.";
case "Zwerg":
DoStructureDamage(QueryProp(P_LIFETIME) * 0.1);
return "Du zwaengst Dich aus der engen Jacke.\n"
"Ploetzlich macht es *RATSCH* und die Jacke hat "
"einen langen Schlatz.";
default:
return 0;
}
}
string RoomMsg()
{
string pl_name = this_player()->name(WER, NAME_CAP|NAME_AUTO);
switch (this_player()->QueryProp(P_RACE))
{
case "Elf":
return pl_name + " schluepft behende aus der Jacke.";
case "Zwerg":
return pl_name + " zwaengt sich aus einer engen Jacke.\n"
"Ploetzlich macht es *RATSCH* und die Jacke hat "
"einen langen Schlatz.";
default:
return 0;
}
}
SIEHE AUCH:
P_WEAR_MSG, P_WEAR, P_UNWEAR, WearFunc(L), UnwearFunc(L)
|