// Dieses Tuch erlaubt eine extra Anzieh/Auszieh-Syntax.
// Ausserdem ist es auch fuer Magiekundige und eventuelle Schwarzmagier tragbar
// 2001 by Sunrise@Wunderland
inherit "armour";
#include <properties.h>
#include <combat.h>
#include <defines.h> // hier ist z.B. PL als this_player() definiert
// oder ME als this_object()
int binden(string str);
void create()
{
if (!clonep()) return;
::create();
SetProp(P_NAME, "Tuch");
SetProp(P_PLURAL, "Tuecher");
SetProp(P_NAME_ADJ, "weich");
// Ruestungstyp misc fuer nicht spezifizierte Ruestungen;
// P_AC ist dann 0 - wir brauchen ihn nicht zu setzen
SetProp(P_ARMOUR_TYPE, AT_MISC);
SetProp(P_WEIGHT, 20);
SetProp(P_BULKINESS, 4);
SetProp(P_VALUE, 30);
SetProp(P_LONG,
"Das Tuch ist ganz weich und relativ schmal, sicher kann man es sich "
"gut umbinden.");
// Fuer besondere Meldungen beim An- und Ausziehen:
SetProp(P_WEAR_MSG, ({
"Du bindest Dir das weiche Tuch um den Mund.",
(:PL->name(WER, NAME_AUTO|NAME_CAP)+" bindet sich ein weiches Tuch um den Mund." :) }));
SetProp(P_UNWEAR_MSG, ({
"Du bindest das weiche Tuch ab.",
(: PL->name(WER, NAME_AUTO|NAME_CAP)+" bindet ein weiches Tuch ab." :) }));
// Das Tuch soll auch von Magiekundigen und eventuellen Schwarzmagiern tragbar sein,
// deswegen die lezten 2 Sonder-Ids.
AddId(({"tuch", "schal", "\nwueste_schal", "\nmagiekundigen_kleidung", "\nsm_armour"}),
({"tuecher", "schals"}));
AddCmd("binde|binde|knote&tuch|schal", #'binden,
"Was willst Du um- oder abbinden?|Was willst Du um- oder abbinden?");
SetProp(P_ADJECTIVES, ({"weich", "weiches", "weichem", "weichen"}));
}
// Wir ermoeglichen das Kommando "binde" zum Anziehen
int binden(string str)
{
string ob;
mixed ret;
if (!str) return 0;
if ((sscanf(str, "%s um", ob) == 1) && id(ob))
{
if (!sizeof(filter_objects(PL->QueryProp(P_ARMOURS), "id", "\nwueste_schal")))
return PL->Wear(ME);
else
return notify_fail("Du traegst bereits ein Tuch um den Mund.\n");
}
if ((sscanf(str, "%s ab", ob) == 1) && id(ob))
return PL->UnWear(ME);
return 0;
}
|