/*** Mug Shadow ***/ /*** basically stun shadow with modifications ***/ /*** By Rathburn -> Give credit to Wonderflug ***/ object my_player; void destruct_stun_shadow() { if(my_player) { tell_object(my_player, "You shake off the skull-shattering blow and " "realized you have been mugged.\n"); tell_room(environment(my_player), my_player->query_cap_name()+ " wakes " "up from "+my_player->query_possessive()+" skull-shattering " "blow "+my_player->query_pronoun()+" suffered.\n", my_player); } destruct(this_object()); } void setup_shadow(object ob) { shadow(ob,1); my_player = ob; } int check_duration() { if(!my_player || !(my_player->query_timed_property("stun_on"))) { if(my_player) my_player->remove_extra_look(this_object()); return 1; } else return 0; } move(mixed dest, mixed messout, mixed messin) { if(check_duration()) call_out("destruct_stun_shadow",0,0); return my_player->move(dest, messout, messin ); } int query_hold_spell() { return 1; } object* query_weapons_wielded() { if(check_duration()) call_out("destruct_stun_shadow",0,0); return ({this_object()}); } int weapon_attack(object him, object me) { tell_object(my_player, "You suddenly wake up from a daze and are under " "attack!\n"); tell_room(environment(my_player), my_player->query_cap_name()+" suddenly " "snaps out of "+my_player->query_possessive()+" daze and " "begins to fight back!\n", my_player); destruct(this_object()); return 0; } attack_ob(object ob) { tell_object(my_player, "You suddenly wake up from a daze and are under " "attack!\n"); tell_room(environment(my_player), my_player->query_cap_name()+" suddenly " "snaps out of "+my_player->query_possessive()+" daze and " "begins to fight back!\n", my_player); destruct(this_object()); return 0; } string extra_look() { return "Is unconscious.\n"; } varargs mixed move_player(string dir, string dest, mixed message, object followee, mixed enter) { if(this_player(1) && this_player(1)->query_creator()) return my_player->move_player(dir, dest, message, followee, enter); tell_object(my_player, "You're really in no condition to attempt that.\n"); if(check_duration()) call_out("destruct_stun_shadow",0,0); return 0; }