/* Clean function by Valodin Jan 93 */ #include <std.h> inherit DAEMON; /* gets rid of nested objects */ recursive_dest(object ob) { int i; object *inv; inv = all_inventory(ob); for(i = 0; i < sizeof(inv); i++) { if(!inv[i]->query_auto_load()) { write("Desting: " + inv[i]->query_short() + "\n"); if(!(inv[i]->is_player() && interactive(inv[i]))) { recursive_dest(inv[i]); inv[i]->remove(); if(inv[i]) destruct(inv[i]); } } } } int cmd_clean() { int i; object *ob; int flag; flag = 0; ob = all_inventory(this_player()); for(i = 0; i < sizeof(ob); i++) { if(!ob[i]->query_auto_load()) { flag++; write("Desting: " + ob[i]->query_short() + "\n"); if(!(ob[i]->is_player() && interactive(ob[i]))) { recursive_dest(ob[i]); ob[i]->remove(); if(ob[i]) destruct(ob[i]); } } } if(!flag) write("Nothing to clean.\n"); return 1; } int help() { write("Command: clean\nSyntax: clean\n" + "This command destroys all non-auto-loading items\n" + "in your inventory.\nSee also: dest, mdest, I\n"); return 1; }