+ if (start_id <= id && id <= UINT8_MAX)
+ {
+ nai->id = id;
+ }
+ else
+ {
+ while (1)
+ {
+ if ( (0 == struct_id && !get_thing(world.things, start_id, 1))
+ || (1 == struct_id && !get_thing_type(start_id))
+ || (2 == struct_id && !get_thing_action(start_id)))
+ {
+ nai->id = start_id;
+ break;
+ }
+ char * err = "No unused ID available to add to ID list.";
+ exit_err(start_id == UINT8_MAX, err);
+ start_id++;
+ }
+ }