Looks good!
The current no item = basic clothing always seemed like a workaround to me. How else would you check if a girl is nude or not (unless you do it like in Jackof9tails and have predefined "uniforms")? I also think there was an option in the girlx files to include items that the girl owns. Or you could add basic items based on location and traits whenever you create someone (like a rags/slave rags/worn dress with sell value 0 for balance) for random girls or other items for special girls.
I will see what i can do with the objectives.
I must have overlooked that discussion, sorry. Was it linked to the roomx file in data? That looks like a whole different approach to buildings.
About the brothels, maybe the coding can be lessened by adding a district variable or each brothel has a number already and could have added this number to a check in the cCustomers::ChangeCustomerBase() to vary the numbers a bit).
District types could be "Slum", "Outskirt", "Merchant District", "Temple District", "Noble District", "Rural" and "Common District". A new variable for brothels could also be used in random events.
To add more progression or value to later brothels i think you could already create more gap in the existing rooms and available rooms (in cScreenTown). So if you want a brothel with bar, club and gambling you would need one of the later ones. For example:
static static_brothel_data brothel_data[] = {
{ 0, 20, 40, 0 }, //slums
{ 10000, 25, 60, 30 }, //trade district
{ 30000, 30, 80, 70 }, //common district
{ 70000, 35, 100, 100 }, //temple district
{ 150000, 40, 150, 140 }, //admin district
{ 300000, 50, 300, 170 }, //rich estates
{ 1000000, 80, 600, 220 } //noble district
instead of current:
static static_brothel_data brothel_data[] = {
{ 0, 20, 200, 0 },
{ 10000, 25, 250, 30 },
{ 30000, 30, 300, 70 },
{ 70000, 35, 350, 100 },
{ 150000, 40, 400, 140 },
{ 300000, 50, 500, 170 },
{ 1000000, 80, 600, 220 }