Jump to content

XLib and XSkills


Xandu

Recommended Posts

I've updated XSkills and started a new world. After 10 hours of fighting goblins, drifters, and bandits I was... one tenth of the way to leveling up Combat. This is rather demoralizing, is it supposed to be this low? I went into the files and boosted all Combat gains by 4 times and killing things feels like less of a horrible grind and more of a regular grind.

Additionally, could you integrate the bandits from VSo mod collection into this? These guys are pretty tough and getting no XP for killing them sorta... sucks.

Link to comment
Share on other sites

On 1/22/2021 at 5:44 PM, Tech_Rabbit said:

They mean hitting different voxels. I can ask about the rest.

 

This would be great. As mentioned before, from the given informations i can't figure out what is going wrong there. I think it could be a mixture of different mods.

 

On 1/24/2021 at 4:41 AM, l33tmaan said:

I've updated XSkills and started a new world. After 10 hours of fighting goblins, drifters, and bandits I was... one tenth of the way to leveling up Combat. This is rather demoralizing, is it supposed to be this low? I went into the files and boosted all Combat gains by 4 times and killing things feels like less of a horrible grind and more of a regular grind.

Additionally, could you integrate the bandits from VSo mod collection into this? These guys are pretty tough and getting no XP for killing them sorta... sucks.

 

I increased the experience you received from killing drifters in one of the latest patches. Maybe i will further increase it. I would need to do some more testing to decide this. But at the moment I don't have much time to play the game and as you have already done you can also adjust it yourself as you desire.

 

I will not add integration for server exclusive mods. Ask the creator of this mod to add compatibility. You can also add it by yourself with a small JSON-Patch, that can look something like this:

  {
    "file": "game:entities/land/wolf-male",
    "op": "add",
    "path": "/client/behaviors/-",
    "value": {
      "code": "XSkillsEntity",
      "xp": 1.0
    }
  },
  {
    "file": "game:entities/land/wolf-male",
    "op": "add",
    "path": "/server/behaviors/-",
    "value": {
      "code": "XSkillsEntity",
      "xp": 1.0
    }
  },

This one is obviously for male wolves. Important is to add the 'XSkillsEntity' behavior to the behaviors of the entity and set a value for the experience.

 

On 1/24/2021 at 7:11 PM, Ambulate In Somnis said:

Please update older mod for 1.14.5. 
The skill Photosyntesys is broken, because if its had learned, the hp is infinite

 

I fixed this with the last patch. I always compile the mod with the latest game version. Maybe it could even work with older game versions. But i generly can not provide new mod versions for older game versions. You should update your game instead.

 

Edited by Xandu
  • Thanks 1
Link to comment
Share on other sites

On 1/24/2021 at 7:29 PM, Xandu said:

 

I increased the experience you received from killing drifters in one of the latest patches. Maybe i will further increase it. I would need to do some more testing to decide this. But at the moment I don't have much time to play the game and as you have already done you can also adjust it yourself as you desire.

Thank you for adding configurable XP formulas/values at some point - it did feel a bit slow in Combat personally for my multiplayer group as well, but that is easily fixable, and highly subjective. I'm glad you give us the tools to fix this 🙂

  Minor feedback/enhancement request: is it possible to add Reeds and Grass (for dry grass) to the list of plants affected by the Farming\Gatherer perk? The mushrooms/berries only seems a bit underwhelming in comparison. I saw there was the bare bones of a Husbandry file so maybe that's something you're saving for later.

Separately, I'm looking at an issue where Beekeeper does not give additional honeycomb on breaking in multiplayer (maxed out still only gives 3). But this is likely due to a conflict with Stackables replacing some info on the Skep, specifically maxstacksize, to allow stacking - no other mods installed reference or have jsons modifying skeps currently (at least on an extract and find in file via Notepad++). Still playing with it, but it's not a major issue.

Also minor, but I did notice while troubleshooting the above, that alternate language translations (e.g nl.json, fr.json, es,json) have

"abilitydesc-beemaster": "Breaking harvestable skeps will give you the skep back.", 

and that may need an update to correspond to the en.json:  

"abilitydesc-beemaster": "You can harvest skeps with right click without breaking them.",.

If you have a GitHub or other method you use to track these I'd be happy to add these as separate items there as well.

 

  • Thanks 1
Link to comment
Share on other sites

Hi I uploaded a small patch, you just need to update XSkills for this one. I mainly addressed some of the feedback of the last days. 

On 1/26/2021 at 3:45 AM, Nozarati said:

Updated my server to the latest of this mod seems that some people are getting this crash. Possibly related to helvehammer that was set up before update?

client-crash.txt 3.57 kB · 7 downloads

So this should be fixed now. It was caused by an case that is only relevant on multiplayer servers and not in single player worlds. And this is one of the things i sometimes forget.

 

On 1/25/2021 at 4:18 PM, Ambulate In Somnis said:

Server with many other mods too heavy to update

Sorry but i just can't make sure that the version runs on multiple game versions. It would just be to much work. But most mods that work on the 1.14.5 verion should also run on the 1.14.7 version.

 

15 hours ago, Hexedian said:

It's hard to test, but I suspect the Looter skill increases drop by an absolute 10%, not a relative 10%, given that players with Looter tend to find way more temporal gears in storms than players without.

I looked at the maths for this and everything looks fine. I just manipulate the drop Quantity Muliplier of the base game. So if the result is weird it is probably an issue in the base game. But there looks  also eveything alright. So i think it is just randomness or impression.

 

On 1/26/2021 at 11:58 PM, AstralVoid said:

Thank you for adding configurable XP formulas/values at some point - it did feel a bit slow in Combat personally for my multiplayer group as well, but that is easily fixable, and highly subjective. I'm glad you give us the tools to fix this 🙂

  Minor feedback/enhancement request: is it possible to add Reeds and Grass (for dry grass) to the list of plants affected by the Farming\Gatherer perk? The mushrooms/berries only seems a bit underwhelming in comparison. I saw there was the bare bones of a Husbandry file so maybe that's something you're saving for later.

Separately, I'm looking at an issue where Beekeeper does not give additional honeycomb on breaking in multiplayer (maxed out still only gives 3). But this is likely due to a conflict with Stackables replacing some info on the Skep, specifically maxstacksize, to allow stacking - no other mods installed reference or have jsons modifying skeps currently (at least on an extract and find in file via Notepad++). Still playing with it, but it's not a major issue.

Also minor, but I did notice while troubleshooting the above, that alternate language translations (e.g nl.json, fr.json, es,json) have



"abilitydesc-beemaster": "Breaking harvestable skeps will give you the skep back.", 

and that may need an update to correspond to the en.json:  



"abilitydesc-beemaster": "You can harvest skeps with right click without breaking them.",.

If you have a GitHub or other method you use to track these I'd be happy to add these as separate items there as well.

 

Thank you for your feedback. So since multiple people noticed that the experience gain for the combat skill is to low, i lowered the default needed experience by 50%. So let me know if this is a better pace now or wheter it is to low or to still to high. 

 

Reeds should be originally be affacted by this ability. But back then it was not possible to implement it due to the way reeds are implemented in the game. But since the implementation of the harmony lib it was now possible. I just havn't done it until now. Adding grass to this ability is good idea. So i implemented it, too. Reeds are also now affacted by the careful hands ability. Yes a wanted to add a Husbandry skill for animal stuff. But at the moment there is no progress at all.

 

I fixed this. When i reworked the beemaster ability, i removed the ability accidently by removing to much source code. 🤦‍♂️

 

Thank you for reporting the translations errors. I fixed this. Writing these translations always takes some time and it is not very funny. So there are probably more errors.

 

Here are the short patch notes:

0.4.7:
-Balance: 
    -reduced the default experience you need to level up combat by 50%

-Changes:
    -harvesting skeps with the beemaster ability now gives experience
    -the abilities careful hands and gatherer now also affect reeds
    -the ability gatherer now also affect tall grass

-Fixes:
    -fixed a client side crash in multiplayer games caused by helve hammers
    -fixed: breaking beehives now should be affected by the beekeeper ability and should give experience for the farming skill again

Edited by Xandu
  • Thanks 1
Link to comment
Share on other sites

If some skills take too much experience to level up... How about giving different classes experience gain bonuses in relevant skills? And this might possibly make commoners and clockmakers more popular, if they get useful experience bonuses.

Also would be great if it's configurable, so custom classes can have their own skill bonuses.

 

And a random idea : a cooldown on exp losing on death, so temporal storms don't reset all your skills if things go poorly.

Edited by Hexedian
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

21 hours ago, Hexedian said:

If some skills take too much experience to level up... How about giving different classes experience gain bonuses in relevant skills? And this might possibly make commoners and clockmakers more popular, if they get useful experience bonuses.

Also would be great if it's configurable, so custom classes can have their own skill bonuses.

 

And a random idea : a cooldown on exp losing on death, so temporal storms don't reset all your skills if things go poorly.

Hey. This are great ideas. But i don't know if i would make this default features. But maybe i will implement it as optional. 

  • Like 1
Link to comment
Share on other sites

Another suggestion for Survival skills branch:

As far, as i can remember, entity (player too) can have property LightHSV - ability to emit light.

So, i believe, it is possible to create something like "luminiferous" skill. Each rank allow player to emit more and more light. Ideal for cave exploring, IMHO

Edited by Digitalr
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Hey there, we tried xskills & xlib in combination with some other mods, and somehow, if I remove a block with grass on top, the grass stays and I get kicked from the server with an exception. Some NullPointerReference for dropped blocks, easily reproducable. It does not happen, if I remove the grass before the block. In Vanilla, the grass gets destroyed, if I remove the block underneath - somehow it does not work this way when xskills is enabled.

We use CaptureAnimals, ExtraChests, medievalexpansion, merchant, moreclasses, primitivesurvival & wildfarming alongside xSkills (&xlib). Anyone having the same issue?

  • Thanks 1
Link to comment
Share on other sites

41 minutes ago, luette said:

Hey there, we tried xskills & xlib in combination with some other mods, and somehow, if I remove a block with grass on top, the grass stays and I get kicked from the server with an exception. Some NullPointerReference for dropped blocks, easily reproducable. It does not happen, if I remove the grass before the block. In Vanilla, the grass gets destroyed, if I remove the block underneath - somehow it does not work this way when xskills is enabled.

We use CaptureAnimals, ExtraChests, medievalexpansion, merchant, moreclasses, primitivesurvival & wildfarming alongside xSkills (&xlib). Anyone having the same issue?

Should be fixed now.

  • Like 1
Link to comment
Share on other sites

We got this error whenever we try to destroy blocks with grass on it in 0.4.7 (maybe fixed in 0.4.8, have to try out)

29.1.2021 22:46:11 [Warning] Exception at client 80. Disconnecting client.
29.1.2021 22:46:11 [Event] Player VSo_Admin got removed. Reason: Threw an exception at the server
29.1.2021 22:46:11 [Error] System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsGrassBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
   at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.API.Common.Block.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.Common.BlockAccessorBase.BreakBlock(BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.GameContent.BlockPlant.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos)
   at Vintagestory.Server.ServerMain.TriggerNeighbourBlocksUpdate(BlockPos pos)
   at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(_VOScRRtAYcHFvBUCVU8Q2cQeB3O packet, ConnectedClient client)
   at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket)
29.1.2021 22:46:39 [Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsGrassBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
   at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.API.Common.Block.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.Common.BlockAccessorBase.BreakBlock(BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.GameContent.BlockPlant.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos)
   at Vintagestory.GameContent.EntityBlockFalling.NotifyNeighborsOfBlockChange(BlockPos pos)
   at Vintagestory.GameContent.EntityBlockFalling.OnGameTick(Single dt)
   at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities(Single dt)
   at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick(Single dt)
   at Vintagestory.Server.ServerMain.Process()

Edited by Kai Effelsberg
Link to comment
Share on other sites

1 hour ago, Kai Effelsberg said:

We got this error whenever we try to destroy blocks with grass on it in 0.4.7 (maybe fixed in 0.4.8, have to try out)

29.1.2021 22:46:11 [Warning] Exception at client 80. Disconnecting client.
29.1.2021 22:46:11 [Event] Player VSo_Admin got removed. Reason: Threw an exception at the server
29.1.2021 22:46:11 [Error] System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsGrassBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
   at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.API.Common.Block.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.Common.BlockAccessorBase.BreakBlock(BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.GameContent.BlockPlant.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos)
   at Vintagestory.Server.ServerMain.TriggerNeighbourBlocksUpdate(BlockPos pos)
   at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(_VOScRRtAYcHFvBUCVU8Q2cQeB3O packet, ConnectedClient client)
   at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket)
29.1.2021 22:46:39 [Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsGrassBehavior.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single& dropChanceMultiplier, EnumHandling& handling)
   at Vintagestory.API.Common.Block.GetDrops(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.API.Common.Block.OnBlockBroken(IWorldAccessor world, BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.Common.BlockAccessorBase.BreakBlock(BlockPos pos, IPlayer byPlayer, Single dropQuantityMultiplier)
   at Vintagestory.GameContent.BlockPlant.OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos)
   at Vintagestory.GameContent.EntityBlockFalling.NotifyNeighborsOfBlockChange(BlockPos pos)
   at Vintagestory.GameContent.EntityBlockFalling.OnGameTick(Single dt)
   at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities(Single dt)
   at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick(Single dt)
   at Vintagestory.Server.ServerMain.Process()

Hi. I already uploaded 0.4.8 to fix this.

Link to comment
Share on other sites

On 1/30/2021 at 12:16 AM, Xandu said:

Hi. I already uploaded 0.4.8 to fix this.

Hi there, another error of the same type: If I want to remove "Terra Preta" the game crashes, while there are Reeds on top. Guess the Reeds are the problem - same as the grass before.

Link to comment
Share on other sites

25 minutes ago, Kai Effelsberg said:

I got reports that the mod will crash the client if you destroy blocks with cattail on them.

I know. I want to upload a patch later that day.

I never broke blocks with cattail on them. So i wondering why so many people are noticing this issue.

Edited by Xandu
Link to comment
Share on other sites

So, some ideas.

The pottery skill should be renamed Handicraft or Primitive Crafting or Manual Labor, or something along those lines. Additional abilities should be added, or existing ones expanded to work on knapping, panning, chiselling and common works that don't fit within other skills. For example,

- Fast Potter, JackPot and Infallible could be made to work with knapping.

- Adding another ability that preserves durability of tools that don't fall into other categories.

- Increase speed of panning animation, chance to get double drops from panning, and adding some items to panning loot chances, or decrease odds of junk-tier items when panning.

- Unlocking new chisel options... One can only hope.

 

Some additional ideas :

- Add a functionality to some abilities to increase the number of blocks chopped by shears on leaves and scythes on crops and grass.

- Change Shovel Knight to work with any tool, or unarmed, possibly with different abilities depending on tool.

- Killing animals whose generation is higher than 3 should give Farming experience.

- An ability to increase the perishable timer for cooked food, collected crops and killed animal meat.

 

And finally :

Typo in "composting" : Nutrition, not Nutraition

  • Like 1
Link to comment
Share on other sites

×
×
  • 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.