Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
HarrisonEpicSkillSystem
Progressive awakening tree with tier reveals, isolated attribute columns, a fixed five-slot equipping panel, class passives and native skill effects.
By Harrisonburg
| Last updated | 18 hours ago |
| Total downloads | 47 |
| Total rating | 0 |
| Categories | Mods Server-side Client-side AI Generated |
| Dependency string | Harrisonburg-HarrisonEpicSkillSystem-0.0.31 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
Harrisonburg-HarrisonEpicClassSystem
Class progression and altar awakening system integrated with WackyEpicMMOSystem.
Preferred version: 0.0.21denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202WackyMole-WackyEpicMMOSystem
Adds to your Valheim world a system of levels and distribution of characteristics
Preferred version: 1.9.67ValheimModding-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.30.0README
HarrisonEpicSkillSystem 0.0.30
Controls: Skill1 Mouse4; Skill2 Mouse5; Skill3 Block+Mouse4; Skill4 Block+Mouse5. Legacy mouse bindings migrate on startup.
Version 0.0.30 includes dedicated names, native animation/VFX routes and isolated Tab 2 paths for all 15 First Awake classes. Each First Awake class selects two learned attacks from its two inherited Base attacks and two class attacks. Elementalist is Mage Branch A; the former Pyromancer alias is removed. Purify includes bounded caster-debuff cleansing; IronGrip and HolyShield use frontal knockback. Existing skill IDs, schema-4 saves, progression gates and later-tier pools remain compatible. Native visuals and multiplayer appearance still require in-game verification.
A standalone Valheim skill-tree add-on for HarrisonEpicClassSystem and WackyEpicMMOSystem.
Features
-
Cached softened HECS background with a 75% black overlay; transparent slot-bar and description containers. Clear Focus is removed.
-
Progressive tree with isolated attribute columns, lazy tier reveals, a clipped scrollable progression area, distinct node frames and 40% focus dimming.
-
Fixed five-slot equipping panel: select a learned skill, then click any standard hotkey slot. Slot 5 accepts only the quest-unlocked Mythic ultimate.
-
Three skill points per new highest MMO level above level 1, including catch-up for existing characters.
-
Ninety-five targetless skills across Base, First Awake, Second Awake and Mythic tiers, with selectable attack loadouts, configurable windups, replicated native animations, synchronized composite effects and a five-slot cooldown HUD.
-
Awakening and upward advancement within the same class chain preserve learned base-tree nodes, bonuses and investments.
-
Family changes, sibling-branch changes and class downgrades refund investments. Earned points and highest observed MMO level remain.
-
Valheim Compendium entry Harrison Skill Effects shows bonuses, learned active skills and hotkeys.
The runtime implements two First Awake attacks, two Second Awake attacks and one Mythic capstone for every HECS specialization branch. The larger historical awakening catalogs remain optional future design material.
Dependencies
Required packages are declared in manifest.json:
- Harrisonburg-HarrisonEpicClassSystem 0.0.21 or newer with a compatible API.
- WackyMole-WackyEpicMMOSystem 1.9.67.
- ValheimModding-Jotunn 2.30.0.
- denikson-BepInExPack_Valheim 5.4.2202.
Installation
Install with a compatible mod manager. For manual installation, copy the included
BepInEx/plugins/HarrisonEpicSkillSystem folder into the corresponding BepInEx
profile, replacing the previous HarrisonEpicSkillSystem.dll. Install dependencies separately.
Controls
Open WackyEpicMMOSystem and choose Skills.
| Skill | Default input |
|---|---|
| 1 | Mouse 5 |
| 2 | Mouse 4 |
| 3 | Blocking + Mouse 5 |
| 4 | Blocking + Mouse 4 |
| 5 / Mythic | G |
Select a tree node to inspect it and use Spend point to learn it. Refund all points requires a second confirmation click. Editing requires ten seconds out of combat. The top-right X closes the tree.
Configuration and saves
First launch creates BepInEx/config/HarrisonEpicSkillSystem.cfg. Settings include
hotkeys, per-skill cooldown/resource costs, HUD presentation, native cast effects
and vanilla animation-profile/explicit-trigger overrides for every playable skill.
An optional harrisonepicskillsystem_assets AssetBundle beside the DLL can provide
visual-only HESS_VFX_* particle prefabs; native cached effects remain the fallback.
Character progression is stored in BepInEx/config/HarrisonEpicSkillSystem/characters
with atomic writes and backup validation.
Version 0.0.20 migrates to ledger schema 3 and refunds valid schema-2 investments once because active-slot meanings and progression gates changed. Earned points, level history, class identity and the Mythic quest flag are retained.
Validation
5,573 automated checks passed, including the deferred cast-release pipeline, all awakening class chains, respecs and save/load retention. The release build verifies all 213 embedded resources and active icon hashes. Live Valheim UI and multiplayer verification remain pending.
Version 0.0.26 adds double-click purchases, evenly spaced independent Life lanes, persistent slot clearing and automatic skill swaps. Select an equipped skill or a passive node, click an occupied slot, then clear it or click another slot to swap. Select a different learned active node and click a slot to equip it. See SKILL_TREE_UI_LAYOUT.md for the controller and Canvas changes.
Awakening refresh (0.0.26)
SkillTreeView.RebuildSkillTree() bypasses the state polling throttle, deactivates/destroys tier-section children under every graph column, clears node/link/icon/layer caches, and reconstructs the permitted tiers. Fixed background, headers, slot bar and description remain intact. The add-on binds Harmony postfixes once to HECS Core.ClassEvents.RaiseAwakeningCompleted (after successful persistence, before ceremony VFX) and UI.ClassAltarUI.Open(Player); opening Skills also calls rebuild. A tier/class change detected during ordinary UI refresh provides a fallback. Hooks are unpatched on disposal, and callback failures cannot interrupt the core awakening ceremony.
Only ready character data can spawn nodes. Model.Visible and MinimumTier checks constrain instantiation to awakening rank plus MMO levels 20/60/90; the ultimate quest still governs purchasing/equipping. The ScrollRect grows downward to reveal unlocked sections. Graph rebuilds necessarily allocate Unity objects; there is no zero-allocation claim for this lifecycle operation. Existing per-frame input remains unaffected.
Current 0.0.26 rules supersede earlier unrestricted-slot notes: Slots 1-2 attack only, Slot 3 defense, Slot 4 utility, Slot 5 quest-gated learned Mythic ultimate. Attack slots support replacement/swapping and cannot be cleared. See TIERED_SKILL_ARCHITECTURE.md for catalog validation and exact percentage gates.
Discrete graph generation (0.0.26)
Every base family now binds to attack.active1 (20%), attack.active3 (60%), defense.active2 (Defense), and agility.active4 (Utility/Movement). All four active nodes have MaxRank=1. The retired defense.active4 and agility.active2 mappings are no longer generated. BaseClassSkill.Definition and TreeModel.UnlockForSlot use the same role-to-column mapping.
SkillRegistry.ValidateTreeBindings rejects bundled skill IDs, missing nodes, multi-rank active nodes, mismatched tiers and wrong columns before gameplay initialization. The Canvas instantiates active nodes only when the current class/tier registry resolves that node. First Awake adds attack.awake1a/attack.awake1b as separate nodes with independent skill IDs and point purchases. Awakening adds choices rather than granting learned skills automatically.
BaseHeight=720; TierHeight=220; verticalOffset=(tierIndex-1)*TierHeight; tierTop=BaseHeight+verticalOffset. Base attacks sit at depths 220 and 610. First Awake attacks occupy separate +/-82-pixel lanes at depth 818; Second Awake at 1038; Mythic at 1258. Skill names appear below the single-purchase state; no active node shows Rank 2/5. Active display names distinguish Groundbreaker, Flame Nova, Ethereal Volley, Fan of Knives and Radiant Burst while preserving legacy config/cooldown IDs. First presentation or a newly revealed rank scrolls the current tier into view.
Schema-3 saves are validated against the previous column graph before migration. Schema 4 refunds removed misplaced nodes and any nodes orphaned by corrected prerequisites; all valid investments and earned points survive. Refunded points become free points through the normal ledger calculation. A removed movement/defense unlock must be repurchased in its correct column. Failed migration/save does not overwrite the old character file. Schema-1/2 migration retains its prior refund policy.