/* Filename : gauntlets.c * Description : very protective gauntlets * * written : 03-10-1996 - Gunner * last modified : 27-05-1998 - Gunner * HTML-Version : 04-02-2000 - Ghorwin */ #include <mudlib.h> inherit I_ARMOUR; #define FUNC "/doc/crashcourse/course07/gauntletsfuncs" create() { ::create(); set_name("magical gauntlets"); add_id(({"gauntlet","gauntlets","magical gauntlet","magic gauntlet", "magic gauntlets","pair of gauntlets","pair of magical gauntlets", "pair of magic gauntlets","pair of enchanted gauntlets", "enchanted gauntlet","enchanted gauntlets"})); set_short("A pair of magical gauntlets"); set_long("The gauntlets seem to be magically enchanted. They must " "have some hidden powers.\n"); set_weight(2); set_value(300+random(200)); set_type("glove"); set_info("The gauntlets will keep you safe from a couple of weaknesses. " "But, only for a little while.\n"); add_hook("__wear",(:call_other,FUNC,"wear_gauntlets",this_object():)); add_hook("__remove",(:call_other,FUNC,"remove_gauntlets",this_object():)); add_property(({"hidden","magic","metal"})); replace_program(I_ARMOUR); }
/* Filename : hat2funcs.c * Description : the functionfile for gauntlets.c * * written : 03-10-1996 - Gunner * last modified : 27-05-1998 - Gunner * HTML-Version : 04-02-2000 - Ghorwin */ #include <mudlib.h> #include "/doc/crashcourse/defs.h" inherit I_DAEMON; #define TIMEOUT 20+random(20) #define DAMAGE 20+random(10) /* * wear_gauntlets : called by the __wear hook in gauntlets.c */ void wear_gauntlets(object gaunts) { object wearer, room; wearer = environment(gaunts); if (!wearer) return; // Something's wrong here... room = environment(wearer); if (!room) return; // Something's wrong here... tell_object(wearer,"As you wear the gauntlets, they sting your arms!\n"); wearer->hit_player(DAMAGE,"electricity",PR,"glove"); wearer->add_tmp_prop("no_disarm",1); wearer->add_tmp_prop("no_disease",1); call_out("remove_props",TIMEOUT,wearer); } /* * remove_gauntlets : called by the __remove hook in gauntlets.c */ void remove_gauntlets(object gaunts) { object wearer, room; wearer = environment(gaunts); if (!wearer) return; // Something's wrong here... room = environment(wearer); if (!room) return; // Something's wrong here... tell_object(wearer,"As you remove the gauntlets, they sting your arms!\n"); wearer->hit_player(DAMAGE,"electricity",PR,"glove"); wearer->add_tmp_prop("no_disarm",-1); wearer->add_tmp_prop("no_disease",-1); remove_call_out("remove_props"); } /* * remove_props : restore the player after the effect of the wear is gone */ void remove_props(object wearer) { if (!wearer) return; // The player's gone?? Bah. wearer->add_tmp_prop("no_disarm",-1); wearer->add_tmp_prop("no_disease",-1); }