/* death curse */ inherit "inherit/base/base_obj"; inherit "inherit/timer"; int level; void reset(status arg) { if(arg) return; set_alt_extra_long("You have cast death curse.\n"); set_name("death curse"); set_alias("guild_object"); set_alt_name("spell"); } void time_out() { tell_object(environment(), "The death curse spell fades....\n"); ::time_out(); } void dispel_magic() { time_out(); } status cast_spell(object caster,object target,object prev,int time) { object curse; curse = present("death curse 2", target); if(curse) { write("You extent the time of your death curse.\n"); curse->adj_time(time * 60); destruct(this_object()); return 1; } write("The gods grant you you Death Curse.\n"); level = time; adj_time(time * 60); return 1; } void player_death() { if(this_player() != environment()) { write("Death comes to get you personally.\n"); this_player()->check_shout(environment()->query_name() +" death curses "+ this_player()->query_name() +"!\n"); if(this_player()->query_immunity("death")) { write("The curse has no effect on you.\n"); } else if(random((int)this_player()->query_wisdom()) < random(level)) { this_player()->death(); /* curser gets no exp */ } } else { write("The curse has no effect on you.\n"); } } /* Native Mode Move */ #include <move.h>