Mods / Level UP

Category: #Tweak #Utility
Author: BoboDev
Side: Both
Created: Apr 10th at 1:33 PM
Last modified: 1 day ago
Downloads: 1412
Follow Unfollow 42

Latest file for Various v1.19.x:
levelup_1.1.8-pre.2.zip 1-click install


Add a new mechanic to vintage story, a new level system to make your character stronger and efficient during the gameplay, making your feels you are progressing through the gameplay.

Features:

  • GUI Level in chacter view
  • Each tools has a chance to not use durability by the level you have for the specific tool
  • Fully configurable
  • Hardcore mode (configurable)
  • Commands for administration manipulation

 

LEVELS:

  • Hunter: Increases all damages sources to others creatures and players, earn xp by killing things
  • Bow: Increases bow damage, precision and reduce chance to lose arrows, earn xp by hitting and killing things with bows
  • Knife: Increases knifes damages and harvest entity drops, earn xp by harvesting entities, hitting and killing things with knifes
  • Spear: Increase spear damages and precision, earn xp by hitting and killing things with spear
  • Axe: Increases axes damages and mining speed, earn xp by chopping trees, breaking wood, hitting and killing things with axes
  • Pickaxe: Increase pickaxes damages, ore drops and mining speed, earn xp by breaking stones, ores, hitting and killing things with pickaxes
  • Shovel: Increase shovels damages and mining speed, earn xp by breaking soil/gravel/sand, hitting and killing things with shovels
  • Hammer: Increase hammers damages and chance to double/triple/quadruple the smithing results in anvil, earn xp by smithing, hitting and killing things with hammers.
  • Sword: Increase swords damages, earn xp by hitting and killing things with swords
  • Shield: Increase shield protection, earn xp by defending with shields
  • Farming: Increase crop drop rate, earn xp by harvesting crops and till soils
  • Vitality: Increase max health and health regen, earn xp by getting hitted
  • Cooking: Increase servings quantity and fresh hours, earn experience by cooking
  • Leather Armor: Reduce damage received using leather armors, earn xp by getting hitted using leather armors
  • Chain Armor: Reduce damage received using chain armors, earn xp by getting hitted using chain armors

Future features:

  • Hammer increase animation speed based on level
  • Better level view. (Images)
  • Store data based on player uid.
  • Cute level up sound.

Not all item codes is added to the json configurations files, some armors/items/meats/entities/blocks can be missing, if you think something is missing from vanilla you can contact me or make a pull request in the github.

Observations

This mod needs to be in both sides the client and server for working propertly, you can still build this only in server side, but some things will not work for example the mining speed mechanics will not work because the mining speed is handled by the client, also the level viewer will not be available for the clients.

Increase crop drop rate will only be increased if you harvest a crop with the final stage or the penultimate stage, the same for earning xp harvesting crops, harvesting crops in penultimate stage will decrease the experience gained, (default)

Hunter level damage is increased before the tool damage level, so if you have 2x damage in hunter and 2x damage in spear and you have a spear with 4 damage the calculation is: (4 x 2) x 2 = 16.

Armors levels calculation, every level with that type of armor you gain more base damage reduction for example in level 5 you gain 1 damage reduction using leather armors, wearing more leather armors will increase this value, lets take any example wearing 3 pieces of leather armor: head(0.1) body(0.5) leg(0.3) multiply = 0.9, this means you will increase your damage reduction by 90%, so you will reduce a total of 1.9 damage.

Cooking experience and food status will be considered for the most nearest player from fire pit when the food finish cooking, the calculation for the servings increase is very simple, each level you earn more chance for additional servings, the roll is increased every 5 levels, for example in level 10 you have 3 rolls and 20% chance for increasing, if you are very lucky you can increase a max of 3 servings in level 10.

Shield calculation only increases the base damage absorved from the shield, working the same as the vanilla if the damage absorved is bigger than damage received the final damage is 0

To change the configurations go to the mod folder in assets folders, if you want more informations you can see the wiki to know what each configuration does.

Level UP Stores datas based on player name, changing the player name will lose all levels.

Considerations

This mod changes a lot of native codes and can break easily throught updates.

Performances leaks on server can be apparent because of new functions and calculation for damages and levels system, this is imperceptible for average computers and servers, but can cause a good cpu consumption on low end computers with high player count.

Level UP doesn't register tickrates for the main game, so level up cannot be the cause for lower tickrate on servers.

Memory usage in the server can be slightly bigger because of static configurations and events on the server side, imperceptible for servers using more than 1gb ram

Changes in players stats like oreDropRate, animalLootDropRate is completly overwrited, so changing this will not actually give you more animal loots or ore drops, if you want to increase it consider changing in mod configuration the base ore drop and animal loots.

This mod might break other levels mods or be breaked.

Consider always making backup for your world, level up is a mod that changes a lot of stats and mechanics that might crash your world.

All the mod calculations and patches is thinking in the server performance, feel free to suggest improviments if you find something getting slow.

Level UP is not compatible with mods that fully overwrite the ReceiveDamage function for Entity class and applyShieldProtection for ModSystemWearableStats class

Balancing was not very well thought out, you will probably find some things unusual or very strong, with everything you can make your changes in the settings folder

About Level UP

Level UP is open source project and can easily be accessed on the github, all contents from this mod is completly free.

If you want to contribute into the project you can access the project github and make your pull request.

You are free to fork the project and make your own version of Level UP, as long the name is changed.

Inspirations:

  • Valheim Level UP System
  • Minecraft LevelZ mod

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.1.8-pre.2 80 1 day ago Show levelup_1.1.8-pre.2.zip Install now
v1.1.8-pre.1 50 1 day ago Show levelup_1.1.8-pre.1.zip Install now
v1.1.7-rc.1 35 4 days ago Show levelup_1.1.7-rc.1.zip Install now
v1.1.6 82 5 days ago Show levelup_1.1.6.zip Install now
v1.1.5 108 6 days ago Show levelup_1.1.5.zip Install now
v1.1.4 266 Apr 18th at 10:42 PM Show levelup_1.1.4.zip Install now
v1.1.3 74 Apr 17th at 11:29 PM Show levelup_1.1.3.zip Install now
v1.1.2 134 Apr 15th at 11:13 AM Show levelup_1.1.2.zip Install now
v1.1.1 69 Apr 14th at 3:57 PM Show levelup_1.1.1.zip Install now
v1.1.0 93 Apr 13th at 1:27 PM Show levelup_1.1.0.zip Install now
v1.0.9 57 Apr 12th at 11:23 PM Show levelup_1.0.9.zip Install now
v1.0.8 92 Apr 11th at 9:30 PM Show levelup_1.0.8.zip Install now
v1.0.7 95 Apr 10th at 10:15 PM Show levelup_1.0.7.zip Install now
v1.0.6 22 Apr 10th at 9:57 PM Show levelup_1.0.6.zip Install now
v1.0.5 27 Apr 10th at 9:24 PM Show levelup_1.0.5.zip Install now
v1.0.4 36 Apr 10th at 4:18 PM Show levelup_1.0.4.zip Install now

12 Comments (oldest first | newest first)

💬 BoboDevAuthor, 5 days ago

Michaloid Thank you for the report, it will be fixed in the next update, if you find other problem consider sending it to the issues section

💬 Michaloid, 6 days ago

I wanted to report a bug with the new update, when i guard with the shield, it doesn't block the enemy I always receive damage, even with surface drifters. It seems like the block chance doesn't work.

💬 BoboDevAuthor, Apr 22nd at 3:23 PM

Poririn Thank you for the report, it will be fixed in the next update, if you find other problem consider sending it to the issues section

💬 Poririn, Apr 20th at 7:54 PM

Hello. I am enjoying this mod.

When I tried to make an iron plate from iron ingots using helve hammer, the application crashed.

Running on 64 bit Windows 10.0.19045.0 with 32692 MB RAM
Game Version: v1.19.7 (Stable)
2024/04/21 4:52:45: Critical error occurred in the following mod: levelup@1.1.4
Loaded Mods: aculinaryartillery@1.1.4, advancedsmithing@1.3.0, autopanning@1.0.1, bettersticks@1.1.0, cellardoor@1.4.0, driftersbelongunderground@1.0.1, fernslikegrass@1.1.0, geoaddons@1.3.3, giantgouramis@1.0.2, instanddrifterdrops@1.1.0, jtom@3.10.0, justmoreruins@0.9.8, millwright@1.1.5, nailsmold@1.0.1, peacockbasses@1.1.2, preservationmod@1.0.0, qptech@1.15.1, RockBlocks@1.0.0, sticksarefirewood@1.0.0, truesunfishes@1.1.2, usefulscrap@2.0.2, Vanilla_PlusWorldGen@1.3.5, volumetricshadingreupdated@0.7.5, game@1.19.7, abcsreborn@0.2.1, additionalmolds@1.0.1, Alarm@1.2.0, ancienttools@1.5.18, animalcages@3.0.2, betterfirepit@1.1.4, betterruins@0.3.4, blocksoverlay@3.2.2, carryon@1.7.4, commonlib@2.3.2, configureeverything@1.1.0, Crateful@1.2.8, danatweaks@2.1.2, electricityunnoficial@0.1.1, expandedfoods@1.6.9, extrainfo@1.7.0, farmlanddropssoil@1.4.0, grassiergrass@1.0.0, herbarium@1.1.0, hudclock@3.4.0, levelup@1.1.4, mio@0.9.5, meteoricexpansion@1.2.5, moreanimals@1.3.3, naturalnight@2.1.0, norottinghides@1.0.0, paxel@1.4.5, pigfeed@1.0.4, pomshadercache@1.1.1, claywheel@1.1.1, prospecttogether@1.3.0, scythemold@1.0.1, sealcrockswithclay@1.0.0, stillnecessaries@1.1.2, strspawnchances@0.1.6, techmolds@1.0.0, th3dungeon@0.2.1, th3expansion@1.2.0, creative@1.19.7, survival@1.19.7, metalrecovery@0.1.19-pre.1, awearablelight@1.1.1, bugnetcompatibility@1.0.1, chrissis-es@0.1.5, onestick@1.0.1, wildcraftfruit@1.1.1, wildcraftherb@0.0.0, wildcrafttree@1.1.0, xinvtweaks@1.6.1
System.NullReferenceException: Object reference not set to an instance of an object.
at LevelUP.Shared.OverwriteBlockInteraction.CheckIfFinished(BlockEntityAnvil __instance, IPlayer byPlayer) in /home/bobs/User/Projects/LevelUP/LevelUP/Shared/OverrideBlockInteraction.cs:line 375
at Vintagestory.GameContent.BlockEntityAnvil.CheckIfFinished_Patch2(BlockEntityAnvil this, IPlayer byPlayer)
at Vintagestory.GameContent.BlockEntityAnvil.onHelveHitSuccess(EnumVoxelMaterial mat, Vec3i usableMetalVoxel, Int32 x, Int32 y, Int32 z) in VSSurvivalMod\BlockEntity\BEAnvil.cs:line 544
at Vintagestory.GameContent.BlockEntityAnvil.OnHelveHammerHit() in VSSurvivalMod\BlockEntity\BEAnvil.cs:line 447
at Vintagestory.GameContent.Mechanics.BEHelveHammer.get_Angle() in VSSurvivalMod\Systems\MechanicalPower\BlockEntity\BEHelveHammer.cs:line 90
at Vintagestory.GameContent.HelveHammerRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VSSurvivalMod\BlockEntityRenderer\HelveHammerRenderer.cs:line 49
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 815
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 731
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 200
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 BoboDevAuthor, Apr 19th at 3:38 PM

Michaloid
You can by enabling the hardcore mode in base.json configs and the hardcoreLosePercentage to 0.0

💬 Daniel86268, Apr 19th at 2:45 PM

Playing as a hunter, the base accuracy of the bow feels like playing as a malefactor or as if I'd be wearing heavy armor.

Is that intended, or an oversight?

Edit: I looked at the config files, and it seems to be intentional, as the base accuracy multiplier is 0.7.

💬 Michaloid, Apr 19th at 1:50 PM

I personally think that the level values should be reset after dying. It would grant challenge while still improving the player. Btw, this mod rocks!

💬 BoboDevAuthor, Apr 18th at 10:42 PM

Thank you!

💬 Lumvik, Apr 15th at 11:36 PM

This mod looks very interesting! I've been thinking about something like this for about two years, and it seems like a promising addition to the game.

I’ve thought about including special abilities that unlock at certain levels in a mod like this. For instance, an archer could unlock a recipe for a new bow or gain a unique ability at level 100. Additionally, limiting these abilities could prevent players from becoming too versatile and encourage them to specialize in their playstyle. Implementing this would require a lot of new content, but it might be easier if users could customize the mod to suit their needs.

Your mod also reminds me a bit of the progression system in Valheim. Perhaps you were inspired by it, although similar systems can be found in many games.
Good luck!

💬 Bazim, Apr 12th at 2:19 PM

Looks good I love progression mods, but I will wait for some tweaks the performance etc.

💬 BoboDevAuthor, Apr 10th at 4:37 PM

Good point, probably shoting any enemy and killing and changing the weapon you will gain the experience for that weapon and not the bow

💬 DanaCraluminum, Apr 10th at 4:24 PM

What if you shoot entity and unequip bow before it kills it? I see that it is not handled in the code

(edit comment delete)