mixed query_strange_inventory(mixed arr) { mixed inv; object ob; mixed desc; int i,j, k; inv = ({ }); for (k=0;k < sizeof(arr); k++) { ob = arr[k]; if (!(desc = (string)ob->short()) || (desc == "")) continue; if ((i = member_array(desc, inv)) >= 0) inv[i+1] += ({ ob }); else inv += ({ desc, ({ ob }) }); } return inv; }