How to change leveling system

Users who are viewing this thread

MetaKnight

Recruit
I have following question:
  • how to change amount of experienece needed to level up. I mean how to change experience curve (the way it calculates)
  • how to change amout of points I get per one level (attribute, skill, weapon)

I don't have Viking Conquest and I don't want to. And please don't advise me using cheats.
Also you can me suggest some mods that does that things.
Lastly, how can I make my changes compatible with Floris mod.

Thank you for your answers.
 
Are you doing source mod and using sublime?
You can find a number of your answers yourself by just creating clever searches.

I just searched quickly in module_scripts with "upgrade" and found script_game_get_upgrade_cost.

The quickest way is to change the values in module.ini.

Next, use tweakmb; there is a section that toggles xp per battle.

From there, use the button "tweak viewer" to display the source file and source script for his tweak database.
 
MetaKnight said:
how to change amount of experienece needed to level up. I mean how to change experience curve (the way it calculates)
As far as I know, it's hard-coded and cannot be changed.
 
Topper said:
As far as I know, it's hard-coded and cannot be changed.

it is defined on module.ini, so it can be changed (XP for player, companions or troops) and the points gained per level.

Code:
    ## LEVELING SYSTEM
    skill_points_per_level              = 2
    attribute_points_per_level          = 0.195
    weapon_points_per_level             = 5
    level_boundary_multiplier           = 2.0
    attribute_required_per_skill_level  = 2

    ## XP FOR TROOPS
    player_xp_multiplier   = 1.0 
    hero_xp_multiplier     = 2.0
    regulars_xp_multiplier = 2.0

you can find more flags on VC module.ini, instead of the Native one.
 
kalarhan said:
it is defined on module.ini, so it can be changed (XP for player, companions or troops) and the points gained per level.

Oh that's right, it's level_boundary_multiplier.
Thanks Kalarhan.
 
kalarhan said:
Topper said:
As far as I know, it's hard-coded and cannot be changed.

it is defined on module.ini, so it can be changed (XP for player, companions or troops) and the points gained per level.

Code:
    ## LEVELING SYSTEM
    skill_points_per_level              = 2
    attribute_points_per_level          = 0.195
    weapon_points_per_level             = 5
    level_boundary_multiplier           = 2.0
    attribute_required_per_skill_level  = 2

    ## XP FOR TROOPS
    player_xp_multiplier   = 1.0 
    hero_xp_multiplier     = 2.0
    regulars_xp_multiplier = 2.0

you can find more flags on VC module.ini, instead of the Native one.

This may be a stupid question, but is there any way to get those VC variables into regular Warband?
 
Vercinger said:
This may be a stupid question, but is there any way to get those VC variables into regular Warband?

there is no stupid question  :mrgreen:

VC uses the same engine as Native (what you called "regular Warband" above). You can apply the new variables used on the DLC in mods/Native, as long you are using the latest engine (1.170+)
 
Thanks! And damn, you're fast :eek:

I actually though about just copying those variables straight into the Native module.ini as soon as I posted here. Wouldn't hurt to try, right? Imagine my surprise when it actually worked!

Took me a while to test them all, first having to figure out what the hell the 0.195 for attributes means (turns out it's just VC giving 1 point per 5 levels), then creating a character and fighting some looters to test level ups (and ingloriously getting knocked out by them in the process), so by the time I came here to edit my post, you'd already replied, sorry to waste your time! :oops:

But as long as you're here, do you mind helping with a couple of other things?

First, the level_boundary_multiplier only multiplies the base level curve, whereas what I'm trying to do (and if I understand correctly, the OP too) is to make the curve less exponential. Is there any way to do that?

Second, is there any way to change skill bonuses from the player character's skill? As in, the +1 at lvl2 to +4 at lvl10 added to highest skill in party.

I've been searching but couldn't find anything, I was about to post in the Q&A thread before stumbling upon this one, which answered my main questions (how to change the attribute limit of stats and how to change points given at levelup). So even if the rest is hardcoded, I'll still be able to mostly get progression where I want it, but it'd still be nice to be able to adjust those other couple of things as well.
 
Vercinger said:
Took me a while to test them all, first having to figure out what the hell the 0.195 for attributes means (turns out it's just VC giving 1 point per 5 levels), then creating a character and fighting some looters to test level ups (and ingloriously getting knocked out by them in the process)
A more efficient way to do it is to create a simple trigger (module_simple_triggers.py) that give you some experience every 2 hours or something. That's what  I do when I tweak with leveling up. You simply wait in the world map and characters levels up.

Vercinger said:
First, the level_boundary_multiplier only multiplies the base level curve, whereas what I'm trying to do (and if I understand correctly, the OP too) is to make the curve less exponential. Is there any way to do that?
I have been trying to do that for a long time, but it's not possible, the function that determines the curve is hard-coded.
What I ended up doing for my game was to give more skills/attributes per level up as the level goes up: it's a huge hack but I enjoyed it.
 
Vercinger said:
First, the level_boundary_multiplier only multiplies the base level curve, whereas what I'm trying to do (and if I understand correctly, the OP too) is to make the curve less exponential. Is there any way to do that?

Second, is there any way to change skill bonuses from the player character's skill? As in, the +1 at lvl2 to +4 at lvl10 added to highest skill in party.

you can use scripts to control xp curve and bonus, VC modsys has examples of how you can do this
Code:
game_get_upgrade_xp
game_get_skill_modifier_for_troop

module.ini has default configurations for the code inside the engine. With custom code (scripts/triggers) you can create your own rules.

For future questions visit the Q&A thread https://forums.taleworlds.com/index.php/topic,6575.0.html

Cheers
 
Back
Top Bottom