You are viewing a potentially older version of this package. View all versions.
dyju420-SkillLimitExtender-1.1.0 icon

SkillLimitExtender

Extend skill caps and bonus multipliers via YAML, with server sync and optional relative scaling. Includes 'sle_yaml_reload' console command.

Date uploaded 8 months ago
Version 1.1.0
Download link dyju420-SkillLimitExtender-1.1.0.zip
Downloads 282
Dependency string dyju420-SkillLimitExtender-1.1.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202
ValheimModding-Jotunn-2.26.1 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.26.1
ValheimModding-YamlDotNet-16.3.1 icon
ValheimModding-YamlDotNet

Shared version 16.3.0 of YamlDotNet from Antoine Aubry and contributors, net47 package for use in Valheim mods. Maintained by the ValheimModding team.

Preferred version: 16.3.1

README

Skill Limit Externder

Extend skill level caps beyond 100 with full server support!

Latest version 1.1.0 Upgrade note: If you're upgrading from an older version, please delete old YAML files to avoid conflicts.

What's New

  • Bonus multiplier cap: Set relative: true in YAML to compute factors using level / cap. Control the multiplier ceiling with bonusCap. Baseline is 100 = 1.0x; e.g., 150 means up to 1.5x. Very large values (e.g., 10x, 100x) are possible but may break balance—use with caution. Configurable per skill.

  • sle_yaml_reload: Reload the YAML configuration via console command.

Known Issues

  • Some users report caps not changing due to mod conflicts.
  • This update adjusts patch order to apply as late as possible to mitigate

Features Skill Cap Extension: Raise any skill beyond the vanilla 100 limit Mod Skill Support: Works with custom skills from other mods Easy Configuration: Configuration Manager (F1) + YAML file support Server Sync: Admins can lock configurations and sync to all players Perfect UI: Level bars scale correctly with custom caps Balanced: Vanilla 100 = Custom cap for same effectiveness Lightweight: No heavy dependencies, optimized performance

Configuration Guide

  • YAML configuration file

    • Location: BepInEx/config/SkillLimitExtender/SLE_Skill_List.yaml
    • Automatically generated on first run with vanilla skills only
    • Fields:
      • cap: Skill level cap (default: 250)
      • bonusCap: Bonus multiplier cap (100 = 1.0x, e.g., 150 = 1.5x)
      • relative: true uses level / cap, false uses vanilla level / 100
    • Example:
      Swords:
        cap: 300
        bonusCap: 150
        relative: true
      ElementalMagic:
        cap: 400
        bonusCap: 100
        relative: false
      
  • In-game settings (Configuration Manager / F1)

    • General > EnableYamlOverride: Enable/disable local YAML on clients
    • Server > LockConfiguration: Server forces its YAML to all clients; clients ignore local YAML
  • Server sync (automatic, diff-only)

    • The server broadcasts YAML to all players only when the content has changed
    • RPC name: SLE_YamlSync, protocol version: v2
  • Console command

    • sle_yaml_reload
      • Server: Reload YAML and re-broadcast only if changed
      • Client: Reload local YAML (ignored when server lock is enabled)
  • Adding mod skills

    • Add the skill display name as a key in YAML (numeric IDs are supported, but names are recommended) // ... existing code ...

v1.1.0 の新機能(日本語)

  • YAML エントリを拡張(cap/bonusCap/relative)し、旧形式(int)の読み込みに後方互換あり
  • 相対スケーリングモード(relative: true)により level/cap 基準の係数計算を選択可能
  • ボーナス倍率の上限(bonusCap)を導入(100=1.0x150=1.5x など)
  • サーバー→クライアントの YAML 同期を強化(プロトコル v2、変更検知による効率的なブロードキャスト)
  • コンソールコマンド sle_yaml_reload を追加(安全な再読み込み/変更時のみ再配信)
  • UI/係数計算の統一と安全なクランプ(Skills.GetSkillFactor の置換による一元化)
  • Skills.Save 実行時の不正エントリ自動クリーンアップとログ改善

How It Works The mod maintains the original game balance by scaling effectiveness:

Vanilla: Level 100 = 100% effectiveness Extended: Level 250 = 100% effectiveness (same as vanilla 100) Growth: Linear scaling means longer progression, same final power Configuration In-Game (F1 Key) [General] DefaultCap = 250 # Default cap for all skills EnableYamlOverride = true # Allow YAML customization

[Server] (Admin Only) LockConfiguration = false # Force server settings to all clients YAML File (Individual Skills) Location: BepInEx/config/SkillLimitExtender/SLE_Skill_List.yaml

Vanilla Skills

Swords: 500 Bows: 300 Jump: 250 Run: 250

Mod Skills (manually add)

Cartography: 400 MagicSkill: 350 Server Administration For Server Owners: Set LockConfiguration = true in your config Configure DefaultCap and EnableYamlOverride as desired All connecting players will automatically use your settings Players cannot override with local YAML when locked For Players: Use Configuration Manager (F1) to adjust personal settings Edit YAML file for individual skill customization Server settings override local config when locked Mod Skill Support To add skills from other mods:

Find the skill name using /raiseskill command Add to YAML file: SkillName: DesiredCap Restart game to apply changes Example for Cartography skill:

Cartography: 400 Commands All vanilla commands work with extended caps:

raiseskill Swords 200 # Works with mod skills too resetskill Cartography # Individual reset works resetskill all # Resets vanilla skills (mod limitation) Technical Details Harmony Transpiler: Patches skill calculation at bytecode level RPC Sync: Lightweight server-client communication UI Compatible: Level bars display correctly with any cap Performance: Minimal overhead, no constant polling Requirements BepInEx: 5.4.2202 or newer Jotunn: 2.22.3 or newer (Valheim modding framework) YamlDotNet: 16.1.3 or newer (Configuration file support) Valheim: Latest version Server: Optional, works in single-player too Known Limitations resetskill all doesn't affect mod skills (use individual commands) Mod skills must be manually added to YAML Server restart required for server config changes

Changelog

v1.1.0

  • Fix: Add a safety patch that cleans invalid skill entries (null/uninitialized) right before Skills.Save to avoid a NullReferenceException on game exit.
  • Change: Harden UI denominator replacement in SkillsDialog.Setup. Limit 100fcap replacement to the vicinity of GuiBar.SetValue, and fall back to the global UI denominator when local inference fails.
  • Add: Introduce SkillConfigManager.GetUiDenominatorForSkillSafe(object?) to safely obtain SkillType when applying per-skill UI denominators.
  • Improve: Add explicit null guard to the fallback branch of SkillConfigManager.GetCap, resolving CS8602 warnings.
  • Change: Override Skills.GetSkillFactor via Prefix; unify factor calculation based on cap/relative/bonusCap with safe clamping.
  • Docs: Improve logs (replacement counts, cleanup counts) and document verification steps.

v1.0.0 Initial release Skill cap extension beyond 100 Mod skill support (manual YAML addition) Server configuration sync UI level bar scaling Configuration Manager integration Lightweight implementation Support Issues: Report on GitHub or Thunderstore Discord: Join Valheim Modding Community Compatibility: Works with most skill-related mods License MIT License - Feel free to modify and redistribute!