Skip to content

Commit 4b31464

Browse files
authored
Merge pull request #1960 from ottml/add_leather_wine_to_economymode
Add leather/wine addon goods to economy mode if addons activated
2 parents 3bd9f02 + ad3b92b commit 4b31464

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

libs/s25main/EconomyModeHandler.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
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

2225
EconomyModeHandler::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

Comments
 (0)