Jump to content

Recommended Posts

Hello and welcome to the Xleveling 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.


XLeveling is an interface that does nothing noticeable at its own. But it 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. I want to create a guide on how you can add your own skill when i have the time for that.

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 a additional ability point that you can use to increase the tier of an ability. 2020-03-14_20-00-33.thumb.png.e2fc82b8819ececa75358e417979f07c.png

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.

Following skills and abilities are currently implemented. Only the first tier of every ability is represented here:

Spoiler

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 berry bushes and mushrooms 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.

Ability: Careful Hands
Allows you to harvest mushrooms with your bare hands without breaking the roots.

Ability: Huge Stomach
Increases your maximum saturation by 500.

Ability: Farmer
You will receive 40% more experience for all farming activities. You can have only one profession.

Ability: Beekeeper
Breaking harvestable skeps will give you 1 more Honeycombs.

Ability: Composting
Every time you harvest a full grown crop the farmland will receive some nutraitions back.

Ability: Beemaster
Breaking harvestable skeps will give you the skep back.

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: 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. You can have only one profession.

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 1%.

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 curse you can also just burn them. You will receive 10% and additional 2% for each level at the forestry skill more leaves.

Ability: Resin Farmer
Every time you cut down a pine there is a chance of 10% per wood log that it drips resin.

Ability: Tree Nursery
Planted trees only need 87% of the default time to grow.

Ability: Forester
You will receive 40% more experience for all foresting activities. You can have only one profession.

Ability: Charcoal Burner
You will receive 13% more charcoal from charcoal piles.

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: Miner
You will receive 40% more experience for all mining activities. You can have only one profession.

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: Blaster
Your Stonebreaker, Stonecutter, ore miner and gemstone miner abilities are also applied if you blow up rock or ores with bombs.

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: Long Life
Increases your health by 10% and additional 1% for each level at the combat skill. Maxed out at 20%.

Ability: Warrior
You will receive 40% more experience for all combat activities. You can have only one profession.

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: Vampire
Every time you hit an enemy you will receive 2% of the dealt damage as healing.

Ability: Burning Rage
Every time you hit an enemy you have a chance of 2% to ignite it.

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 te recovery rate of your temporal stability by 50%.

Ability: Timelord
You will receive 40% more experience for the temporal adaptation skill. You can have only one profession.

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%.

 

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.

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.

Downloads:

Version 0.3.1 for VS 1.13.3:

xskills_v0.3.1.zip

xlib_v0.3.1.zip

Edited by Xandu
  • Like 1
  • Cookie time 4

Share this post


Link to post
Share on other sites

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?

Screenshot_92.jpg

Share this post


Link to post
Share on other sites

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 by Xandu

Share this post


Link to post
Share on other sites

After you entered a world you should have the possibility to change the key in the standard "settings->controls" Menu.

Share this post


Link to post
Share on other sites

Nice. As has been mentioned, you might want to change your default keybind as 'P' has been used by VSHUD forever. 'O' maybe ? :D

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 by DrTenabrae

Share this post


Link to post
Share on other sites
On 3/16/2020 at 10:04 PM, Sammyo said:

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. 
 

  • Thanks 1

Share this post


Link to post
Share on other sites
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 ? :D

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Released version 0.1.2. It contains 14 new abilities, bugfixes and i changed the default key to 'o' as suggested.

Share this post


Link to post
Share on other sites

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 by Xandu

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.