/* /secure/sefun/get_livings.c * From the Frontiers LPC Library * an ugly hack to return an array of living things. * Give it an integer argument to return interactives only * Created by Cratylus 23JAN2005 * Version: @(#) getlivings.c 1.1@(#) */ varargs object array get_livings(object ob,int foo){ object *stuff,*lstuff,*istuff; int i; if(!ob) return ({}); stuff=all_inventory(ob); lstuff = ({}); for(i=0;i 0 && member_array(stuff[i],lstuff) == -1) lstuff += ({stuff[i]}); } if(foo == 1){ istuff=({}); for(i=0;i 0 && member_array(lstuff[i],istuff) == -1) istuff+= ({lstuff[i]}); } if(sizeof(istuff) > 0) return istuff; if(!sizeof(istuff)) return 0; } if(foo == 2){ istuff=({}); for(i=0;i 0 && member_array(lstuff[i],istuff) == -1) istuff+= ({lstuff[i]}); } if(sizeof(istuff) > 0) return istuff; if(!sizeof(istuff)) return 0; } if(sizeof(lstuff) > 0) return lstuff; if(!sizeof(lstuff)) return 0; } varargs object get_random_living(object room, int foo){ object *livings; if(!foo) foo = 0; livings = get_livings(room, foo); foo = random(sizeof(livings)); return livings[foo]; }