Skip to content

Commit

Permalink
Allow per-title province nerfing
Browse files Browse the repository at this point in the history
  • Loading branch information
kingofmen committed Dec 24, 2017
1 parent 176c555 commit 043b053
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 0 deletions.
22 changes: 22 additions & 0 deletions CK2Province.cc
@@ -1,4 +1,8 @@
#include "CK2Province.hh"

#include <unordered_map>

#include "CK2Title.hh"
#include "EU4Province.hh"
#include "Logger.hh"
#include "UtilityFunctions.hh"
Expand Down Expand Up @@ -105,4 +109,22 @@ void CK2Province::calculateWeights (Object* weightObject, Object* troops, objvec
<< nameAndNumber(this) << "\n";
// Doesn't seem to be used any more?
weights[*ProvinceWeight::Trade] = safeGetInt("realm_tradeposts");

Object* nerf = weightObject->getNeededObject("special_nerfs");
double de_jure_nerf = 1;
auto* liege = countyTitle;
while (liege != nullptr) {
string key = liege->getKey();
double current_nerf = nerf->safeGetFloat(key, 1);
if (current_nerf != 1) {
de_jure_nerf *= current_nerf;
Logger::logStream("provinces")
<< "Nerfing " << nameAndNumber(this) << " by " << current_nerf
<< " due to " << key << "\n";
}
liege = liege->getDeJureLiege();
}
for (unsigned int i = 0; i < weights.size(); ++i) {
weights[i] *= de_jure_nerf;
}
}
1 change: 1 addition & 0 deletions Converter.cc
Expand Up @@ -1575,6 +1575,7 @@ bool Converter::calculateProvinceWeights () {

Object* weightObject = configObject->getNeededObject("buildings");
Object* troops = configObject->getNeededObject("troops");
weightObject->setValue(customObject->getNeededObject("special_nerfs"));
for (auto* ck2prov : CK2Province::getAll()) {
ck2prov->calculateWeights(weightObject, troops, buildingTypes);
Logger::logStream("provinces") << nameAndNumber(ck2prov)
Expand Down
Binary file modified release/CK2toEU4.exe
Binary file not shown.
7 changes: 7 additions & 0 deletions release/maps/custom_overrides.txt
Expand Up @@ -56,3 +56,10 @@ custom_score_traits = {
achievements = 0.01
}

# Reduce development in particular de-jure titles.
special_nerfs = {
e_persia = 0.66
k_arabia = 0.66
}


0 comments on commit 043b053

Please sign in to comment.