Ein Tuch, das man sich vor den Mund binden kann
![]()
// 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; } |
| Start » Magierhandbuch » Dokumentation » Programmierbeispiele » Tuch | |
|
| |