From e7fa17af3867fe67ba29a217e9326e25d4e1644d Mon Sep 17 00:00:00 2001 From: rhn Date: Tue, 29 Jul 2014 09:49:50 +0200 Subject: [PATCH 1/2] Fixed message when a structure can't be built due to requirements, but a different building has been built already --- lib/CGameInfoCallback.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/CGameInfoCallback.cpp b/lib/CGameInfoCallback.cpp index 2f249dec8..7210e2abc 100644 --- a/lib/CGameInfoCallback.cpp +++ b/lib/CGameInfoCallback.cpp @@ -408,12 +408,12 @@ EBuildingState::EBuildingState CGameInfoCallback::canBuildStructure( const CGTow return t->hasBuilt(id); }; - if(t->builded >= VLC->modh->settings.MAX_BUILDING_PER_TURN) - return EBuildingState::CANT_BUILD_TODAY; //building limit - if (!building->requirements.test(buildTest)) return EBuildingState::PREREQUIRES; + if(t->builded >= VLC->modh->settings.MAX_BUILDING_PER_TURN) + return EBuildingState::CANT_BUILD_TODAY; //building limit + if (building->upgrade != BuildingID::NONE && !t->hasBuilt(building->upgrade)) return EBuildingState::MISSING_BASE; From aba3421e0a098fa9a753b7ad63d42a53c7bbd7ba Mon Sep 17 00:00:00 2001 From: rhn Date: Tue, 29 Jul 2014 15:28:58 +0200 Subject: [PATCH 2/2] Fixed: 0001854: Rewarding objects loose their state after game is reloaded (breaks savegames) --- lib/mapObjects/CGHeroInstance.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mapObjects/CGHeroInstance.h b/lib/mapObjects/CGHeroInstance.h index 87abc77c7..9f811c4b2 100644 --- a/lib/mapObjects/CGHeroInstance.h +++ b/lib/mapObjects/CGHeroInstance.h @@ -222,7 +222,7 @@ public: h & exp & level & name & biography & portrait & mana & secSkills & movement & sex & inTownGarrison & spells & patrol & moveDir & skillsInfo; h & visitedTown & boat; - h & type & specialty & commander; + h & type & specialty & commander & visitedObjects; BONUS_TREE_DESERIALIZATION_FIX //visitied town pointer will be restored by map serialization method }