From 299510f0d9f87c09a505a31aea4b94d11237597d Mon Sep 17 00:00:00 2001 From: Robert Heinrich Date: Tue, 17 Apr 2012 18:11:14 +0200 Subject: [PATCH] zone: don't assign to cages which are designated but not yet placed (minor fix, it's not like bad things happen without it) --- plugins/probe.cpp | 2 ++ plugins/zone.cpp | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/plugins/probe.cpp b/plugins/probe.cpp index 4eff1d49d..4e041f180 100644 --- a/plugins/probe.cpp +++ b/plugins/probe.cpp @@ -386,6 +386,8 @@ command_result df_bprobe (color_ostream &out, vector & parameters) out << ", is room"; else out << ", not a room"; + if(building.origin->getBuildStage()!=building.origin->getMaxBuildStage()) + out << ", in construction"; out.print("\n"); diff --git a/plugins/zone.cpp b/plugins/zone.cpp index 3c0f645fb..ee6abf327 100644 --- a/plugins/zone.cpp +++ b/plugins/zone.cpp @@ -897,6 +897,10 @@ int32_t findCageAtCursor() building->z == cursor->z)) continue; + // don't set id if cage is not constructed yet + if(building->getBuildStage()!=building->getMaxBuildStage()) + break; + if(isCage(building)) { foundID = building->id; @@ -1122,6 +1126,10 @@ df::building * getBuiltCageAtPos(df::coord pos) && building->y1 == pos.y && building->z == pos.z ) { + // don't set pointer if not constructed yet + if(building->getBuildStage()!=building->getMaxBuildStage()) + break; + cage = building; break; }