|  |  |  | @ -159,6 +159,7 @@ static unordered_set<int32_t> buildings; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | //construction
 | 
		
	
		
			
				|  |  |  |  | static unordered_set<df::construction*> constructions; | 
		
	
		
			
				|  |  |  |  | static bool gameLoaded; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | void DFHack::EventManager::onStateChange(color_ostream& out, state_change_event event) { | 
		
	
		
			
				|  |  |  |  |     static bool doOnce = false; | 
		
	
	
		
			
				
					|  |  |  | @ -184,6 +185,7 @@ void DFHack::EventManager::onStateChange(color_ostream& out, state_change_event | 
		
	
		
			
				|  |  |  |  |         constructions.clear(); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |         Buildings::clearBuildings(out); | 
		
	
		
			
				|  |  |  |  |         gameLoaded = false; | 
		
	
		
			
				|  |  |  |  |     } else if ( event == DFHack::SC_MAP_LOADED ) { | 
		
	
		
			
				|  |  |  |  |         uint32_t tick = DFHack::World::ReadCurrentYear()*ticksPerYear | 
		
	
		
			
				|  |  |  |  |             + DFHack::World::ReadCurrentTick(); | 
		
	
	
		
			
				
					|  |  |  | @ -198,11 +200,12 @@ void DFHack::EventManager::onStateChange(color_ostream& out, state_change_event | 
		
	
		
			
				|  |  |  |  |         nextItem = 0; | 
		
	
		
			
				|  |  |  |  |         nextBuilding = 0; | 
		
	
		
			
				|  |  |  |  |         lastTick = 0; | 
		
	
		
			
				|  |  |  |  |         gameLoaded = true; | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | void DFHack::EventManager::manageEvents(color_ostream& out) { | 
		
	
		
			
				|  |  |  |  |     if ( !Core::getInstance().isWorldLoaded() ) { | 
		
	
		
			
				|  |  |  |  |     if ( !gameLoaded ) { | 
		
	
		
			
				|  |  |  |  |         return; | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |     uint32_t tick = DFHack::World::ReadCurrentYear()*ticksPerYear | 
		
	
	
		
			
				
					|  |  |  | @ -478,7 +481,7 @@ static void manageSyndromeEvent(color_ostream& out) { | 
		
	
		
			
				|  |  |  |  |             df::unit_syndrome* syndrome = unit->syndromes.active[b]; | 
		
	
		
			
				|  |  |  |  |             uint32_t startTime = syndrome->year*ticksPerYear + syndrome->year_time; | 
		
	
		
			
				|  |  |  |  |             out.print("start time = %d, time = %d\n", startTime, eventLastTick[EventType::SYNDROME]); | 
		
	
		
			
				|  |  |  |  |             if ( startTime < eventLastTick[EventType::SYNDROME] ) | 
		
	
		
			
				|  |  |  |  |             if ( startTime <= eventLastTick[EventType::SYNDROME] ) | 
		
	
		
			
				|  |  |  |  |                 continue; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |             SyndromeData data(unit->id, b); | 
		
	
	
		
			
				
					|  |  |  | 
 |