diff --git a/AI/VCAI/Fuzzy.cpp b/AI/VCAI/Fuzzy.cpp
index fbf0aae..74f18a3 100644
--- a/AI/VCAI/Fuzzy.cpp
+++ b/AI/VCAI/Fuzzy.cpp
@@ -202,6 +202,10 @@ ui64 FuzzyHelper::estimateBankDanger (const CBank * bank)
 {
 	auto info = VLC->objtypeh->getHandlerFor(bank->ID, bank->subID)->getObjectInfo(bank->appearance);
 
+    return static_cast<ui64>(static_cast<CBankInfo*>(info.get())->expectedCombatValue());
+    
+//All of this appears to be expecting a significantly different (outdated?) JSON structure.
+#if 0
 	ui64 val = std::numeric_limits<ui64>::max();
 	try
 	{
@@ -224,7 +228,7 @@ ui64 FuzzyHelper::estimateBankDanger (const CBank * bank)
         logAi->errorStream() << "estimateBankDanger " << fe.name() << ": " << fe.message();
 	}
 	return val;
-
+#endif
 }
 
 float FuzzyHelper::getTacticalAdvantage (const CArmedInstance *we, const CArmedInstance *enemy)
@@ -455,7 +459,7 @@ float FuzzyHelper::evaluate (Goals::GatherArmy & g)
 	//the more army we need, the more important goal
 	//the more army we lack, the less important goal
 	float army = g.hero->getArmyStrength();
-	return g.value / std::max(g.value - army, 1000.0f);
+	return g.value / std::max(g.value - army, 1.0f);
 }
 
 float FuzzyHelper::evaluate (Goals::ClearWayTo & g)
diff --git a/lib/mapObjects/CommonConstructors.cpp b/lib/mapObjects/CommonConstructors.cpp
index 14eb1a1..7e719eb 100644
--- a/lib/mapObjects/CommonConstructors.cpp
+++ b/lib/mapObjects/CommonConstructors.cpp
@@ -328,8 +328,17 @@ static void addStackToArmy(IObjectInfo::CArmyStructure & army, const CCreature *
 		army.walkersStrength += crea->fightValue * amount;
 }
 
+float CBankInfo::expectedCombatValue() const
+{
+     float to_return = 0.0f;
+     for(auto entry : config)
+          to_return+=entry["chance"].Float()*entry["combat_value"].Float();
+     return to_return;
+}
+
 IObjectInfo::CArmyStructure CBankInfo::minGuards() const
 {
+    assert(false);
 	std::vector<IObjectInfo::CArmyStructure> armies;
 	for (auto configEntry : config)
 	{
@@ -351,6 +360,7 @@ IObjectInfo::CArmyStructure CBankInfo::minGuards() const
 
 IObjectInfo::CArmyStructure CBankInfo::maxGuards() const
 {
+    assert(false);
 	std::vector<IObjectInfo::CArmyStructure> armies;
 	for (auto configEntry : config)
 	{
diff --git a/lib/mapObjects/CommonConstructors.h b/lib/mapObjects/CommonConstructors.h
index e4f44bd..34f644d 100644
--- a/lib/mapObjects/CommonConstructors.h
+++ b/lib/mapObjects/CommonConstructors.h
@@ -152,12 +152,14 @@ struct BankConfig
 	}
 };
 
-class CBankInfo : public IObjectInfo
+class DLL_LINKAGE CBankInfo : public IObjectInfo
 {
 	JsonVector config;
 public:
 	CBankInfo(JsonVector config);
 
+    float expectedCombatValue() const;
+
 	CArmyStructure minGuards() const;
 	CArmyStructure maxGuards() const;
 	bool givesResources() const;
