|
@@ -12,6 +12,7 @@
|
|
|
|
|
|
|
|
#include "Nullkiller.h"
|
|
#include "Nullkiller.h"
|
|
|
#include "../../../lib/entities/artifact/CArtifact.h"
|
|
#include "../../../lib/entities/artifact/CArtifact.h"
|
|
|
|
|
+#include "../../../lib/entities/ResourceTypeHandler.h"
|
|
|
#include "../../../lib/mapObjectConstructors/AObjectTypeHandler.h"
|
|
#include "../../../lib/mapObjectConstructors/AObjectTypeHandler.h"
|
|
|
#include "../../../lib/mapObjectConstructors/CObjectClassesHandler.h"
|
|
#include "../../../lib/mapObjectConstructors/CObjectClassesHandler.h"
|
|
|
#include "../../../lib/mapObjects/CGResource.h"
|
|
#include "../../../lib/mapObjects/CGResource.h"
|
|
@@ -136,7 +137,7 @@ int32_t getResourcesGoldReward(const TResources & res)
|
|
|
{
|
|
{
|
|
|
int32_t result = 0;
|
|
int32_t result = 0;
|
|
|
|
|
|
|
|
- for(auto r : GameResID::ALL_RESOURCES())
|
|
|
|
|
|
|
+ for(auto r : LIBRARY->resourceTypeHandler->getAllObjects())
|
|
|
{
|
|
{
|
|
|
if(res[r] > 0)
|
|
if(res[r] > 0)
|
|
|
result += r == EGameResID::GOLD ? res[r] : res[r] * 100;
|
|
result += r == EGameResID::GOLD ? res[r] : res[r] * 100;
|
|
@@ -1639,7 +1640,7 @@ float PriorityEvaluator::evaluate(Goals::TSubgoal task, int priorityTier)
|
|
|
needed.positive();
|
|
needed.positive();
|
|
|
int turnsTo = needed.maxPurchasableCount(income);
|
|
int turnsTo = needed.maxPurchasableCount(income);
|
|
|
bool haveEverythingButGold = true;
|
|
bool haveEverythingButGold = true;
|
|
|
- for (int i = 0; i < GameConstants::RESOURCE_QUANTITY; i++)
|
|
|
|
|
|
|
+ for (GameResID & i : LIBRARY->resourceTypeHandler->getAllObjects())
|
|
|
{
|
|
{
|
|
|
if (i != GameResID::GOLD && resourcesAvailable[i] < evaluationContext.buildingCost[i])
|
|
if (i != GameResID::GOLD && resourcesAvailable[i] < evaluationContext.buildingCost[i])
|
|
|
haveEverythingButGold = false;
|
|
haveEverythingButGold = false;
|