To elaborate on what I'm looking for and what I'm not looking for: I want to change how quickly the XP required to level up increases as your level increases, ideally only for the player and possibly heroes, but not troops. I'm aware of a couple of semi-related parameters, but these don't do what I want.
level_boundary_multiplier in module.ini is just a multiplier on the required XP, and doesn't affect how quickly that number increases proportionally.
player_xp_multiplier in module.ini is just a multiplier on how much XP the player gets.
I thought maybe there's a script that multiplies this value by something when you level up, so I looked in module_scripts.py and found this, but I'm not sure if this is just the XP needed to upgrade troops in your party or if it applies to the player as well. I didn't find anything similar for just the player, so if this is the right one, I guess I'll have to decrease regulars_xp_multiplier in module.ini to compensate so troops don't level up too quickly.
Does anyone know if this is the right script?
level_boundary_multiplier in module.ini is just a multiplier on the required XP, and doesn't affect how quickly that number increases proportionally.
player_xp_multiplier in module.ini is just a multiplier on how much XP the player gets.
I thought maybe there's a script that multiplies this value by something when you level up, so I looked in module_scripts.py and found this, but I'm not sure if this is just the XP needed to upgrade troops in your party or if it applies to the player as well. I didn't find anything similar for just the player, so if this is the right one, I guess I'll have to decrease regulars_xp_multiplier in module.ini to compensate so troops don't level up too quickly.
Code:
# script_game_get_upgrade_xp
# This script is called from game engine for calculating needed troop upgrade exp
# Input:
# param1: troop_id,
# Output: reg0 = needed exp for upgrade
("game_get_upgrade_xp",
[
(store_script_param_1, ":troop_id"),
(assign, ":needed_upgrade_xp", 0),
#formula : int needed_upgrade_xp = 2 * (30 + 0.006f * level_boundaries[troops[troop_id].level + 3]);
(store_character_level, ":troop_level", ":troop_id"),
(store_add, ":needed_upgrade_xp", ":troop_level", 3),
(get_level_boundary, reg0, ":needed_upgrade_xp"),
(val_mul, reg0, 6),
(val_div, reg0, 1000),
(val_add, reg0, 30),
(try_begin),
(ge, ":troop_id", bandits_begin),
(lt, ":troop_id", bandits_end),
(val_mul, reg0, 2),
(try_end),
(set_trigger_result, reg0),
])
Does anyone know if this is the right script?