diff --git a/src/nations/nations.cpp b/src/nations/nations.cpp index f9b735ad7..e84f7649c 100644 --- a/src/nations/nations.cpp +++ b/src/nations/nations.cpp @@ -371,6 +371,7 @@ void update_military_scores(sys::state& state) { And then we add one point either per leader or per regiment, whichever is greater. */ + float lp_factor = state.defines.alice_military_score_leadership_factor; state.world.execute_serial_over_nation([&, disarm = state.defines.disarmament_army_hit](auto n) { auto recruitable = ve::to_float(state.world.nation_get_recruitable_regiments(n)); auto active_regs = ve::to_float(state.world.nation_get_active_regiments(n)); @@ -382,7 +383,7 @@ void update_military_scores(sys::state& state) { auto num_leaders = ve::apply( [&](dcon::nation_id i) { auto gen_range = state.world.nation_get_leader_loyalty(i); - return float((gen_range.end() - gen_range.begin())); + return float((gen_range.end() - gen_range.begin())) * lp_factor; }, n); state.world.nation_set_military_score(n, diff --git a/src/parsing/defines.hpp b/src/parsing/defines.hpp index 6564dcd15..7c785de1b 100644 --- a/src/parsing/defines.hpp +++ b/src/parsing/defines.hpp @@ -656,6 +656,7 @@ LUA_DEFINES_LIST_ELEMENT(alice_ai_attack_target_radius, -0.996000) \ LUA_DEFINES_LIST_ELEMENT(alice_full_reinforce, 1.000000) \ LUA_DEFINES_LIST_ELEMENT(alice_ai_offensive_strength_overestimate, 1.000000) \ + LUA_DEFINES_LIST_ELEMENT(alice_military_score_leadership_factor, 1.000000) \ namespace parsing { struct defines {