1616#include " gameTypes/JobTypes.h"
1717#include " gameData/GoodConsts.h"
1818#include " gameData/JobConsts.h"
19+ #include < LeatherLoader.h>
20+ #include < WineLoader.h>
1921#include < array>
2022#include < optional>
23+ #include < vector>
2124
2225EconomyModeHandler::EconomyModeHandler (unsigned endFrame) : endFrame(endFrame), gfLastUpdated(0 )
2326{
@@ -26,17 +29,23 @@ EconomyModeHandler::EconomyModeHandler(unsigned endFrame) : endFrame(endFrame),
2629 GoodType::Shovel, GoodType::Crucible, GoodType::RodAndLine, GoodType::Scythe,
2730 GoodType::Cleaver, GoodType::Rollingpin, GoodType::Bow);
2831
29- constexpr auto commonGoodPool = helpers::make_array (
30- GoodType::Beer, GoodType::Water, GoodType::Boat, GoodType::Sword, GoodType::Iron, GoodType::Flour, GoodType::Fish,
31- GoodType::Bread, GoodType::Wood, GoodType::Boards, GoodType::Stones, GoodType::Grain, GoodType::Coins,
32- GoodType::Gold, GoodType::IronOre, GoodType::Coal, GoodType::Meat, GoodType::Ham);
32+ std::vector<GoodType> commonGoodPool = {
33+ GoodType::Beer, GoodType::Water, GoodType::Boat, GoodType::Sword, GoodType::Iron, GoodType::Flour,
34+ GoodType::Fish, GoodType::Bread, GoodType::Wood, GoodType::Boards, GoodType::Stones, GoodType::Grain,
35+ GoodType::Coins, GoodType::Gold, GoodType::IronOre, GoodType::Coal, GoodType::Meat, GoodType::Ham};
36+
37+ if (leatheraddon::isAddonActive (*world))
38+ commonGoodPool.insert (commonGoodPool.end (), {GoodType::Armor, GoodType::Skins, GoodType::Leather});
39+
40+ if (wineaddon::isAddonActive (*world))
41+ commonGoodPool.insert (commonGoodPool.end (), {GoodType::Grapes, GoodType::Wine});
3342
3443 constexpr unsigned numGoodTypesToCollect = 7 ;
3544
3645 // Randomly determine *numGoodTypesToCollect* many good types, one of which is a special good (=tool)
3746
3847 static_assert (numGoodTypesToCollect > 0 , " There have to be goods to be collected" );
39- static_assert (commonGoodPool.size () >= numGoodTypesToCollect - 1 , " There have to be enough commond goods " );
48+ RTTR_Assert (commonGoodPool.size () >= numGoodTypesToCollect - 1 );
4049 static_assert (!specialGoodPool.empty (), " There have to be enough special goods" );
4150 goodsToCollect.reserve (numGoodTypesToCollect);
4251
0 commit comments