diff --git a/AI/VCAI/VCAI.cpp b/AI/VCAI/VCAI.cpp
index 54b4408c9..087d1a997 100644
--- a/AI/VCAI/VCAI.cpp
+++ b/AI/VCAI/VCAI.cpp
@@ -1287,7 +1287,7 @@ void VCAI::buildStructure(const CGTownInstance * t)
//try to upgrade dwelling
for(int i = 0; i < ARRAY_COUNT(unitsUpgrade); i++)
{
- if (t->hasBuilt(unitsSource[i]))
+ if (t->hasBuilt(unitsSource[i]) && !t->hasBuilt(unitsUpgrade[i]))
{
if (tryBuildStructure(t, unitsUpgrade[i]))
return;
@@ -3133,8 +3133,9 @@ TSubgoal CGoal::whatToDoToAchieve()
boost::sort(objs, isCloser);
BOOST_FOREACH(const CGObjectInstance *obj, objs)
{ //find safe dwelling
- if (isSafeToVisit(hero, obj->visitablePos())) //TODO: make use of multiple heroes
- return CGoal(VISIT_TILE).sethero(hero).settile(obj->visitablePos());
+ auto pos = obj->visitablePos();
+ if (isSafeToVisit(hero, pos) && ai->isAccessibleForHero(pos, hero)) //TODO: make use of multiple heroes
+ return CGoal(VISIT_TILE).sethero(hero).settile(pos);
}
}
diff --git a/Scripting/ERM/ERM.vcxproj b/Scripting/ERM/ERM.vcxproj
index 0d7184acc..172f6a34f 100644
--- a/Scripting/ERM/ERM.vcxproj
+++ b/Scripting/ERM/ERM.vcxproj
@@ -76,7 +76,7 @@
$(LibraryPath)
- $(SolutionDir)$(Configuration)\bin\Scripting\
+ ..\..\..\RD\Scripting
$(IncludePath)
$(LibraryPath)
@@ -98,7 +98,7 @@
true
true
true
- ../../../libs; ../../;
+ G:\Programowanie\VCMI;../../../libs;../..;../../../;%(AdditionalLibraryDirectories)
VCMI_lib.lib;%(AdditionalDependencies)
@@ -115,7 +115,7 @@
true
true
true
- ../../../libs; ../../;
+ G:\Programowanie\VCMI\libs;G:\Programowanie\VCMI\RD
VCMI_lib.lib;%(AdditionalDependencies)