Skip to content

Commit

Permalink
Add black market art change as hardcodedFeature
Browse files Browse the repository at this point in the history
  • Loading branch information
dydzio0614 committed Jul 13, 2017
1 parent 1d73550 commit 5d74c3e
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 14 deletions.
4 changes: 2 additions & 2 deletions config/defaultMods.json
Expand Up @@ -24,8 +24,8 @@
"NEGATIVE_LUCK" : false,
"MAX_HEROES_AVAILABLE_PER_PLAYER" : 16,
"MAX_HEROES_ON_MAP_PER_PLAYER" : 8,
"WINNING_HERO_WITH_NO_TROOPS_RETREATS": true

"WINNING_HERO_WITH_NO_TROOPS_RETREATS": true,
"BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE": true
},
"modules":
{
Expand Down
2 changes: 2 additions & 0 deletions lib/CModHandler.cpp
Expand Up @@ -641,6 +641,8 @@ void CModHandler::loadConfigFromFile (std::string name)
logGlobal->debugStream() << "\tALL_CREATURES_GET_DOUBLE_MONTHS\t" << settings.ALL_CREATURES_GET_DOUBLE_MONTHS;
settings.WINNING_HERO_WITH_NO_TROOPS_RETREATS = hardcodedFeatures["WINNING_HERO_WITH_NO_TROOPS_RETREATS"].Bool();
logGlobal->debugStream() << "\tWINNING_HERO_WITH_NO_TROOPS_RETREATS\t" << settings.WINNING_HERO_WITH_NO_TROOPS_RETREATS;
settings.BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE = hardcodedFeatures["BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE"].Bool();
logGlobal->debugStream() << "\tBLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE\t" << settings.BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE;
const JsonNode & gameModules = settings.data["modules"];
modules.STACK_EXP = gameModules["STACK_EXPERIENCE"].Bool();
logGlobal->debugStream() << "\tSTACK_EXP\t" << modules.STACK_EXP;
Expand Down
10 changes: 6 additions & 4 deletions lib/CModHandler.h
Expand Up @@ -268,20 +268,22 @@ class DLL_LINKAGE CModHandler
int MAX_HEROES_AVAILABLE_PER_PLAYER;
int MAX_HEROES_ON_MAP_PER_PLAYER;
bool WINNING_HERO_WITH_NO_TROOPS_RETREATS;
bool BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE;

template <typename Handler> void serialize(Handler &h, const int version)
{
h & data & CREEP_SIZE & WEEKLY_GROWTH & NEUTRAL_STACK_EXP & MAX_BUILDING_PER_TURN;
h & DWELLINGS_ACCUMULATE_CREATURES & ALL_CREATURES_GET_DOUBLE_MONTHS &
MAX_HEROES_AVAILABLE_PER_PLAYER & MAX_HEROES_ON_MAP_PER_PLAYER;
if(version >= 756)
{
h & WINNING_HERO_WITH_NO_TROOPS_RETREATS;
}
else if(!h.saving)
{
WINNING_HERO_WITH_NO_TROOPS_RETREATS = true;
}

if(version >= 775)
h & BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE;
else if(!h.saving)
BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE = true;
}
} settings;

Expand Down
15 changes: 8 additions & 7 deletions lib/mapObjects/CGMarket.cpp
Expand Up @@ -18,6 +18,7 @@
#include "../CCreatureHandler.h"
#include "../CGameState.h"
#include "CGTownInstance.h"
#include "../CModHandler.h"

///helpers
static void openWindow(const OpenWindow::EWindow type, const int id1, const int id2 = -1)
Expand Down Expand Up @@ -284,13 +285,13 @@ std::vector<int> CGBlackMarket::availableItemsIds(EMarketMode::EMarketMode mode)

void CGBlackMarket::newTurn(CRandomGenerator & rand) const
{
if(cb->getDate(Date::DAY_OF_MONTH) != 1) //new month
return;

SetAvailableArtifacts saa;
saa.id = id.getNum();
cb->pickAllowedArtsSet(saa.arts, rand);
cb->sendAndApply(&saa);
if(VLC->modh->settings.BLACK_MARKET_MONTHLY_ARTIFACTS_CHANGE && cb->getDate(Date::DAY_OF_MONTH) == 1) //new month and feature enabled
{
SetAvailableArtifacts saa;
saa.id = id.getNum();
cb->pickAllowedArtsSet(saa.arts, rand);
cb->sendAndApply(&saa);
}
}

void CGUniversity::initObj(CRandomGenerator & rand)
Expand Down
2 changes: 1 addition & 1 deletion lib/serializer/CSerializer.h
Expand Up @@ -14,7 +14,7 @@
#include "../ConstTransitivePtr.h"
#include "../GameConstants.h"

const ui32 SERIALIZATION_VERSION = 774;
const ui32 SERIALIZATION_VERSION = 775;
const ui32 MINIMAL_SERIALIZATION_VERSION = 753;
const std::string SAVEGAME_MAGIC = "VCMISVG";

Expand Down

0 comments on commit 5d74c3e

Please sign in to comment.