struct artifact { object *item; uint16 chance; uint8 difficulty; artifact *next; linked_char *allowed; }; struct artifactlist { uint8 type; /* Object type that this list represents */ uint16 total_chance; /* sum of chance for are artifacts on this list */ artifactlist *next; artifact *items; };