/* Do not remove the headers from this file! see /USAGE for more info. */ //:COMMAND //$$ see: dest, clone //USAGE: clean // clean <target> // //This command will destroy everything in your environment if //executed with no args. If given an argument it will destroy all //objects in that object. Especially useful when a pesky wizard or two //clone 20 barney's in your workroom. //It ignores add_items and living objects, so perhaps it's not so helpful //with those barneys after all ... inherit CMD; void clean_object(object ob) { int i; object *obs; obs = all_inventory(ob); i = sizeof(obs); while (i--) { if (obs[i]->is_living()) continue; if(base_name(obs[i]) == SIMPLE_OB) continue; if (first_inventory(obs[i])) clean_object(obs[i]); destruct(obs[i]); } } private void main(mixed *arg) { if (!arg[0]) arg[0] = environment(this_body()); clean_object(arg[0]); this_body()->do_player_message("clean"); return; }