This is an updated object stacking function for bpl 21/22. The original was done by Brian Willaims , I merely updated it slightly. As is, you merely drop the function in act.informative.c replacing your old list_obj_to_char. Items will then appear as: ( 2) a corroded pipe is lying here ( 4) a piece of moldy cheese has been left on the ground here That is all there is to it! -Mathew Earle Reuther (aka Corwynn) void list_obj_to_char(struct obj_data *list, struct char_data *ch, int mode, int show) { struct obj_data *i, *j; char buf[10]; bool found; int num; found = FALSE; for (i = list; i; i = i->next_content) { num = 0; for (j = list; j != i; j = j->next_content) if (j->item_number==NOTHING) { if(strcmp(j->short_description,i->short_description)==0) break; } else if (j->item_number==i->item_number) break; if (j!=i) continue; for (j = i; j; j = j->next_content) if (j->item_number==NOTHING) { if(strcmp(j->short_description,i->short_description)==0) num++; } else if (j->item_number==i->item_number) num++; if (CAN_SEE_OBJ(ch, i)) { if (num!=1) send_to_char(ch, "(%2i) ", num); show_obj_to_char(i, ch, mode); found = TRUE; } } if (!found && show) send_to_char(ch, " Nothing.\r\n"); }