1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-15 20:03:15 +02:00

Fixed AI building only one upgraded dwelling per town. Minor tweaks.

This commit is contained in:
DjWarmonger
2012-08-28 04:13:50 +00:00
parent 4d4f72292e
commit 3b1ddfa3ca
2 changed files with 7 additions and 6 deletions

View File

@@ -1287,7 +1287,7 @@ void VCAI::buildStructure(const CGTownInstance * t)
//try to upgrade dwelling //try to upgrade dwelling
for(int i = 0; i < ARRAY_COUNT(unitsUpgrade); i++) 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])) if (tryBuildStructure(t, unitsUpgrade[i]))
return; return;
@@ -3133,8 +3133,9 @@ TSubgoal CGoal::whatToDoToAchieve()
boost::sort(objs, isCloser); boost::sort(objs, isCloser);
BOOST_FOREACH(const CGObjectInstance *obj, objs) BOOST_FOREACH(const CGObjectInstance *obj, objs)
{ //find safe dwelling { //find safe dwelling
if (isSafeToVisit(hero, obj->visitablePos())) //TODO: make use of multiple heroes auto pos = obj->visitablePos();
return CGoal(VISIT_TILE).sethero(hero).settile(obj->visitablePos()); if (isSafeToVisit(hero, pos) && ai->isAccessibleForHero(pos, hero)) //TODO: make use of multiple heroes
return CGoal(VISIT_TILE).sethero(hero).settile(pos);
} }
} }

View File

@@ -76,7 +76,7 @@
<LibraryPath>$(LibraryPath)</LibraryPath> <LibraryPath>$(LibraryPath)</LibraryPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RD|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\bin\Scripting\</OutDir> <OutDir>..\..\..\RD\Scripting</OutDir>
<IncludePath>$(IncludePath)</IncludePath> <IncludePath>$(IncludePath)</IncludePath>
<LibraryPath>$(LibraryPath)</LibraryPath> <LibraryPath>$(LibraryPath)</LibraryPath>
</PropertyGroup> </PropertyGroup>
@@ -98,7 +98,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>../../../libs; ../../;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>G:\Programowanie\VCMI;../../../libs;../..;../../../;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
@@ -115,7 +115,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>../../../libs; ../../;</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>G:\Programowanie\VCMI\libs;G:\Programowanie\VCMI\RD</AdditionalLibraryDirectories>
<AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>VCMI_lib.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>