Xandu Posted March 14, 2020 Report Share Posted March 14, 2020 (edited) 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: Spoiler Skill: Survival Spoiler Ability: Long Life Increases your health by 5% and additional 1% for each level at the survival skill. Maxed out at 15%. Ability: Huge Stomach Increases your maximum saturation by 500. Ability: Well Rested Increases your experience gain for every skill up to 6% for 480 seconds depending on how rested you are after sleeping. Ability: Nudist Clothing is a burden. Increases your movement speed up to 6%, your health up to 3 points, your temperature resistance up to 4 points and decreases your hunger rate up to 10%. Every piece of cloth you wear reduces these effects and can lead into disadvantages. Ability: Meat Shield Absorbs 10% of the incoming damage. You lose 20 times the absorbed damage as saturation. Ability: All-rounder You can learn 1 additional professions. Ability: Photosynthesis Increases your health generation in the sunlight up to 15% but reduces the health generation in the dark up to 25%. Ability: Strong Back Adds an additional inventory with 3 slots to your character. You can switch the items between this inventory and your hotbar. [default: R] Ability: On the road Increases your movement speed on paths by 10%. Ability: Scout Increases your movement speed by 5%. Ability: Healer Healing items you use heal additional 25% over 30 seconds. Ability: Steeplechaser Increases your step height by 100%. Ability: Sprinter Increases your movement speed by 5% and your hungerrate by 10%. Ability: Abundance Adaptation Increases your healing effectiveness by 5% and your hungerrate by 10%. Ability: Luminiferous You begin to glow in dark areas, creating a bright area around you with a light level of 10. Ability: Cateyes Your eyes can adjust to dark areas increasing the brightness up to 6 times, but you may lose some colors. Be careful with bright light sources while your eyes are adapted. Skill: Farming Spoiler Ability: Green Thumb Increases the yield of harvested crops by 10% and additional 2% for each level at the farming skill. Maxed out at 30%. Ability: Demeter's Bless Increases the yield of gathered seeds by 5% and additional 1% for every level at the farming skill. Maxed out at 15%. Ability: Gatherer Increases the yield from harvesting grass, berry bushes, reeds and mushrooms by 10% and additional 2% for every level at the farming skill. Maxed out at 30%. Ability: Orchardist Increases the yield from fruit trees by 10% and additional 2% for every level at the farming skill. Maxed out at 30%. Ability: Repotting Harvesting non-matured crops drops always the seeds. Ability: Recycler Breaking farmland now drops soil depending on the remaining fertility. Can improve the soil up to a base fertility of 0. Ability: Careful Hands Allows you to harvest mushrooms and reeds with your bare hands without breaking the roots. Ability: Farmer You will receive 40% more experience for all farming activities. The amount of professions you can learn is limited. Ability: Bright Harvest Your shears and scythes can break 40% more blocks at once. Ability: Cultivated Seeds If you plant seeds the planted plant has a chance of 10% and additional 1% for each level at your farming skill to skip a growth stage. If the crop was planted in a greenhouse this ability will always trigger and has a chance to trigger again. The chance is capped at 30%. Ability: Beekeeper Breaking harvestable skeps will give you 1 more Honeycombs. Ability: Extensive Farming Enables tool modes for some farming tools to work a larger area. Enables a 2 times 2 area tool mode. Ability: Composting Every time you harvest a full grown crop the farmland will receive some nutrients back. Ability: Cross Breeding Harvesting a fully grown crop next to a fully grown crop of another type has a base chance of 1% to drop a random seed. Ability: Beemaster You can harvest skeps with right click without breaking them. Skill: Digging Spoiler Ability: Clay Digger Increases clay harvesting yield by 10% and additional 2% for each level at the digging skill. Maxed out at 30%. Ability: Peat Cutter Increases peat harvesting yield by 10% and additional 2% for each level at the digging skill. Maxed out at 30%. Ability: Saltpeter Digger Increases saltpeter harvesting yield by 10% and additional 2% for each level at the digging skill. Maxed out at 30%. Ability: Shovel Expert Breaking a block with a shovel increases your digging speed with shovels by 1% and additional 0.1% for each level at the digging skill. Maxed out at 2%. This effect stacks up to 10 times and last 4 seconds. Ability: Careful Digger Digging with a shovel has a chance of 5% and additional 1% for each level at the digging skill to not reduce the durability of the shovel. The chance is capped at 15%. Ability: Mixed Clay While you harvest one type of clay you have a chance of 50% of getting an extra clay of an other type. Ability: Digger You will receive 40% more experience for all digging activities. The amount of professions you can learn is limited. Ability: Scrap Detector Every time you break a sand or gravel block there is a chance of 2% that the block breaks as if it was sieved with a pan. Ability: Scrap Specialist Increases the amount of rare items from your Scrap Detector ability by 50%. Skill: Forestry Spoiler Ability: Lumberjack Increases the yield of wood from felling trees by 10% and additional 1% for each level at the forestry skill. Maxed out at 20%. Ability: Afforestation You will receive 10% more saplings from breaking leaves. Ability: More Ladders! Increases your ladders building capacity by giving you more sticks from breaking leaves. Of course you can also just burn them. You will receive 10% and additional 2% for each level at the forestry skill more sticks from breaking leaves. Maxed out at 30%. Ability: Resin Farmer Every time you cut down a pine there is a chance of 2% per wood log that it drips resin. Ability: Tree Nursery Planted trees only need 87% of the default time to grow. Ability: Axe Expert Breaking a block with an axe increases your tree felling speed with axes by 1% and additional 0.1% for each level at the forestry skill. Maxed out at 2%. This effect stacks up to 10 times and last 30 seconds. Ability: Careful Lumberjack Cutting a tree with an axe has a chance of 5% and additional 1% for each level at the forestry skill to not reduce the durability of the axe. The chance is capped at 15%. Ability: Forester You will receive 40% more experience for all foresting activities. The amount of professions you can learn is limited. Ability: Charcoal Burner You will receive 13% more charcoal from charcoal piles. Ability: Grafter Increases success rate when grafting and rooting fruit tree branches by 50%. Ability: Resin Extractor You have a chance to receive resin from every tree you cut down. The chance is 50% of the chance of your Resin Farmer ability. Skill: Mining Spoiler Ability: Stonebreaker Increases the number of stones you receive by 10% and additional 2% for each level at the mining skill. Maxed out at 30%. Ability: Stonecutter Every time you break a rock you have a chance of 2% and additional 1% for each level at the mining skill to receive the raw rock instead of stones. Maxed out at 12%. Ability: Ore Miner Increases the number of ores you receive by 5% and additional 1% for each level at the mining skill. Maxed out at 15%. Ability: Gemstone Miner Increases the number of gemstones you receive by 5% and additional 1% for each level at the mining skill. Maxed out at 15%. Ability: Pickaxe Expert Breaking a block with a pickaxe increases your mining speed with pickaxes by 1% and additional 0.1% for each level at the mining skill. Maxed out at 2%. This effect stacks up to 10 times and last 4 seconds. Ability: Careful Miner Mining a stone or ore with a pickaxe has a chance of 5% and additional 1% for each level at the mining skill to not reduce the durability of the pickaxe. The chance is capped at 15%. Ability: Miner You will receive 40% more experience for all mining activities. The amount of professions you can learn is limited. Ability: Crystal Seeker Increases the effect of your Ore Miner ability for crystallized ores of 100%. Ability: Bomberman If you blow up rock or ores with a bomb there are 33% less drop penalties. Ability: Geologist Every time you break a rock you will be notified when there are ore blocks nearby. Higher tiers have a higher radius. Ability: Veinminer When you are mining ore or gem blocks you will mine 2 plus 1 for every 3 levels at the mining skill additional blocks. This is capped at a maximum of 10 blocks. Your tool will take 100% additional damage and you will lose 10 saturation for each extra block mined. Ability: Tunnel Digger Allows you to mine a 3 by 3 area of stone blocks at once. Your tool will take 50% additional damage and you will lose 20 saturation for each extra block mined. Ability: Blaster Your Stonebreaker, Stonecutter, ore miner and gemstone miner abilities are also applied if you blow up rock or ores with bombs. Skill: Husbandry Spoiler Ability: Hunter Increases the damage you deal to animals and reduces the damage animals deal to you by 10% and additional 0% for each level at the husbandry skill up to a maximum of 10%. Ability: Butcher Increases the meat yield from animals by 5% and additional 1% for each level at the husbandry skill up to a maximum of 15%. Ability: Furrier Increases the hide yield from animals by 5% and additional 1% for each level at the husbandry skill up to a maximum of 15%. Ability: Bonebreaker Increases the yields from breaking carcasses by 10% and additional 1% for each level at the husbandry skill up to a maximum of 20%. Ability: Rancher Increases the yield of milk from milkable animals and the number of eggs you can take of henboxes by 33%. Additionally you have a chance of 2% to increase the generation of a milked animal up to a maximum of generation 5. Ability: Feeder Animals eating from your troughs have a chance of 10% and additional 1% for each level at the husbandry skill up to a maximum of 20% to not consume any feed. Animals additionally have a chance 1% to increases it's generation when eating from your troughs up to generation 4. Ability: Light-footed Reduces the animal seeking range by -20%. Ability: Shepherd You will receive 40% more experience for the husbandry skill. The amount of professions you can learn is limited. Ability: Preserver Increases the time harvested meat from corpses keeps being fresh by 10% and additional 1% for each level at the husbandry skill up to a maximum of 30%. Ability: Tanner Reduces the liquid consumption when tanning leather by 10% and additional 1% for each level at the husbandry skill up to a maximum of 20%. Ability: Cheesy Cheese When milking an animal you have a chance of 5% and additional 1% for every day the animal was not milked to get cheese instead of milk. Ability: Catcher Allows you to craft cages and use them to catch small animals. Ability: Breeder Reduces the pregnancy time of animals by 10% and additional 2% for each level at the husbandry skill and 1% times the generation of the mother animal up to a maximum of 60%. Ability: Mass Husbandry Increases the number of offsprings of animals by 0% and additional 1% for each level at the husbandry skill and 1% times the generation of the mother animal up to a maximum of 30%. Skill: Combat Spoiler Ability: Swordsman Increases the damage you deal with swords by 10% and additional 1% for each level at the combat skill. Maxed out at 20%. Ability: Archer Increases the damage you deal with bows by 10% and additional 1% for each level at the combat skill. Maxed out at 20%. Ability: Spearman Increases the damage you deal with spears by 10% and additional 1% for each level at the combat skill. Maxed out at 20%. Ability: Tool Mastery Increases the damage you deal with tools by 5% and additional 2% for each level at a corresponding skill. Capped at 25%. Pickaxes are affected by the mining skill, axes by the forestry skill, hammers by the metalworking skill, hoes by the farming skill and shovels by the digging skill. Ability: Iron Fist Increases damage you deal with your bare hands by 2 times multiplied by the average protection tier of your armor. Ability: Monk Increases damage you deal with your bare hands by 6 times. The average protection tier of your armor reduces the bonus damage. Ability: Looter Increases the amount of drops you receive from mobs by 10% and additional 1% for each level at the combat skill. Capped at 20%. Ability: Warrior You will receive 40% more experience for killing enemies. The amount of professions you can learn is limited. Ability: Sniper Increases your accuracy with ranged weapons by 15%. Ability: Fresh Flesh Every time you kill an enemy you will receive 10 Protein saturation. Ability: Shovel Knight Every time you hit an enemy with a shovel you have a chance of 3% to deal a massive amount of damage. Ability: Adrenaline Rush If your health falls below 20% of your maximum health you will receive the adrenaline rush effect which increases your movement speed by 20% and reduces the incoming damage by 25% for 10 seconds. When this effects ends you will be exhausted for 24 seconds. Ability: Vampire Every time you hit an enemy you will receive 3% of the dealt damage as healing. But your health regeneration in the sunlight is reduced by up to 80%. Ability: Burning Rage Every time you hit an enemy you have a chance of 2% to ignite it. Ability: Bloodlust Every time you kill an enemy you will get one stack of the bloodlust effect. It increases your caused damage by 2% per stack and your received damage by 3% per stack. This effect can stack up to 10 times and lasts 16 seconds. Skill: Metalworking Spoiler Ability: Smelter You need 10% less metal to fill a mold. Ability: Metal Recovery After finishing a metal work on an anvil you will receive one metal bit for every 4 splits you have done on the work. Ability: Heating Hits Every hit on a smithing work on an anvil will increase its temperature by 1°C. Ability: Hammer Expert After finishing a metal work on an anvil your hammer will get durability back. The returned durability corresponds to 5% and additional 1% for each level at the metalworking skill of the used durability. Maxed out at 15%. Ability: Heavy Hits Your heavy hits on slag works as a split. Ability: Blacksmith Items you forge on an anvil can now have quality with a base value of 1 and a maximum value of 5 quality. Creating tools or armor with quality parts will also create items with quality. Armor and tools with quality will have increased stats. Ability: Metalworker You will receive 40% more experience for the metalworking skill. The amount of professions you can learn is limited. Ability: Finishing Touch You have a chance for every hit to instantly finish a smithing work. The more advanced the work, the greater the chance. The maximal chance is 1% and additional 0.1% for each level at the metalworking skill. This chance is capped at 2% per hit. Ability: Duplicator You have a chance of 5% and additional 0% for each level at the metalworking skill to receive a second identical item after finishing a metal work on an anvil. Maxed out at 5%. Does not affect some works, that have a smeltable product. Ability: Salvager You can now disassemble locust to get metal bits. You receive 95% and additional 1% for each level at the metalworking skill of the default yield. Capped at 110%. Ability: Master Smith Your heavy hits move up to 2 voxels to appropriate positions, instead of just spreading them. Ability: Sense of time You will receive a message when smelting in a crucible is finished. Ability: Machine Learning You can share your smithing knowledge with helve hammers and they can profit from some of your abilities. Ability: Bloomery Expert You can take smelting results out of a bloomery without destroying it. Ability: Automated Smithing Your helve hammers can work items with up to 1 layers. Skill: Pottery Spoiler Ability: Thrift You will receive 3 more voxels for each clay you use for pottery. Ability: Layer layer When you are copying layers you will copy 1 additional voxels. Ability: Perfect Fit When you remove single voxels you can't remove right voxels. Ability: Perfectionist When you add single voxels you can't add a wrong voxel. Ability: Potter You will receive 40% more experience for the pottery skill. The amount of professions you can learn is limited. Ability: Fast Potter You have a chance for every step to instantly finish a pottering work. The more advanced the work, the greater the chance. The maximal chance is 1% and additional 0.1% for each level at the pottery skill. This chance is capped at 2% per step. Ability: JackPot You have a chance of 5% and additional 0% for each level at the pottery skill to receive a second identical item after finishing a pottery work. Maxed out at 5%. Ability: Infallible Increases the radius of your perfectfit and perfectionist abilities by 1. Tier 2 also affects layers. Ability: Inspiration When you burn a storage vessel, a flowerpot or a planter you have a chance of 10% to create a special variant. Skill: Cooking Spoiler Ability: Canteen Cook You can cook 34% more servings at once. Ability: Fast Food You can cook 10% and additional 1% for each level at the cooking skill faster. Capped at 20%. Ability: Well done Increases the shelf life of your cooked servings by 5% and additional 1% for each level at the cooking skill. Capped at 15%. But it also increases the cooking time by 20%. Ability: Dilution Increases the number of servings you gain when cooking by 10% and additional 1% for each level at the cooking skill. Capped at 20%. Ability: Desalinate Allows you to fill a pot with water to cook salt. You need to fill all cooking slots with water to cook salt. You receive 1 salt for every 4*4 liters of water. Ability: Salty Backpack Cooking ingredients in your backpack perish only 75% as fast as normal. Ability: Gourmet Food you cook can now have quality with a base value of 1 and a maximum value of 5 quality. Eating food with quality gives the eating player a positive effect for 10 minutes. The effect depends on the nutrition values of the food. The intensity of the effect depends on the quality of the food. You can have only one of these effects at the same time. Ability: Chef You will receive 40% more experience for the cooking skill. The amount of professions you can learn is limited. Ability: Happy Meal You have a chance of 10% and additional 1% for each level at the cooking skill to add an additional random valid ingredient when you cook a meal. Capped at 20%. Ability: Juicer Increases the amount of juice you get from one fruit by 33%. Ability: Egg Timer You will receive a message when a meal has finished cooking. Skill: Temporal Adaptation Spoiler Ability: Temporal Stable Reduces the overall loss of temporal stability by 5% and additional 1% for each level at the temporal adaptation skill. Maxed out at 15%. Ability: Caveman Reduces the loss of temporal stability by up to 10% and additional 2% for each level at the temporal adaptation skill. The deeper you are the greater is the advantage. Maxed out at 30%. Ability: Temporal Adapted Reduces the loss of temporal stability by up to 10% and additional 2% for each level at the temporal adaptation skill. The lower your current stability is the greater is the advantage. Maxed out at 30%. Ability: Temporal Recovery Increases the recovery rate of your temporal stability by 50%. Ability: Shifter You have a chance of up to 11% to avoid any damage from enemies. The lower your temporal stability, the higher is the chance. Ability: Fast Forward Increases your mining speed and food consumption up to 10%. The lower your temporal stability, the higher is the value. Ability: Timelord You will receive 40% more experience for the temporal adaptation skill. The amount of professions you can learn is limited. Ability: Stable Miner Increases your yield from all ores by up to 10% if you are in a temporal stable area. Ability: Stable Warrior Increases your dealt damage by up to 10% if you are in a temporal stable area. Ability: Temporal Unstable Your Stable Miner and Stable Warrior abilities will receive bonuses from temporal unstable areas instead of temporal stable areas and increases these bonuses by 33%. Ability: Timeless You will no longer get damage from temporal instability. 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: Spoiler xleveling.json: unlearnCooldown: The time you have to wait until you can use the ability unlearn mechanic again in real time minutes. You can set this to 0 to disable the need to wait. pointsForUnlearn: The number of unlearn points you need to decrease the tier of an ability. You can set this to 0 to disable the need for this points. expLossOnDeath: The relative value of experience you lose when you die. Values lower than 1.0 means you lose experience relativ to your earned experience for the next level. Values greater than 1.0 means you lose experience relativ to the total experience you need for the next level. In this case the values are interpreted as a percentage value. Notice that you can never lose a skill level. specialisationLimit: The base limit of specialisations/professions you can learn. Note that the number of specialisations can also be manipulated in other ways like an ability. expMult: The base multiplier for the all experience you earn. [skill].json: name, id: Internal values. Just ignore them. maxLevel: The maximum level you can reach in this skill. enabled: This value usually is always true. Set it to false to disable the skill. You can not earn experience in disabled skills and you can not use its abilities. Note that this does not remove any implementations of any skills or abilities for technical reasons. experience: So this part seems to be very confusing. The experience values change the experience you need to reach the next skill level. They not influence the experience you receive. If you want to change the value of experience you receive you have to change the value for a specific action. E.G. a lot of experience gain values are set in behaviors directly in the mods folder.(xskills/assets/xskills/patches) You can change these values with json patching. For some skills like cooking or metalworking there are no values defined. This is because there are technical implemented very different than other skills. But usually the experience for these skills are calculated dynamically and only have one base value. So you can change the experience you need to level up a skill instead of changing this base value as it would have the same effect. expEquation: This is the equation used to calculate the experience for a skill. Note that the equations take the level that you want to reach as an argument. So if you are level 1 you have to put 2 as level in the equation. Currently there are supported 3 different equations: "quadratic": This is the default one for most skills: expValue * (level-2)^2 + (level-2) * expMult + expBase "logarithmic": This is a logarithmic equation: ln(level - 1) * expMult + expBase "exponential": This is a exponential equation: expMult^(level - 2) * expValue + expBase expBase, expMult, expValue: These are the values that are used by the equations to calculate the needed experience. You need to look at the equations to see what each value does. An equation does not need to use all values. abilities: Each ability of a skill has an entry here to configure the ability. name, id: Internal values again. Just ignore them. Are used to identify an ability. Changing them could result in unexpected behavior. maxTier: The maximal tier of this ability. This does not effect requirements. If you want to change a requirement you have to json-patch them. minLevel: The skill level you need to learn this ability. enabled: This value usually is always true. Set it to false to disable the ability. You can not use disabled abilities. Note that this does not remove any implementations of any abilities for technical reasons. values: I think this one needs a little bit more explanation. Each ability has a set of values. This set somehow consist out of multiple subsets. Each subset represents one tier of the ability. Every ability needs a specific amount of values within each subset and each subset has the same number of values. So the number of total values in the set must always be a product of the number of values in each subset and the maximal tier. So the values look somehow like this: values = [subset0,subset1,...] = [[value0, value1,...],[value0, value1,...],...]. The position of a specific value in the set can be calculated by: tier * values per tier + value id. If you use a wrong number of values the mod will use the default values and will override the the values in the config file. But this is only important if you want to change the number of tiers of an ability. You can also just adjust a value of an ability. If you need a hint what value does effect what exactly you can look at the localisation files. They usually contain substrings like {0} which will be evaluated to the value with the id 0. So the first value in every subset. attributes: Some skills can have skill specific settings here. ClassExpMultipliers: Here are the experience multipliers for each class. You can just add new ones if you have a mod that adds new classes or just change the existing values. Commands This mod also adds some new commands to the game: Spoiler level [get|set|add|reset ] [Player] [Skill] [Level] Sets or gets the level of a specific skill of a specific player. You can also add a specific amount of levels to the skill or reset all tiers of all abilities of this skill to zero. You can set the player or the skill to 'all' to affect all players or skills. You can use reset config [skill]/all to reset a configuration file for a specific skill or all skills. exp [get|set|add] [Player] [Skill] [Experience] Sets or gets the experience of a specific skill of a specific player. You can also add a specific amount of experience to the skill. tier [get|set|add] [Player] [Skill] [Ability] [Tier] Sets or gets the tier of a specific ability of a specific skill of a specific player. You can also add a specific amount of tiers to the ability. skillset [save|load|delete|default] [SkillSetName] You can save the skill set of the current game with the save command. This will also set the skill set of the current game to the new saved one. You can use this to load the saved skill set with the load command. So you can use the same skill set for different save games. The delete command will delete a saved skill set and the default command will reset the skill set of the current game to its default save game specific skill set. 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 If you want to uninstall the mod make sure you have no meals or meal containers such as crocks left in your world with more than 4 ingredients in it. You can receive these from the happy meal (cooking) ability. Meals with more than 4 ingredients in your world without the mod will crash your game. Unfortunately crocks seem to be affected by this even when they do not have more than 4 ingredients in it. So you may need to remove every crock. 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. These are 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 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. Spoiler Survival: You will receive passive experience over time. But if you die you will lose a proportion of your earned experience. Farming: You will receive experience from gathering fully grown crops. You can also get some experience from harvesting non fully grown crops as long as they still drop some products. You will not receive experience from harvesting pumpkins since you could just place and harvest them in an infinite loop. But you can get some experience from breaking their vines. Digging: You will receive experience from breaking blocks like sand, dirt and gravel. Forestry: You will receive experience from cutting down trees. Only grown tree logs will give you experience points. You will also get some experience from digging up charcoal pits. Mining: You will receive experience from breaking ore and stone blocks. Husbandry: You will receive experience from killing animals. You will get more experience from more domesticated animals. You will also get some experience for milking and feeding animals as well as collecting eggs from hen boxes.. Combat: You will receive experience from killing aggressive enemies. Metalworking: You will receive experience from doing casts and smithing work. Pottery: You will receive experience from creating objects with clay through the clay forming mechanics. Cooking: You will receive experience from cooking meals in a pot over a fire pit. Temporal Adaptation: You will receive passive experience from being in temporal unstable areas. 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 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 Edited July 10 by Xandu 13 4 3 Link to comment Share on other sites More sharing options...
Trace Carver Posted March 15, 2020 Report Share Posted March 15, 2020 Hey Xandu, your mod looks interesting, especially for RolePlay Servers, but my Problem is on Version: 1.12.8 that the "P" Menü looks not as yours, seems not compatible with my game or is it a known issue? Link to comment Share on other sites More sharing options...
Xandu Posted March 15, 2020 Author Report Share Posted March 15, 2020 (edited) Hey Trace Carver,This looks like a localisation problem. What language are you using? I think i found the issue. Seems to be a weird behavior. Should be fixed for the next version. Uploaded an update. Localisation Should be fixed now. Also added the combat skill. There are no abilities yet, but you can collect experience from killing drifters. Edited March 15, 2020 by Xandu Link to comment Share on other sites More sharing options...
Trace Carver Posted March 15, 2020 Report Share Posted March 15, 2020 (edited) Okay Server runs on German, my Game too, will try your update and give you my answer :3 EDIT: Now it works, Thank you Edited March 15, 2020 by Trace Carver Link to comment Share on other sites More sharing options...
Stuart Mitchell Posted March 16, 2020 Report Share Posted March 16, 2020 The P key is already bound to a different mod, how can we change it to a different key. Link to comment Share on other sites More sharing options...
Xandu Posted March 16, 2020 Author Report Share Posted March 16, 2020 After you entered a world you should have the possibility to change the key in the standard "settings->controls" Menu. Link to comment Share on other sites More sharing options...
Sammyo Posted March 16, 2020 Report Share Posted March 16, 2020 sorry my game dont work with this mod i have many errors ;-/ and i can not join on the server too Link to comment Share on other sites More sharing options...
Xandu Posted March 16, 2020 Author Report Share Posted March 16, 2020 Do you have an error report? You have installed both mods? Link to comment Share on other sites More sharing options...
Sammyo Posted March 16, 2020 Report Share Posted March 16, 2020 yes i have to mods server-debug.txt server-event.txt server-main.txt server-storyevent.txt Link to comment Share on other sites More sharing options...
Sammyo Posted March 16, 2020 Report Share Posted March 16, 2020 sorry fpor my bad english ;-))) Link to comment Share on other sites More sharing options...
DrTenabrae Posted March 18, 2020 Report Share Posted March 18, 2020 (edited) Nice. As has been mentioned, you might want to change your default keybind as 'P' has been used by VSHUD forever. 'O' maybe ? Tyron has talked about putting in a skill system before and reaction was mixed so it'll be really interesting to see how the community react to having one available. Edited March 18, 2020 by DrTenabrae 1 Link to comment Share on other sites More sharing options...
Xandu Posted March 18, 2020 Author Report Share Posted March 18, 2020 On 3/16/2020 at 10:04 PM, Sammyo said: yes i have to mods server-debug.txt 4.3 kB · 2 downloads server-event.txt 495.64 kB · 1 download server-main.txt 506.89 kB · 2 downloads server-storyevent.txt 1.22 kB · 1 download Thank you. I need a few days to look into this. But i think i found the problem. I think it is quite strange that i don't have encounter such problems. 1 Link to comment Share on other sites More sharing options...
Xandu Posted March 18, 2020 Author Report Share Posted March 18, 2020 8 hours ago, DrTenabrae said: Nice. As has been mentioned, you might want to change your default keybind as 'P' has been used by VSHUD forever. 'O' maybe ? Tyron has talked about putting in a skill system before and reaction was mixed so it'll be really interesting to see how the community react to having one available. Yeah i will probably do this. I had picked a random key that wasn't used by the vanilla game. But as mentioned above you can change it by yourself. I know. So thats why this is a mod and you can choose to use it. But I like progression systems and the feeling to get a little rewardfor everything you do. 1 Link to comment Share on other sites More sharing options...
The_Lazy_Warlock Posted March 19, 2020 Report Share Posted March 19, 2020 This is awesome! Great job on this mod Link to comment Share on other sites More sharing options...
Kuddel Posted March 19, 2020 Report Share Posted March 19, 2020 hey, how can i put points into the skills? so far i cant click any of them or i dont gain any points 1 Link to comment Share on other sites More sharing options...
Xandu Posted March 20, 2020 Author Report Share Posted March 20, 2020 On 3/19/2020 at 10:00 AM, Kurt Kempa said: hey, how can i put points into the skills? so far i cant click any of them or i dont gain any points You gain a ability point for every level you reach in a skill. To reach a new level you must gather experience. You will receive experience for different actions you do for example cutting down a tree should give you experience for your forestry skill. You can look up your experience in the dialog. You can then invest your ability points in abilities by clicking on them in the dialog. For most skills you need to fullfill requirements such as a specific skill level or you must know another ability. 1 Link to comment Share on other sites More sharing options...
Xandu Posted March 23, 2020 Author Report Share Posted March 23, 2020 Released version 0.1.2. It contains 14 new abilities, bugfixes and i changed the default key to 'o' as suggested. 1 Link to comment Share on other sites More sharing options...
Xandu Posted March 23, 2020 Author Report Share Posted March 23, 2020 (edited) Fixed a bug causing that you needed two more skill levels than intentioned to increase an ability tier level. I am very sorry for this one. You only need to update xleveling for this. I also added a notification when you reached a new skilllevel. Edited March 24, 2020 by Xandu 1 Link to comment Share on other sites More sharing options...
Kuddel Posted March 29, 2020 Report Share Posted March 29, 2020 Hey, i really love this mod so far, really really nice work, but would it be possible to turn specific ores out for the geology skill, because i dont want oloivin and its spamming the chat all the time when im near an olivin source? so make the ores are displayed asd your own settings? Link to comment Share on other sites More sharing options...
Xandu Posted March 30, 2020 Author Report Share Posted March 30, 2020 On 3/29/2020 at 5:01 PM, Kuddel said: Hey, i really love this mod so far, really really nice work, but would it be possible to turn specific ores out for the geology skill, because i dont want oloivin and its spamming the chat all the time when im near an olivin source? so make the ores are displayed asd your own settings? I plan to add configuration files for the next update. I keep this in my mind and try to add it. Link to comment Share on other sites More sharing options...
Dampiir Posted March 31, 2020 Report Share Posted March 31, 2020 Hi thanks for this, the core game really needs an option to have this imo but mods save the day again. Now my issue is every time we try to cut down a tree with an axe we get kicked off the server. Here is the error code from the log file: 31.3.2020 09:23:24 [Error] System.NullReferenceException: Object reference not set to an instance of an object at XSkills.XSkillsWoodBehavior.GetDrops (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropChanceMultiplier, Vintagestory.API.Common.EnumHandling& handling) [0x00057] in <3f667d904a234185a43a5607f064aff5>:0 at Vintagestory.API.Common.Block.GetDrops (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00014] in <dc4ea4766ec149aea6ecf1251deb4a8d>:0 at Vintagestory.API.Common.Block.OnBlockBroken (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00055] in <dc4ea4766ec149aea6ecf1251deb4a8d>:0 at Vintagestory.Common.BlockAccessorBase.BreakBlock (Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00007] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.GameContent.ItemAxe.OnBlockBrokenWith (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.Common.Entities.Entity byEntity, Vintagestory.API.Common.ItemSlot itemslot, Vintagestory.API.Common.BlockSelection blockSel) [0x001db] in <51512a76caf94b518b146ff54257d7e6>:0 at Vintagestory.Server.ServerMain.TryModifyBlockInWorld (Vintagestory.Server.ServerPlayer player, _CGdpdCWXDDnS95LUBcSC8jPcNis cmd) [0x0047f] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.HandleBlockPlaceOrBreak (_3j0rPeawc5f6wo32B33cuCPNv1G packet, Vintagestory.Server.ConnectedClient client) [0x00118] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.HandleClientPacket (Vintagestory.Server.ConnectedClient client, System.Byte[] data) [0x0005a] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.ProcessNetMessage (Vintagestory.Common.NetIncomingMessage msg, Vintagestory.Common.NetServer mainSocket) [0x0014d] in <7813a981fe8d480daf699b5bcc5e6745>:0 Any ideas? Anyone else ever get this? Other mods we have on are: LazyTweaks BvBows CarryCapacity Wild Goblins Link to comment Share on other sites More sharing options...
Xandu Posted April 1, 2020 Author Report Share Posted April 1, 2020 On 3/31/2020 at 11:37 AM, Dampiir said: Hi thanks for this, the core game really needs an option to have this imo but mods save the day again. Now my issue is every time we try to cut down a tree with an axe we get kicked off the server. Here is the error code from the log file: 31.3.2020 09:23:24 [Error] System.NullReferenceException: Object reference not set to an instance of an object at XSkills.XSkillsWoodBehavior.GetDrops (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropChanceMultiplier, Vintagestory.API.Common.EnumHandling& handling) [0x00057] in <3f667d904a234185a43a5607f064aff5>:0 at Vintagestory.API.Common.Block.GetDrops (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00014] in <dc4ea4766ec149aea6ecf1251deb4a8d>:0 at Vintagestory.API.Common.Block.OnBlockBroken (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00055] in <dc4ea4766ec149aea6ecf1251deb4a8d>:0 at Vintagestory.Common.BlockAccessorBase.BreakBlock (Vintagestory.API.MathTools.BlockPos pos, Vintagestory.API.Common.IPlayer byPlayer, System.Single dropQuantityMultiplier) [0x00007] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.GameContent.ItemAxe.OnBlockBrokenWith (Vintagestory.API.Common.IWorldAccessor world, Vintagestory.API.Common.Entities.Entity byEntity, Vintagestory.API.Common.ItemSlot itemslot, Vintagestory.API.Common.BlockSelection blockSel) [0x001db] in <51512a76caf94b518b146ff54257d7e6>:0 at Vintagestory.Server.ServerMain.TryModifyBlockInWorld (Vintagestory.Server.ServerPlayer player, _CGdpdCWXDDnS95LUBcSC8jPcNis cmd) [0x0047f] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.HandleBlockPlaceOrBreak (_3j0rPeawc5f6wo32B33cuCPNv1G packet, Vintagestory.Server.ConnectedClient client) [0x00118] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.HandleClientPacket (Vintagestory.Server.ConnectedClient client, System.Byte[] data) [0x0005a] in <7813a981fe8d480daf699b5bcc5e6745>:0 at Vintagestory.Server.ServerMain.ProcessNetMessage (Vintagestory.Common.NetIncomingMessage msg, Vintagestory.Common.NetServer mainSocket) [0x0014d] in <7813a981fe8d480daf699b5bcc5e6745>:0 Any ideas? Anyone else ever get this? Other mods we have on are: LazyTweaks BvBows CarryCapacity Wild Goblins Hi. I thought i fixed this kind of errors with the latest update. I probably must test this with your mods. Link to comment Share on other sites More sharing options...
Xandu Posted April 3, 2020 Author Report Share Posted April 3, 2020 Uploaded Version 0.1.4. - Added a config file for every skill where you can edit different values for abilities and you can add new ability tiers. - There is also a config file with a ore blacklist for the geologist skill as wished. - Improved the requirement system and added new abilitiy tiers that uses the this new capabilities. 1 Link to comment Share on other sites More sharing options...
Dampiir Posted April 3, 2020 Report Share Posted April 3, 2020 Thank you for the update, seems the issue we had has been fixed! Time to grind some levels Do you have an info page on how to create new skills? Link to comment Share on other sites More sharing options...
Kuddel Posted April 4, 2020 Report Share Posted April 4, 2020 xandu where is the config file located to chance the geologist data? Link to comment Share on other sites More sharing options...
Recommended Posts