so, you could try fixing that one... i stumbled upon this bug when i got the advanced workshop; i desperately needed more tech guys and i placed two of the three planned adv. workshops but when i tried to delete the last workshop - it stopped responding...
by the way, off-topic: when building, if you place a structure on a certain point, then delete all of it's surrounding buildings and place more new structures on those points they all get built... what i'm trying to say is - you can check if the structure is adjacent to any other already built structure (room, whatever) whenever a room is deleted and not only when placing new rooms... or, in the worst case, make a base consistency check, it's not like it'll lag the game (a 50 node graph doesn't take long to traverse)
in any case, when deleting structures, before deleting it, check it's neighbours for adjacency and it should be fine... something along the lines of
Code: Select all
if(thisRoom.getNeighbour(i).getNeigbourCount()==1) //only one neighbour and it's the room getting deleted
{
bool p = prompt(); //prompts the user with a window saying there is an isolated room and that it will be deleted as well
if(prompt) deleteRoom(thisRoom.getNeighbour(i).getID) //if the answer was yes then delete both of em
//else do nothing
}
//the neighbour count can't be 0 and if it's greater than 1 that means it's not isolated so it's ok
deleteRoom(thisRoom.getID)
in these kinds of games you should really force cheating to a minimum as this tehnique might save you a valuable month for building in advance like this...