Hello and welcome to the Xlib and XSkills mod. These are technically two mods with the aim to add a character progression system to the game. I split this in two mods to seperate the systems behind the mods from the actual skills.
Xlib is an interface that does nothing noticeable at its own. It consists of two parts XLeveling and XEffects. XLeveling provides an interface to add skills and abilities to the game, does synchronisation between server and client and saves and loads data. And it provides a dialog that can be opend by pressing the 'O' key by default. I made it so that you can use this to implement your own skills to the game if you want and you don't have to rely on the ones i created. The mod also adds some general information for skills and abilities to the ingame handbook. XEffects provides an interface to add temporary or permanent effects to the game that can influence a player.
XSkills is an implementation for skills and abilities that uses XLeveling . You gather experience for different skills by doing certain actions. And if you have collected enough experience you will get an additional ability point that you can use to increase the tier of an ability.
This mod is still under development and some things will probably change. Never the less save games should always be compatible. If you have ideas for new abilities or skills i would like to hear them. If you find any bugs please report them to me so that i can fix them.
Skills
Following skills and abilities are currently implemented. Only the first tier of every ability is represented here:
Configuration
The mod creates automatically config files for every skill. You can usually find them in this directory or something similar: C:\Users\[UserName]\AppData\Roaming\VintagestoryData\ModConfig\XLeveling. The files are named after the skill they represent.
You can also find a xleveling.json there which contains some general configurations. Here is a list of the things you can configure and a short explanation what everything means:
Commands
This mod also adds some new commands to the game:
Installation
As any other mods just download the .zip folders and put them into your games mod folder. Do not unpack the .zip folders.
Uninstallation
You can remove the mod at any time. If you later decide to reinstall the mod, you can continue where you were. There only a few items added by this mod like the skill books and cages which become invalid if you remove the mod.
FAQ
Q: Can i change the minimum skill level i need to learn this ability or the experience i need to reach a skill level?
A: Yes you can. For Questions like this i recommend to look at the configuration section of the mod post first.
Q: How can i get unleran points?
A: You can just search in the handbook for consumables that give unlearn points. The exact search term could be language specific. In general base game alcoholic drinks will give you unlearn points.
Q: Can i change the experience i get from mods or can i add experience to new modded mobs?
A: You can adjust the values in the mods json files and i think json patches shold work, too. You can find the file here: xskills/assets/xskills/patches/combat.json. You can also use this file as an example on how to add experience to new mobs.
Q: Can you release a version for the game version X.
A: Probably: yes. But i only develop the mod for the newest game version. Providing support for older game versions would just be to much work. I may not be able to provide versions for every pre release version of the game since the game can change heavily between these updates and i sometimes need some time to adjust the code and sometimes i simply have not the time for this. So please wait at least 24 hours after the release of a game version before asking for a mod version for the game version.
Q: What does the all-rounder skill do?
A: First of all you can not choose another class with this ability. You can choose another XSkills Specialisation/Profession. This is a class of abilities that allows you to receive more experience for specific skills. By default you can just have one of these abilities. With the all-rounder ability you can have more than one. You can also identify these specialisation abilities by looking at the requirements in the tooltip. A few examples of these abilities are: farmer, miner, digger, metalworker.
Q: Why doesn't the smelter ability work for ingots?
A: You could easily create infinite metal loops. You would be able to smelt an ingot, break it down into nuggets and get more material than one ingot costs.
Q: Why do I get lesser amounts of metal bits from some items?
A: The metalworking skill allows you to get more items with fewer costs. The mod reduces the amount of bits you receive for recycling these items to prevent infinity metal loops. You can configure this feature by setting the "chiselRecipesRatio" value in the metalworking config file. Set it to "1.0" to disable this feature.
Q: Is this mod compatible with weapon mods?
A: Yes, as long as the author of the weapon mod categorized their weapons as one of the game's weapon categories.
Experience
In general you will get experience from doing skill related stuff. But since it was asked multiple times i will add a more detailed list here.
Translations
German and english translations by myself
Russian translation by @Digitalr, @Jay_
Polish translation by @Granolah
French translation by @Cendar
Japanese translation by @macoto_hino
Spanish translation by @Voragine, @tomandoawa
Ukrainian translation by @Sp0wN
Create your own skills
To add new skills or abilities to the game you should be able to code. Preferably in c# or a similar language.
I recommend to set up your development environment like described here and here.
Notice that a mod that uses XLib or code from any other mod always has to be a compiled mod. Your mod only needs to add a reference to the XLib library(.dll file) if you want to add abilities or skills. Note that you may have to unzip the file to get direct access to the .dll library. The xlib.zip also contains a xlib.xml file. It contains the documentation for xlib and you may want to add this file to your references, too.
I think it is always the easiest to learn from examples. So i made an example skill that shows the most important features of XLeveling.
You can find this example in the download section.
Downloads
The mod can now be downloaded through the mod db:
https://mods.vintagestory.at/show/mod/247
https://mods.vintagestory.at/show/mod/244
exampleskill.zip