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.
Valheim Ascended
A comprehensive RPG overhaul for Valheim. Classes, talent trees, abilities, enchanting, smithing, and milestones.
By kpttr
CHANGELOG
0.2.9 — 2026-04-25
just pretty much bouncing all over the place trying to fix/add polish and also modernize stuff i was previously lazy about or genuinely missed. Still have abilities i need to work on but i'm taking a break from abilities to work on capstones. Currently they are just free to grab whenever, i plan on locking them behind 'quests' at some point. the main issue is i dont fully know how i plan quests to work, i really want to avoid a garbage system that has no depth. I digress, since they're available i figured its best to just work on them now. I've decided to revisit all of them, in no particular order. many are getting full reworks where others are getting polish passes. the goal for these capstones is to provide alternative playstyles to each class regardless of subspec. In a way that seems, atleast to me, co-hesive across the board. With that being said, balance is still something that scares me and im not ready to take seriously, so i would expect some of these to be overtuned or underwhelming. the real goal of this capstone rework is to get the design direciton in-place, future-future patches will address balance concerns.
in addition to 'in-game' updates my adhd decided to make an actual readme.md for the thunderstore page, and i got around to making a proper discord server, which was more work than i anticipated. right now its just me and a few friends in there but i added sections for bug reporting so feel free to use that or continue to message me directly, either is fine for the moment while traffic is low. i also want to point out i've started adding 'in progress teasers' to the discord of things im working on that i feel are 'cool enough' to write about and add a little gif. check it out if you want
New Features
- In-game Settings menu — open it from the gear icon on the NavBar. Three tabs:
- General — target lock toggles + the new "Open Character on Inventory" option
- Scaling — UI scale and font size sliders
- Keybinds — rebind every mod hotkey AND every vanilla Valheim action from one place
- UI scaling — six sliders on the Scaling tab. A global multiplier plus per-element overrides for Ability Bar, Player Bars, Party Panel, Notifications, NavBar, and Sub-panels. Range 0.5x–2.0x. Want a tiny ability bar and chunky panels? Now you can.
- Tooltip font scaling — separate slider from panel text. Lets you keep panel text small but bump up tooltip readability (or vice versa). Range 0.75x–1.5x for both.
- Rebindable hotkeys — every mod hotkey (ability slots, target lock cycle) plus every vanilla action (Forward, Attack, Inventory, Map, Hotbar 1–8, Build menu, everything) can be rebound from the Keybinds tab. Click a row, press a new key, done. Hold Ctrl/Shift/Alt during capture to bind chord combos. Bindings persist across restarts.
- Conflict swap dialog — bind a key that's already in use and a popup pops asking "Q is already bound to Auto-Run. Swap bindings?" Yes auto-swaps both, No reverts. Build-mode actions (Deconstruct, snap point cycling) intentionally don't trigger the swap prompt because they share keys with combat by design.
- Panel hotkeys — open any sub-panel directly with one keypress while inventory is open. Defaults: T Talents, U Class, V Enchanting, C Character, B Smithing, L Quests, I Social, N Shipwright, P Settings. Each NavBar icon shows its hotkey in the top-left corner so you don't have to memorize anything. Updates live if you rebind. All defaults configurable in the Keybinds tab.
- Open Character on Inventory — new toggle in General settings (on by default). Opens the Character panel automatically when you open your inventory so your stats and gear are right there. Turn it off if you'd rather pick which panel to open each time.
- Ability previews on the class panel — both the class-pick / respec screen and the in-game class dashboard now show your abilities as 50×50 icon tiles instead of bare text rows. Hover any tile for a quick tooltip; click one to pin a full detail card below the row with icon, cooldown, cast time, and description. First tile auto-selected so the card is never blank.
- Subclass tabs for Mage and Paladin previews — when picking or respeccing a Mage you'll see Base / Rime Sage / Tempest Warden / Pyroclast tabs above the ability tiles; Paladin gets Death Knight / Judicator / Lightbringer. Click a tab to swap to that subclass's kit. Death Knight tab uses the frost-themed icons.
- Hotkey overlays on dashboard ability tiles — each tile now shows its slot key (G / H / B / LMB / RMB) in the top-left corner with the same gold-on-black style as the live ability bar, so you can match keys to icons at a glance.
- Food & mead quick-use slots — five new dedicated slots on the Character panel: 3 for food, 2 for meads/potions. Drag a food from your inventory into a food slot (or right-click it while the panel is open) and it lives there until you eat it. Same for meads. Press the hotkey to consume one immediately — defaults are
Alt+Z/X/Cfor food andAlt+Q/Efor meads, all rebindable in the Keybinds tab. A mirror row on the HUD shows your bindings and stack counts during combat. Food slots only accept items with food/stamina/eitr value; mead slots only accept consumables with a status effect — drop the wrong type and the slot ignores it. Items in slots survive death (no tombstone) because im bad at the game and im tired of eating berries on corpse runs and the contents are persisted with your save. The HUD mirror has its own scale slider in Settings → Scaling, and shares the inventory-open drag handle look with the rest of the HUD.
Refinements
-
Mage Overcharge (mag_cap3) — bespoke per-ability variants — Each overchargeable Mage spell now has its own unique overcharged form instead of one generic boost. Bolts (arcane/rime/lightning/fire) and Spell Barrier remain exempt by design. Cast feedback is the gold "Overcharged!" floating text.
- Ball Lightning — splits into 3 projectiles in a ±15° fan
- Blink — leaves a 5s elemental clone at departure (re-press to teleport back to it)
- Flame Wall — ×1.5 wider, ×1.3 damage
- Frozen Grasp — Frozen duration extended by +50% on each target hit
- Blizzard / Lightning Storm — ×1.5 radius, +33% strike frequency
- Eruption — main blast + 3 scattered mini-eruptions over a 1.2s window
- Ice Block — 4m mini-blizzard around you while iced (frost damage + chill ticks)
- Arc Flash — dashes 30% farther, 30% more damage, sky-strike at endpoint
- Glacial Spike — 3 spikes (main + 2 quick echoes) at 80% damage each
- Meteor — 3 meteors at 80% damage each (main + 2 echoes near impact)
- Surge — single dash that consumes all 3 charges, ×2 damage, no recasts
- Combustion — staggers all hit enemies, +35% damage
Also fixed a flag-leak bug where the overcharged state stayed armed after a cast — every subsequent normal cast registered as overcharged until you logged out.
-
Channel power-up VFX while overcharging — Holding to charge now wreathes the caster in subclass-tinted energy: orange/red for Pyroclast, white/cyan for Rime Sage, teal/blue for Tempest. Wisps gather inward and a light builds at the chest, brightening as the charge nears full. Other players in your session see your channel too. Right-clicking to cancel the cast immediately stops the VFX and clears the charge bar (no waiting for key release).
-
Overcharge tooltip expansions — Once mag_cap3 is unlocked, each overchargeable Mage ability tooltip gains an "Overcharged:" line showing exactly what the held cast does, with the actual damage value scaled to your INT/AGI. Shift-hover adds a Formula breakdown matching the rest of the Mage tooltip style.
-
Living Shadow no longer spawns out of combat — the Rogue capstone clone was popping in and out constantly. It now only appears when you have a weapon equipped (not a pickaxe or hammer/cultivator/hoe/fishing rod) AND there's a hostile mob within 50m. After both conditions go false the clone hangs around for 3 seconds before despawning, so swapping sword → pickaxe → sword for a quick mining swing or running briefly past the edge of detection doesn't shred it. Both the radius and the grace are configurable in the cfg.
-
Mage axe/pickaxe — Alt+LMB to swing — last patch made pickaxes/hatchets count as tools for mages, which fixed mining and chopping but locked you out of casting while holding one. Now plain LMB casts your slot 3 spell, and Alt+LMB swings the tool. So a stone axe is both your weapon and your wood-chopper depending on whether you hold Alt. Hammer/cultivator/hoe still work the way they did in 0.2.8 — plain LMB does the building action, no modifier needed. Spellblade behavior unchanged: melee + bolt proc on plain LMB.
-
Unified tooltip style across the mod — talent nodes, equipped items, ability slots, and class-panel attributes all now share one tooltip look — same dark background, scrollable when long, gold accent text. The class panel's old bordered attribute tooltip was the odd one out and has been replaced.
-
Class dashboard polish — class name and icon now center inside the header banner. Progress section reads as a proper table with gold values and faint dividers between rows. Attributes title sits centered over the attribute box with breathing room. Renown bar widened to ~80% of the panel and pulled up off the bottom border.
-
Class selection screen polish — dropped the deprecated Resource section (custom resources were removed back in 0.2.6 but the section was still showing). Tiles get more breathing room from the ABILITIES header.
-
Paladin subclass cleanup — the legacy "Lightsmith" entry was still showing on the class-pick screen even though the talent tree only supports Death Knight / Judicator / Lightbringer. Gone now.
-
Set Forging cost row wraps — sets that need a lot of different materials used to run their cost icons off the right edge of the panel. Materials now wrap to a new centered row every 6 entries so the full list always fits inside the panel.
-
Refinement state visible at a glance — each Mods row now shows its refinement on the right side without needing to expand the drawer. A small "Installed" / "Pending" label sits above the values, with pending values rendered in yellow with a
*prefix so you can tell what's saved vs. what you've staged but not yet applied. -
Class abilities auto-grant on class pick — Warrior / Rogue / Hunter / Paladin no longer make you spend talent points to unlock abilities, then sub-select 3 of the 6 you've unlocked. Pick a class → all 6 of your class abilities are immediately yours. Talent points still drive passives + capstones. Slotting onto the bar happens through the ability drawer as before, just with all 6 always available; no more "selected" / "deselected" ceremony. Paladin gets the 3 shared abilities pre-subclass and the full 6 once you commit to a subclass. Mage's auto-grant flow is unchanged.
-
Drawer refreshes live on class / subclass changes — if you have the ability drawer open and refund talents, change classes, or commit a subclass, the drawer rebuilds in place instead of showing stale abilities from your old build.
-
Mage Empower removed — the placeholder "Enhance up to 2 Mage abilities for -20% cooldown" feature is gone. The Mage talent panel's "Enhance (X/Y)" UI is replaced with a plain ability list that matches the other classes. Previously-empowered abilities now run on base cooldowns; Mage cast cadence may feel slightly slower if you were leaning on Empower. Wasn't shipping the planned full version of this feature any time soon, so it's coming out rather than continuing to mislead the tooltip.
Bug Fixes
- Movement slows weren't actually slowing — Frozen, Chilled, Bleeding, Snared, and Nerve Toxin all had their slow component silently broken. Visual effects, DoTs, and animation locks worked, but targets walked at full speed. Frozen is now a hard root again, and the other four apply their intended slow.
- Talent preview wing lingered after Back-from-respec — clicking Back to leave the respec screen would leave the floating talent tree preview wing visible on the dashboard. Closes properly now.
- Frost Reaping icon was blank — the Death Knight Frost Reaping ability had no icon in the class-panel ability list because the system was looking for a non-DK variant that doesn't exist. The frost variant is now used wherever Death Knight abilities appear.
- Smithing refinement slots were stepping on each other — on helmets, Plates and Lining were sharing one refinement so you could only refine 2 of 3 slots. Shields had the same hidden issue with Rim and Strap. Each slot is now independent. Existing gear may show its refinements on a neighbouring slot — nothing lost, just re-pick the empty one.
- Siege Engine only fired 4 of 5 bolts — Hunter capstone's 5-bolt magazine was emptying after 4 visible shots because the 5th was being consumed but never spawning a projectile. Fires all 5 now.
- Siege Engine inventory cost was inconsistent — sometimes a magazine cost 2 bolts, sometimes 1, depending on whether a Resourcefulness roll happened to land. Predictable now: 1 inventory bolt per magazine slot loaded.
- Couldn't fire a loaded Siege magazine with empty inventory — even with bolts in the chamber, vanilla's "out of bolts" check refused to fire when your bolt stack hit zero. Magazine bolts are spendable independently of inventory now.
- Empty-inventory reload animation played for nothing — running out of bolts triggered the reload animation even though there was nothing to load. Suppressed unless you actually have bolts to reload.
- Magazine wiped on weapon swap — sheathing your crossbow, swapping to a tool, or swapping between two crossbows dumped the loaded magazine. State persists per-crossbow now (saved to the item itself), so swaps and even logouts preserve each crossbow's loaded count.
- Piercing Shot did nothing with a crossbow equipped — pressing the ability key with a crossbow just got swallowed. No targeting line, no charge bar, no shot. The targeting gate was bow-only by mistake; crossbows now enter charge mode and fire correctly.
- Chain Lightning didn't proc on crossbow shots — the toggle activated fine, but actual crossbow bolts hit enemies without ever chaining. Same bow-only oversight blocked both the chain hit and the in-flight crackle VFX. Crossbow bolts now chain just like bow arrows.
- Hunter crash on dense mob clusters / splitting trolls — Piercing Shots (
hun_us5) was sphere-casting behind every target it hit and damaging whatever it found, then that hit re-triggered Piercing Shots from the new target's position, then the next, then the next. With clustered mobs (or third-party mods like CLLC that spawn fresh trolls on hit) the chain never terminated and the game crashed withStackOverflowException. Same shape was lurking unguarded in five other procs (mag_pye4 Ignition,mag_cap1 Spellblade Burst,hun_ls8 Gathering Storm,hun_fe7 Absolute Zero,mag_re7 Absolute Zero,pal_cap2 Cleaving Light); all six are now bounded.
Siege Engine — Magazine Polish
- Bolt-icon magazine indicator — 5 vertical bolt icons above the ability bar show your magazine state. Uses your currently equipped bolt's sprite — frost bolts look frosty, iron bolts look iron — and dims slot by slot as you fire. Pulses while reloading.
- Early-reload hotkey — bound to Shift+R by default (rebindable in the Keybinds tab). Press while your magazine isn't full to start a partial top-off. Costs 1 inventory bolt per slot refilled and plays the actual reload animation. If you only have 3 bolts and your magazine is at 1/5, you'll end at 4/5 — partial top-offs work instead of being refused.
- Auto-reloads when bolts come back — if your magazine empties because your inventory was already empty, the crossbow waits silently. The moment you pick up bolts the reload animation triggers and refills as much as your inventory allows.
Wind Runner — Capstone Rework
The old Wind Runner was basically a husk after the 0.2.6 Focus removal — a 2-second sprint-stop ranged buff plus a dodge distance bump. The "+25% permanent MS" and "ranged while moving = full damage" the tooltip claimed were either commented out or no-op (vanilla 0.221 has no movement-while-shooting penalty to remove anyway). Reworked from the ground up around a new Tailwind bar:
- Tailwind bar (0-100) — new visible bar under the ability bar with tickmarks every 10%. Shows whenever you have Wind Runner unlocked and a bow or crossbow held. Sprinting fills it ~12.5/sec (~8s from empty); dodge gives an instant +20. Walking does not contribute — the bar's currency is speed, not just movement.
- Cubic decay — 1 second grace after you stop sprinting where the bar holds, then decay ramps up cubically over ~4 seconds to a steady drain. Gives you time to plant for a shot without losing everything immediately, but standing still long-term means your Tailwind dries up.
- Threshold draw-speed buffs — above 50% Tailwind, bows and crossbows draw 25% faster; above 75%, 35% faster. Best tier wins (doesn't stack with itself), additive on top of any other draw-speed sources you have stacked.
- Per-shot knockback — each ranged shot consumes 15% Tailwind and slams the target with heavy knockback along the projectile's flight line. Below 15% Tailwind the shot fires normally with no consumption and no knockback. Configurable in the cfg if 80 force feels too punchy.
- Dodge +50% distance stays — and now also grants +20 Tailwind, so dodge-strafing during a fight is its own self-sustaining loop.
Predator's Instinct — Capstone Rework
The old Predator's Instinct was a low-HP glow + always-crit + kill-stack combo. Pretty noisy and didn't really feel like a Hunter capstone — felt more like a Warrior finisher. Rebuilt around the tracker fantasy: every ranged hit makes the target bleed, and the bleed leaves a trail you can follow.
- Bleed on ranged hits — every bow or crossbow hit applies (or refreshes) Bleeding on the target. 30% of the hit's damage gets added to a DoT pool that ticks down over 5 seconds as pierce damage. Hit them again and the pool grows + the timer resets. Refresh-aware math — the per-tick value scales to whatever's left in the pool over whatever time is left, so you never get short-changed by a refresh.
- Movement penalty — bleeding targets move 15% slower. Wounded prey can't outrun you.
- You hit harder when they're bleeding — +20% damage to anything carrying the Bleeding effect, multiplicative with all your other modifiers. Once you've drawn first blood, every follow-up shot lands heavier.
- Blood trail on the ground — bleeding targets drop visible blood splats at their feet as they move (every ~0.6m of travel). Each splat is a spread of 3-5 drops scattered in a small disc rather than a single circle, with per-splat size variance from 1× to 2× so the trail mixes small streaks and bigger pools instead of looking like a row of identical stamps. A few small dark-red blood orbs also kick up off each splat, rise briefly, and pop. Multiplayer: every player on the server sees the trail, and a shared seed drives the random arrangement so every client sees the same splatter (no visual divergence). Splats hold solid for most of their ~7s lifetime then smoothly fade.
- Visual on the target itself — small dark-red blood orbs spurt outward from the wounded creature in random directions, arc under gravity, then pop. Speed, size, and arc all scale with the creature's body radius — a troll bleeds noticeably bigger and farther than a deer, so the effect reads correctly on everything from boars up to bosses.
- Pure passive — no input, no key, no toggle. Hold a bow with the capstone and play normally.
All numbers (bleed ratio, duration, slow, damage amp, splat distance/lifetime) are configurable in the cfg. Boss-fight bleed contribution will be watched in playtest — if it ends up over-tuned, a per-target pool cap can be added without disrupting the regular loop.
Living Shadow now mirrors Envenom
Living Shadow's been the thinnest of the three Rogue capstones — a 30% melee damage echo with a cool visual but no real synergy with the rest of the kit. First step toward giving it a "buff-mirror" identity: when you cast Envenom, the shadow clone now inherits the buff. Its renderers tint green to match your weapon glow, and its echo on your next Envenomed melee hit carries 30% of the poison burst (base damage plus any consumed poison DoT) on top of the existing 30% slash echo.
Plays best against poisoned targets — proc Envenom on a target you've already poisoned (Toxic Precision, Lethal Toxin, ranged poison riders) and both the player's hit AND the clone's echo get a fatter pierce burst from the consumed DoT. Stacks naturally with the Assassin subclass identity. Local-only visual for now (other players see your clone but not the green tint); RPC sync can come later if it feels missing.
More abilities will mirror in future passes — Shadowstrike, Blade Dance, etc. — but each needs custom logic so they're staged.
Additionally, I recognize that while living shadow is 'cool' it quickly becomes annoying especially when you're just doing stuff in your base. To try and fix this I added 2 threshholds to when the shadow can actually spawn: 1. you must have a weapon equipped, is the shadow will no longer spawn if your running around unarmed or with a tool out. 2. there must be a enemy withing 50m, this one im not totally sure on because it basically works as a enemy detector. But does that even matter? I'm not certain.
Bloodletter — Capstone Rework (was Reaver's Stance)
Two of the three Rogue capstones were locked to specific weapons (Reaver's Stance to spears, Executioner to 2H swords), so the only un-gated option was Living Shadow. Bad design — Rogue should have meaningful capstone choice without being told what to wield. Executioner kept its slot (cooler fantasy, better identity), and Reaver's Stance got replaced with Bloodletter: a stack-and-bleed playstyle aimed at fast-attacking dual-wield builds (where Blade Weaver's attack-speed talents pay off) and Assassin poison synergy.
- Bleeds on every melee hit — each melee hit applies a fresh Bleed stack scaling with your DEX (1 + DEX × 0.05 pierce/sec per stack, 8 seconds per stack). Stacks accumulate without a cap and fade individually as their timers run out — fast attacks pile on more concurrent stacks. Bleeding targets are slowed by 15%.
- Stacks make the target vulnerable — bleeding targets take +2% damage per stack from all sources. Your hits, your teammates' hits, ability damage, environmental — anything. The Rogue's role is to apply stacks; the whole party's damage benefits.
- Cascade on bleed-deaths — when a bleeding target dies, the dying target's full stack count transfers to up to 3 of the nearest enemies within 4m, plus pierce damage scaled to DEX and stack count. No chain — each death triggers its own cascade independently. Pull a pack, stack one heavy, kill it, watch the wound spread.
- Cascade visual — dark oxblood/wine streaks fly outward in curved splatter trails (not straight spikes), with bulbous droplet tips and faded wispy tails. Mix of fat short chunks and long thin sprays for visceral variety. Burst size scales mildly with the dying mob's body — a deer pops a small burst, a troll a noticeably bigger one. Each cascade target also gets a sized blood splat at their feet so the spread reads visually.
- No weapon gate — works with any melee weapon: sword, dagger, knife, polearm, spear, club, axe. Pick what fits your build.
The underlying Bleed system was upgraded for stacking, which means Hunter's Predator's Instinct also benefits — ranged bleed hits now leave individually-fading stacks instead of one big refreshing pool, and the blood-splat trail grows proportionally as a target accumulates wounds (a freshly-bled deer leaves a small dotted trail; a heavily-stacked troll leaves a wet path you could follow blindfolded). All numbers (per-stack DPS, duration, amp, cascade radius/damage) are configurable in the cfg.
Executioner — 2H Reaver Rework
Old Executioner was punchy but dumb: 2H sword only, target below 40% HP took flat double damage with armor entirely ignored. The execute window snapped on, then snapped off, with no scaling and no reason to invest in anything but raw weapon damage. Reworked into a build-defining keystone for any Rogue who wants to commit to two-handed melee.
- Any 2H melee weapon — atgeir, battleaxe, sledge, 2H sword. Bows, crossbows, magic staves, and spears stay excluded.
- Always-on armor pen — scales with AGI + DEX. 0.5% per stat, capped at 75%. Replaces the old binary "ignore armor" with something that grows with your build.
- Below 40% HP execute — bonus damage is now +25% + 0.5% per (AGI + DEX) instead of a flat ×2. At low stats it's a smaller spike than before; high-investment Rogues end up roughly where the old flat 2× landed.
- Below 20% HP kill — still resets all ability cooldowns. Kept as-is.
- Dual-wield passives pivot to 2H — taking Executioner now redirects your dual-wield Rogue passives onto two-handed weapons. Nimble Fingers, Dual Grip, and Dual Blade Mastery all apply to 2H melee instead of dual-wield once the capstone is unlocked. Fully commits the build — your dual daggers stop benefiting from those nodes while Executioner is taken. Refund the capstone and dual-wield bonuses snap back.
- Dual Blade Mastery on 2H — self-paired combo — your 2H weapon counts as paired with itself. 2H sword = Blademaster (Sword+Sword, slash bonus), battleaxe = Reaver (Axe+Axe, melee bonus), sledge = Crusher (Club+Club, blunt + stagger). Atgeirs/polearms get no combo bonus, since polearms aren't in the combo matrix.
0.2.8 — 2026-04-21
New Features
- Dedicated utility slots — the character panel now has three dedicated accessory slots for utility items: one for Wishbone, one for the Dvergr Wisplight (demister), and a generic utility slot. Megingjord goes into the generic utility slot and Evasion Mantle now lives in the regular trinket slot. The belt and neck slots are still on the panel but are reserved for future custom gear for now.
- Equip all three utility items at once — you can now wear Megingjord, Wishbone, and the Wisplight simultaneously, each in its own slot. All three effects stack so carry weight bonus, buried-treasure pings, and mist clearing are all active at the same time. Right-click any slot to unequip just that one. Saves and loads keep all three equipped across sessions.
- Mage can mine and chop again — pickaxes and hatchets now count as tools when a Mage is holding them, so left-click actually swings the thing instead of being eaten by the arcane bolt binding. The LMB/RMB ability slots grey out while you're holding one, same as with the build hammer. Only affects Mage — every other class already worked fine.
Bug Fixes
- Rogue backstab crash — a report came in of backstab damage compounding into the quadrillions and crashing the game. Each hit now gets scaled exactly once regardless of what the proc chain is doing. Affected any class stacking on-hit damage, rogues just hit the ceiling first.
- Arc Conductor stack overflow crash — Tempest Warden mages with Arc Conductor unlocked would crash the game when hitting an enemy next to other enemies. The chain was re-triggering itself on its own chain hit and looping forever. Chain now only fires off the original hit, as intended.
- Living Shadow crash in multiplayer — had a report come in from someone playing with a friend who was running rogue with the capstone Living Shadow. Every melee hit his friend landed was spamming errors into the log and eventually tanking the game. It wasnt actually a Living Shadow problem though — it was the visual effects system misbehaving during combat, and Living Shadow just happened to spawn vfx on every single hit so it was the loudest offender. Fix should quiet down any ability or talent that was silently throwing errors during combat, not just this one.
- Living Shadow echo double-firing — while i was in there i noticed the shadow was echoing its own echo. Each swing was stacking extra damage and procs beyond what its supposed to. Clamped to one echo per hit like the tooltip actually says.
- Lethal Toxin, Herald of Ruin, Smite the Wicked — these three were sneakily re-triggering every on-hit and on-kill talent you had unlocked (Living Shadow, Adrenaline Surge, Consecrated Arms, all of em) on their own damage — so you were double-dipping without knowing it. Worse, Herald of Ruin and Smite could chain their own proc onto themselves when they killed a second eligible target in the blast. Dense groups of frozen or consecrated enemies could snowball pretty hard. All three fire as a single clean proc now.
- Aura vfx broken after relog — Seal of Light, Ward of Faith, and Sanctuary would all break their visuals if you logged out and back in without fully quitting the game. Cleans up properly on relog now.
- Ability bar art missing after relog — background art on the ability bar wasnt coming back when you relogged, had to open your inventory to force it to redraw. Fixed.
Refinements
- Character faces where youre aiming — noticed it with Piercing Shot but it applies to every ability that has a hold-to-aim indicator (Ground Slam, Charge, Blizzard, Meteor, Shadow Anchor, Paladin Consecration, all of em). While youre holding the ability down and placing the indicator, your character now rotates with the camera so you can actually see what youre aiming at. This also overrides target lock for the duration of the hold — if you had an enemy locked, your model will face the aim direction instead of snapping back to the lock target. Released the key or fires the ability → target lock takes back over like normal.
- Piercing Shot polish — recolored the vfx from green to purple, the cast bar now fills up as you charge so you can see how close to max youre at, and the camera zooms in while you hold and smoothly pulls back on release.
- Sanctuary particles toned down — aura was a bit too thick in the persistent state. Full intensity at cast for the first second then smoothly eases down to something calmer so it doesnt drown out everything around you.
- Eitr bar drag backdrop — the eitr bar now gets the same dark panel behind it as HP/stamina when you open your inventory, so dragging it around the screen is less fiddly.
- Character + inspect panel layout tidy — shuffled the equipment slots on both panels so weapon/ammo sit at the top of the right column, belt and legs stack under chest on the left, and the utility/trinket row is its own band at the bottom. Tightened column spacing on the inspect panel too so it doesnt feel like half the screen is empty air next to the character preview.
Absolution — Spec-Split Rework
- Absolution is no longer a generic heal+cleanse. It's now a spec-split offensive ultimate (Lightsmith loses it — Healing Light + Radiant Aura already cover that role).
- Judicator — fire detonation that catches enemies on Burning, which then chains to neighbors over 2s. Self-heals 8% max HP per ignited enemy (cap 32%).
- Death Knight — frost detonation amplified by built-up Chill / Frozen — a Frozen target takes 4× base damage, and every hit is briefly chain-wrapped before shattering. Self-heals 10% missing HP per stacked enemy consumed (cap 40%).
- Damage routes through the normal pipeline, so on-hit talents (rampage, magic damage, etc) apply.
- New tooltip with shift-hover for live damage numbers based on your weapon + stats.
Divine Shield — VFX + Tuning
- New visual: hexagon-paneled translucent dome (replaces the flat yellow sphere). Spec color split — gold for Judicator/Lightsmith/Lightbringer, cyan for Death Knight. Panels flare and ripple when you take a hit so you can see the shield is doing something.
- Duration 5s → 10s. Damage reduction 50% → 30%.
- Holy Strike drops to a flat 3s cooldown while the shield is active (≈3 free Holy Strikes per window). If the shield ends with HS still on its reduced cooldown, remaining normal cooldown is restored — no popping shield as a panic damage burst.
- Stagger/knockback immunity and the "breaks on other ability use" rule are unchanged.
Consecration — VFX + DK Chill
- VFX upgraded — denser crack network, a rotating center sigil per spec (gold sun-spoke for Holy, cyan frost glyph for DK), and per-spec ground motion (Holy gets jumping gold arc sparks, DK gets low cold wind wisps).
- Death Knight variant now applies a Chill stack per damage tick — 3 stacks cascade to Frozen, the same 2s root used elsewhere. Combos directly into Glacial Spike, Absolution DK, etc. Holy specs keep the original frost slow.
- Duration 6s → 10s. Damage / radius / cooldown / eitr unchanged.
Shadowstrike — Range + VFX
- Range 8m → 16m. Opens fights from real distance instead of needing to already be in melee.
- Line-of-sight required — no more teleporting through walls or terrain. Failed casts show "No line of sight" feedback and don't consume the cooldown.
- New visual: vanish at origin → ghost afterimage trail along the path → cone of shadow spears descending into the target (replaces the old flat purple LineRenderer spikes). Spec color split — Blade Weaver purple (matches Shadow Tether), Assassin lime green.
- Mechanic unchanged: guaranteed crit backstab, scaling with DEX + AGI.
Ball Lightning — VFX + Tuning
- Lifetime 8s → 5s. Cooldown, travel distance, arc radius, arc cadence, eitr cost, and walk-through buff unchanged.
- Detonation now does damage — at end of life the orb expands, implodes, and bursts outward, applying a lightning AoE in the 5m arc radius. New configs
BallLightningDetonationBaseDamage(30) +BallLightningDetonationIntScale(0.5). Formula shows live in the tooltip. - Full VFX rebuild — churning plasma core that escalates as the orb ages, escaping arcs that read as containment progressively failing, three-beat detonation finale with radial ground streaks + shockwave.
- Smooth terrain following — the old code teleported the orb up cliffs in one frame. Vertical climb is now capped at the orb's normal speed, so it ramps slopes naturally and stops at the foot of vertical walls.
Glacial Spike — VFX + Crit Fix
- Full VFX rework. The spike now grows above the target as you cast, hovers, then plunges with the smaller shards raining down around the central spike instead of everything just popping in and falling at once.
- Shards track moving targets — they curve to hit the mob even if it walks during the cast.
- Tiered crit: Chilled targets take 1.5x, Frozen take 3x. The old tooltip claimed it crit on either, but a hash bug meant it never actually fired. It works now.
0.2.7 — 2026-04-16
It's been on my todo list for weeks for me to 'fix' abilties. A lot of them I rushed through just to get done or didnt implement correctly or at all (paladin lol). Starting with this this patch, and the coming patches, I have identified 25 abilities that far way below what i'm considering the bare minimum for quality and direction. 7 abilties are getting large redesigns; These are either full VFX reworks, added effects, or entirely new abilities replacing ones that I didnt feel like were fun to play with. None of these are set in stone but I'm hoping to get the ability system to a point I'm satisfied with, like I did with talents and attributes, so I can focus my efforts on other parts of the mod.
Ability Redesign — Disengage
Disengage has been reworked from a simple backward jump into a jump + area-denial ability.
- Spike field — leaping backward now leaves a trail of caltrops along the jump path
- Enemies walking through the field take pierce damage (scales with DEX + AGI) and are slowed
- Field lasts 8 seconds before the spikes retract into the ground
- Updated indicator — hold-to-aim preview now shows the full spike field zone instead of just the landing point
- Multiplayer visibility — the jump trail and spike field are now visible to other players Disengage really felt like it didnt do a whole lot, because it didnt. Adding caltrop drops makes it feel like it deserves the ability slot without having to completely scrap the abilities original direction and untility.
Ability Redesign — Piercing Shot
Piercing Shot has been reworked from an instacast arrow into a charged shot.
- Charge mechanic — hold the ability key to charge over 3 seconds, release to fire
- Damage scales from 30% (instant tap) to 150% (full charge)
- Projectile speed doubles at full charge
- Player is slowed while charging (vanilla bow draw)
- Charge VFX — green glow and converging energy wisps build on the player during charge
- Projectile overhaul — arrow is engulfed in jagged trailing energy wisps that fan outward behind it, with fading streaks left in the air
- All VFX scale with charge level (wisp count, trail length, brightness, projectile size)
- Shockwave — firing above 50% charge triggers a radial burst at the bow
- Updated indicator — beam and rings pulse faster and brighter as charge builds, rings are now half-arcs
- Multiplayer visibility — charge buildup, projectile wisps, shockwave, and all SFX are visible to other players I felt before that peircing shot was just a generic 'shoot bow' ability. the fact that the arrow peirced was a good starting point but it needs more to justify being a stand-alone ability. I hope this version feels better to play with while still filling the thematics
Ability Redesign — Chain Lightning
Chain Lightning has been replaced with a toggleable lightning infusion.
- Toggle infusion — press to activate, press again to deactivate (1.5s anti-spam cooldown)
- While active, every arrow chains lightning to up to 3 nearby enemies on hit
- Chain damage is 40% of the primary hit's total damage, applied as lightning
- Chains originate from the impact point, not the hunter's hands
- Ability lockout — other abilities are locked while chain lightning is active (trade burst for sustained AoE)
- Weapon glow — bow glows electric blue with a flickering light while active
- Arrow VFX — arrows crackle with electricity in flight, chain targets flash blue on hit
- Multiplayer visibility — weapon glow, arrow crackle, chain arcs, impact effects, and all SFX are visible to other players Stormweaver was one of the first 'spec' ideas I had. I really wanted to had a different variation of hunter. Chain lightning howerver, felt too much like a mage ability. reworking it to empower your arrows makes more sense and brings it back inline with the 'storm hunter' vibe i'm looking for
Ability Redesign — Throwing Knives → Shadow Tether
Throwing Knives has been replaced with a new ability: Shadow Tether.
- Tether pull — throw a dagger that tethers to an enemy and pulls them toward you
- Damage scales with distance pulled, plus DEX and AGI scaling
- Longer pulls = more damage
- Break mechanic — larger enemies break the tether sooner
- Greydwarfs almost always pull fully
- Trolls snap the tether after a few meters
- Bosses break the tether almost immediately but still pull briefly
- Shadow Anchor combo — the pull tracks your current position, so teleporting via Shadow Anchor mid-pull reverses the drag and racks up massive distance damage
- Close-combat hold — target held at your feet for 1 second after arrival before damage fires (also opens the Shadow Anchor combo window)
- Tether wire VFX — purple LineRenderer between you and the target, jitters harder on large mobs, shifts toward red at high tension, snaps with a flash on break
- Multiplayer visibility — projectile, tether wire, dust during drag, and all SFX are visible to other players Throwing knives felt terrible to play with. Either i make it auto target or remove the verticality, or you have to move your camera in awkward positions. just wasnt working well. I've decided to ditch it entirely. I'm still unsure about Shadow Teather, but my idea is to make rogue abilities combo off eachother. My idea with this is you 'Tether' a mob and teleport around with shadow anchor or shadow strike.
Ability Redesign — Sanctified Barrage
Sanctified Barrage has been reworked from a multi-wave swarm of flat LineRenderer weapons into a single cinematic volley with spec-differentiated ground theatre.
- Single-volley design — replaced the old 5-wave / 100-weapon barrage with one volley of ~16 weapons per cast. Denser per-moment but far more readable than the previous stacked waves.
- Real 3D weapon meshes (Judicator) — weapons now clone vanilla swords, maces, and axes with holy gold glow, rotated tip-forward along flight direction
- Procedural ice shards (Death Knight) — custom dark-blue pyramidal shard mesh with frost-blue outline, per-shard color variation (base / teal / cyan) and size variation
- Underground emergence — weapons spawn below ground behind the paladin, float up to varied heights (knee → overhead) at variable speeds, hover briefly, then accelerate forward via a power curve
- Phase-in sparks — gold (Judicator) or frost (DK) arc sparks emit from each weapon while in flight, scaling with the weapon's current size
- Judicator ground carpet — three nested rectangular aurora flame walls rise from the AoE perimeter in a forward-rolling wave, peaking when the wave reaches the far edge, then sinking back. Orange→gold palette with per-column height wave and shimmer
- Death Knight ice crystal field — grid of procedural ice crystal mounds erupt from the ground in a rolling wave synced with the weapons, denser and taller clusters in the inner-core zone for visual tell
- Death Knight chill stacking — edge hits apply 1 chill stack, inner-core hits apply 2. 3 stacks converts the target to Frozen, the same system Rime Mage uses
- "Core Chill!" feedback — floating text fires once per cast when an inner-core hit lands, teaching the mechanic
- Layered SFX — cast-start sword swing, five staggered volley whooshes when weapons launch forward, carpet hum synced with the flame wall ignition, per-enemy impact sound (metal for Judicator, frost for DK, throttled to 3 per cast)
- Updated tooltip — now shows correct damage type per spec (fire / frost) and documents the DK chill stacking mechanic on shift-hover
- Multiplayer visibility — weapon meshes, ground theatre (flame walls / crystal field), cast-start SFX, and all ground VFX are visible to other players. Damage and chill stacks are caster-authoritative but the Frozen status effect synchronises via the existing ZDO status effect network
Pre-existing bug fix: Sanctified Barrage was silently consuming all your eitr without firing when you had less than the cost. The Execute method had its own eitr check that conflicted with the central Paladin eitr system — the central system zeroed your pool, then Execute saw 0 and early-returned. Ability now only checks eitr once.
Sanctified Barrage was the worst offender in the "rushed Paladin" bucket. Flat wireframe weapons, no mechanical identity between Lightsmith and Death Knight beyond the damage type swap, and just a generic fire wave on the ground. The single-volley pivot came from playtesting — the old 5-wave cascade was visually mush, nothing felt like a discrete event. Cutting to one big volley with proper theatre reads so much better. The DK chill stacking + core-zone 2x gives the frost variant an actual reason to exist beyond palette swap, and rewards positioning for faster Freezes.
Ability VFX — Sanctuary
Sanctuary (Lightbringer tier-2 aura) gets a dedicated VFX identity — previously it had zero visuals and borrowed the Absolution ability's cast VFX.
- Passive ground aura — warm gold wisps rise from the ground around the paladin, concentrated toward the center and fading out at the 10m edge. Near-paladin wisps rise to character height and spiral around the paladin as they rise; outer wisps stay near the ground
- Color variation — each wisp blends between warm gold and holy off-white so the column reads as a mix of gold and pure-white light
- Soft follow — wisps catch up to the paladin with exponential damping (trails behind when sprinting but catches up if you stop)
- Player-Y tracking — aura follows the paladin onto rocks, platforms, and while flying instead of snapping to the terrain below
- Active burst — casting the aura now triggers an expanding three-ring ripple (with a short aurora band on the middle ring) that sweeps outward along the ground, terrain-conforming with a safety clamp so the ring stays visible when the caster is elevated
- Upward wisp burst at the paladin's feet on cast
- Ring-triggered ally wisps — when the expanding ring passes a healed ally, a burst of paladin-style wisps spawns around them (corkscrew + color variation matching the passive aura). Triggers sequentially with the ring's expansion
- Layered SFX — gentle gold chime on cast (audible to nearby players) + metallic body layer (caster-only); throttled chime at each ally the ring reaches
- Multiplayer visibility — passive aura is visible on remote Lightbringers via a buff-broadcast; expanding ring + feet burst replay on all clients. Per-ally wisp bursts stay caster-local
Bug fix (uncovered during rework): Sanctuary's active cast was using the Absolution ability's broadcast ID, meaning remote clients incorrectly saw Absolution's VFX whenever a Lightbringer cast Sanctuary. Decoupled — Sanctuary now uses its own sanctuary_burst ID.
Ability VFX + Gameplay Completion — Seal of Light
Seal of Light (Lightbringer tier-2 aura) gets a dedicated crown-of-light VFX identity AND the previously description-only ally bonuses now actually function.
- Passive crown — a small tilted gold halo floats above the paladin's head with six rotating horizontal light rays radiating outward at chest/head height. Small vertical crown spikes fill the spaces between rays, their heights rippling around the crown. 30% of the rays are biased near-white for palette variety; the rest are warm gold
- Subtle idle motion — the entire crown gently bobs up and down by a few centimetres and tilts slightly forward rather than sitting perfectly flat
- Soft chest glow — gentle gold point light parented to the paladin
- Active cast burst — expanding horizontal ring at chest height + brief upward light flare from the head + central flash. Not dramatic — a reinforcement surge, not a capstone moment
- Empowered 10s sustain — on cast, the crown smoothly amplifies: halo expands and brightens, rays extend longer and rotate faster, chest light intensifies, thin upward beam appears above the head, crown spikes grow taller. Smooth fade back to passive when empowerment expires
- Weapon-attached orbit VFX — during the empowered state, small gold arc sparks orbit each of the paladin's hands, accompanied by a gold point light on each hand. Cleanly removed on expiry
- Heal-on-hit feedback — a tiny upward gold spark sparkles at the paladin's chest every time the 3% empowered heal procs (throttled so fast weapons don't strobe; the heal itself still fires on every hit)
- Layered SFX — sharper cast cue than Sanctuary (broadcast, audible to nearby players), caster-only metallic body layer for weight, faint chime per heal proc, short swing cue marks empowerment fading
- Multiplayer visibility — passive crown and empowered sustain (including weapon orbit sparks) are visible on remote Lightbringers via a two-channel buff broadcast. Cast burst replays on all clients
Gameplay completion — previously description-only ally bonuses now actually apply:
- Ally passive +2% fire/spirit — melee hits made within 8m of a paladin with Seal of Light slotted get +2% fire and spirit damage (non-stacking with your own self-slotted +3%/+6%)
- Ally empowered +5% all melee damage — melee hits made within 8m of a paladin in the 10s empowered state get +5% to all damage types (blunt, slash, pierce, fire, spirit). Stacks independently of the passive ally bonus
- Burning on empowered hits — each of the empowering paladin's own melee hits during the 10s window now applies the vanilla Burning status effect on top of the existing 3% heal-on-hit
Bug fixes uncovered during rework:
- The active cast was broadcasting
"seal_of_light"to a remote handler that didn't exist — remote players saw nothing when a Lightbringer cast. Replaced with a dedicated"seal_of_light_burst"ID with a real remote handler
Seal of Light was a description that didn't match its implementation. The ability text promised a meaningful aura that empowered nearby allies and applied burning, but in practice it was a self-only +3% fire buff with a 10s heal-on-hit window and literally no visual identity at all. Wiring the ally bonuses to use the buff-VFX broadcast system as a cheap proximity check reused the infrastructure I already built for Sanctuary's remote visibility, no additional sync was needed.
Ability VFX + Gameplay Completion — Ward of Faith
Ward of Faith (Lightbringer tier-2 aura) gets a dedicated bone-tracked spirit-armor VFX identity AND the previously description-only ally bonuses now actually function.
- Bone-tracked plate armor — procedural armor pieces parented to the paladin's rig and follow bone animations (not a floating shell). Chest plate on the spine, two pauldrons on the UpperArm bones, two knee plates on the LowerLeg bones. Plate verts are rebuilt in world space each frame from
bone.position + bone.rotation * localVertso they stay locked to bones without inheriting non-unit rig scale - Segmented chest breastplate — 6 trapezoidal filled-mesh quads arranged as 3 horizontal bands × 2 halves. Per-vertex Z on each band so the upper band angles forward from collar to pec, the mid band bulges at max protrusion, and the waist band wraps inward at the outer edges like a real cuirass
- Layered hex pauldrons — each shoulder carries 3 stacked line-art hex outlines at staggered Y rotations (0° / 22° / 44°) and scales (1.15 / 0.94 / 0.71). Pauldrons deliberately ignore bone rotation and stay world-horizontal (so they read as armor resting on the shoulder rather than swinging with the arm)
- Knee plates — rounded-hex filled meshes at the top of each LowerLeg bone (knee joint)
- Holographic look — muted gold palette
(0.85, 0.78, 0.5)with off-white accents, premultiplied-alpha Sprites/Default materials so the plates render faintly translucent instead of additively bright. Staggered per-plate shimmer so they don't pulse in sync - Active 8s shielded amplification — plate alpha brightens (0.18 → 0.45), line widths thicken, body glow intensifies. Smooth lerp in/out (0.3s in / 0.5s out) mirrors Seal's empowered pattern
- Active cast burst — panel surge + horizontal ripple at body height + body flash. Lower-Y ripple than Seal's chest-height ring so the three auras are distinguishable at a glance
- Expiry burst VFX — remaining shield converts to burst heal with a dedicated shrink-inward animation: plates pull toward the body center and dissolve while an inward warm-gold wisp pulse visualises the shield "coming home" as heal
- Per-ally cast flash — allies within 6m get a brief hex panel flash at their torso on cast (caster-local only, matches Sanctuary/Seal ally-flash policy)
- Throttled absorb feedback — tiny inward shimmer at body height plus a faint metallic chime each time the shield absorbs damage (4/sec cap)
- Layered SFX — metallic "barrier locks into place" cast cue (broadcast), caster-only forgebellows body layer for weight, per-ally flash chime, throttled absorb chime, and a warm heal chime when the shield bursts
Ally receives the armor too — new cross-client ally visual system:
- Passive ally visual — stepping within 6m of a Ward-slotted paladin now renders the same spirit-armor on you. Fades out when you leave range (with 0.5m hysteresis — enter at 6m, exit at 6.5m — so boundary-hovering doesn't thrash the sync)
- Active ally visual — when a paladin casts Ward near you, the armor appears for the full 8s window regardless of whether you leave range during the sustain
- Remote visibility — each ally client broadcasts its own ally-state buffs so other players see the armor on their allies too. Caster visuals take priority over ally visuals when a paladin is both casting and standing near another caster
Gameplay completion — previously description-only ally bonuses now actually apply:
- Ally passive +3% DR — enemies' damage against allies within 6m of a Ward-slotted paladin is reduced by 3% across all damage types (non-stacking with the +5% you get from slotting it yourself)
- Real ally shield tracking — the old "simplified heal" for ally shields during the active cast has been replaced with a proper shield budget. Each ally client allocates a 15%-of-max-HP shield pool for 8s when a caster within 6m enters the shielded state. The pool absorbs damage like the caster's own shield; residue at expiry pays out as a burst heal
Multiplayer sync — five channels driving visibility:
ward_of_faith(buff) — caster broadcasts passive slotted stateward_of_faith_shielded(buff) — caster broadcasts 8s active stateward_of_faith_burst(ability RPC) — one-shot cast burst replayward_of_faith_ally_passive(buff) — ally broadcasts "I'm near a caster"ward_of_faith_ally_active(buff) — ally broadcasts "I have an incoming shield"
All authority stays caster-side for shield amount / expiry / absorb. Ally shield budgets are ally-local (allocated on each ally's client via proximity + caster-shielded detection, no cross-client handshake).
Bug fixes uncovered during rework:
- Ward of Faith's code was named
DivineBarrier*(functions, state, getters) across both AbilitySystem and DamagePatch — copy-pasted from the separate Tier-1 Divine Shield ability and never renamed. Full rename chain applied. The_divineShield*namespace (the actual Tier-1 Divine Shield ability) is untouched - The active cast was broadcasting
"ward_of_faith"to a remote handler that didn't exist — remote players saw nothing when a Lightbringer cast. Replaced with a dedicated"ward_of_faith_burst"ID (matching the pattern established for Sanctuary / Seal of Light) - The passive ward broadcast channel was never wired up — remote Lightbringers had an invisible aura. Passive visibility now routes through the same buff-broadcast infrastructure as Sanctuary and Seal
- Active ally shield was "simplified" to a flat heal with a TODO comment — now properly tracked as absorption
Ward of Faith was the last of the three tier-2 Lightbringer auras to get its visual identity pass, and the most structurally messy to start with. The code wasn't even named after the ability — it was named after Divine Shield (a completely different Tier-1 ability), copy-pasted and never cleaned up. The rename was a precondition for everything else. The plate-based armor concept came from wanting Ward to feel tangible in a way the other two auras don't: Sanctuary is ground wisps, Seal is a floating crown, and Ward should feel like you've put actual armor on. Getting the bones tracked correctly took several iterations (the rig has non-unit bone scale + mirrored Z axes on the arms, so the obvious approaches didn't work) but the final result sits on the body convincingly. Extending the visual to allies was almost free — the buff-broadcast infrastructure from Sanctuary/Seal already supported proximity-driven remote visibility, we just needed two more channels for the ally-state signaling.
New Status Effect — SE_Snared
- Applied by Disengage's spike field — slows enemy movement by 35% while in the zone
- Wears off shortly after leaving the field
Bug Fix — Class Respec Talent Refund
Changing classes was under-refunding talent points for multi-rank talents. If you had invested 3/3 into a tier talent, the respec only gave you 1 point back instead of 3 — so every class change quietly cost you some of your spent points. Fully-maxed trees could lose ~20 points per respec. The class respec now correctly refunds the full number of points invested, matching the talent panel's "Refund All" button. Capstones (which are free to unlock) are correctly excluded from the refund count, and leftover rank data from the old class is now cleared out properly.
HUD — Eitr Bar Restored
The 0.2.6 class-resource cleanup hid the vanilla Eitr bar along with the removed resource bars but never built a replacement. Eitr is visible again.
- Custom Eitr bar — matches the HP/Stamina aesthetic with a blue-cyan fill and the same smooth delayed-trail animation when you spend or regenerate eitr
- Shows up when it matters — the bar only appears once you have an Eitr pool (Mage / Paladin, or from eating Eitr food), so non-casters don't see an empty meter cluttering their HUD
- Draggable, separate panel — default position is just above the HP/Stamina panel; drag it anywhere on screen and the position sticks between sessions
Pure collateral fix from the 0.2.6 resource-system removal. The vanilla Valheim bar was getting hidden as part of the HUD cleanup pass and I just never noticed there was no replacement since I rarely play mage for testing.
HUD — Ability Bar Visual States
Ability slot icons now communicate castability and active state at a glance, instead of only showing the cooldown sweep.
-
Dimmed when uncastable — the slot icon fades to a translucent grey when you can't cast it right now: on cooldown, not enough Eitr, mid-windup on another cast, or locked out while a channel ability is running.
-
Tool-held greyed state preserved — mage LMB / RMB still darken when you're holding a build hammer, hoe, cultivator, or pickaxe, same as before
The old behavior was to show a "Not enough Eitr" floating toast only on a failed cast attempt, which meant you had to actually try to cast an ability to learn it was unusable. The dim tint gives you the same information passively before you press the key. The lockout expansion came naturally from the same UI work — once the bar could represent "uncastable" visually, it made sense to extend the Chain Lightning lockout pattern to every other channel where casting something else mid-channel doesn't make mechanical sense.
Bug Fix — Target Lock Indicator Alignment
If you play on an ultrawide monitor (or any resolution that isn't a standard 16:9), the target lock brackets and the name/HP/distance labels were drifting up above the mob's head instead of framing it. The indicator now sits correctly on the target regardless of your display's aspect ratio.
Bug Fix — Whirlwind Duration
Whirlwind had no way to stop on its own after the rage system was removed in 0.2.6 — once you activated it, you had to press the key again (or die) to end the spin. It now channels for up to 6 seconds and auto-ends, and you can still re-press the key to stop it early. Duration is configurable.
0.2.6 — 2026-04-14
Bug Fixes
- Fixed learned abilities not refreshing on relog until the talent panel was opened
- Fixed dual wield not returning off-hands and bugging out when tools are equipped
- Added a
toolWeaponsHashSet (primarily for Butcher Knife) so certain weapon items can be treated as tools and not placed in the off-hand. Previously only items withm_buildPieceswere considered tools.
- Added a
Code Cleanup
- Replaced null-conditional operators (
?.) with proper null checks across the codebase per Valheim modding best practices:- VfxHelper (2), AbilityVfx (1), CastbarSystem (1), PartyPanel (1), InspectPanel (1), DualWieldPatch (2), DamagePatch (3), AbilitySystem (48 — virtually every ability/capstone)
- Removed leftover testing code for talent tree layout rendering
Systems Change — Class Resources Removed
Class-specific resources (Rage, Focus, Combo, Permafrost, Voltage, Heat) have been removed entirely. These were added out of intuition and symmetry with eitr-using classes, never with a clear design purpose. The builder/spender loops they tried to create don't fit Valheim's combat system — fights are too short for resources to build up, and gating abilities behind resources just makes them frustrating to use, especially in early game. Removing custom resources lets abilities stand on their own.
Systems affected:
- HUD — Resource bar elements removed
- Party UI — Warrior and Hunter now show Stamina as their secondary resource in the party panel (matching Rogue)
- Abilities — All abilities rebalanced to no longer scale off resources; attribute scaling (STR/END for Warrior, DEX/AGI for Rogue) replaces resource scaling
- Talents — 21 talent nodes reworked to no longer reference or enhance resources:
- Warrior (6): Unyielding, Bloodlust, Veteran's Endurance, Iron Will, Warlord, Brutal Strikes
- Hunter (11): Natural Instinct, Keen Eye, Steady Aim, Flow State, Unleash, Sniper's Patience, Wild Recovery, Territorial, Wind Runner, Precision, Elemental Attunement
- Rogue (4): Combat Flow, Combat Trance, Flowing Strikes, Blade Mastery
- Additional nodes updated — nodes that referenced resources in passing (Savage Blows, Killing Blow, Crit Momentum, Kill Momentum, Stamina Reserve, Combat Reflexes, Crit Reflexes, Swift Recovery, and 6 Mage resource mastery/generation nodes) also reworked with new effects
- Dead code removed from DamagePatch, AttackPatch, PartySystem, PlayerHud, AbilityBar, ClassSystem, ConsoleCommands
- 5 resource system files deleted: RageSystem.cs, FocusSystem.cs, ComboSystem.cs, MageResourceSystem.cs, ResourceBar.cs
Talent Tree Tuning — Keystone Position Swaps
Several keystones have been relocated to better pace out how powerful effects unlock along each tree. This is a pure positional swap — names, effects, and connections stay the same, only the tier placement changes:
- Rogue — Death's Embrace ↔ Venomous Strikes (tier 7 ↔ tier 3), Shadow Mastery ↔ Toxic Precision (tier 8 ↔ tier 4)
- Hunter — Quick Reload ↔ Master Marksman (tier 7 ↔ tier 4)
- Mage (Rime Sage) — Arcane Flow ↔ Permafrost (tier 9 ↔ tier 3), Shatter ↔ Frozen Veins (tier 4 ↔ tier 7)
- Mage (Tempest Warden) — Arc Conductor ↔ Spell Surge (tier 3 ↔ tier 9)
- Mage (Pyroclast) — Mana Siphon ↔ Kindling (tier 9 ↔ tier 3)
Deferred Talent Wiring
Ongoing pass to wire up talent nodes that had been sitting unimplemented. Most are small passive effects that now actually apply in combat — their in-game descriptions were already accurate, they just needed code.
Dual Blade Mastery Rework
rog_bwvr_dm Dual Blade Mastery was originally designed around off-hand weapons doing reduced damage, a premise removed in the 0.2.5 dual-wield rework. Redesigned as a weapon-pair combo matrix — the bonus you get depends on which two weapon types you're dual-wielding, so pairing choices matter beyond "dual daggers or dual swords." 10 combos, 10 distinct bonuses (see in-game tooltip for the full list).
VFX for many passive talents is planned but still deferred; for example, Ice Sculptor, Rime Cascade, Absolute Zero, etc.
Documentation
- Updated
va_guidein-game guide to reflect resource removal:- HUD Elements section now describes Eitr bar (Mage/Paladin only) instead of class resource bars
- Classes section no longer lists Rage/Combo/Focus — shows attribute scaling instead
- Resource Costs section renamed to Ability Costs, clarifying Warrior/Rogue/Hunter abilities are free and cooldown-gated while Mage/Paladin cost Eitr
- Added Professions and Combat to the Milestone Categories list (marked as not yet implemented)
- Updated
README.md(root and Package Storage) to remove resource references from class table, HUD elements, ability costs, console commands, and directory structure
0.2.5 — 2026-04-09
Attribute Rebalance
Attributes now amplify Valheim's existing systems (food, gear) rather than adding flat values that bypass them.
- STR — Melee damage coefficient halved (1% → 0.5%/pt). Removed Knockback. Added Stagger Resistance (+0.5%/pt) and HP Regen (+0.1/s/pt)
- AGI — Movement Speed replaced with Equipment MS Penalty Reduction (+1%/pt) so heavy armor benefits. Stamina Regen converted from flat (+0.5/s) to % of base rate (+1%/pt). Pierce Damage moved to DEX
- INT — Magic damage halved (1% → 0.5%/pt). Eitr Pool now +2% of total pool/pt (was flat +2). Eitr Regen now +2% of base rate/pt (was flat +0.5/s). CDR halved (0.5% → 0.25%/pt). Healing Output moved to END
- END — HP/Stamina/Armor converted from flat to % of food/gear (+1.5%/pt each). Blunt damage normalized to 0.4%/pt. Gained Healing Output (+0.5%/pt)
- DEX — Crit Chance/Damage and Backstab coefficients halved. Slash normalized to 0.4%/pt. Gained Pierce Damage (+0.4%/pt) from AGI and new Dodge Stamina Reduction (+0.3%/pt)
- Mage/Paladin — Now receive a flat 50 base Eitr on class selection so casters can function pre-Mistlands
Paladin Rework — Lightbringer Subclass
- NEW Lightbringer subclass replaces Lightsmith — divine light fantasy with self-sustain core, ally support as bonus
- NEW Aura framework — auras provide passive effects while slotted on the ability bar; pressing the key activates an empowered burst version
- New abilities: Seal of Light (passive +damage / active heal-on-hit + burning), Ward of Faith / Divine Barrier (passive +DR / active absorb shield), Sanctuary (passive regen / active cleanse + burst heal)
- (VFX STILL NOT IMPLEMENTED)
- Reworked shared abilities — Absolution and Consecration converted to the new aura model
- Death Knight & Judicator polish — verified frost conversion path, wired several previously-deferred passive nodes (Wrathful Strikes, Zealous Pursuit, Righteous Fury, Relentless Justice, Final Verdict, Frost Scythe, Herald of Ruin)
Talent Tree Rework
- All talent nodes reworked across every class — values, effects, and identities revisited
- New tree layouts for all classes — node positions and connections redesigned
- New talent node art across the board
- Paladin tree rebuilt from the ground up around the new Lightbringer subclass (see Paladin Rework section)
Dual Wield Rework
- Weapons now alternate hits — mainhand swing followed by off-hand swing
- On-hit effects (enchants, procs, etc.) now fire from the weapon that actually swung, not always the mainhand
- Spears are no longer compatible with dual wield
Character Panel Reorganization
- EquipmentPanel is now the primary character UI (vanilla CharacterPanel root hidden)
- Title divider removed — panel art now handles framing
- Level/XP bar removed from the panel (HUD is the source of truth)
- Unspent attribute/talent points moved out of the equipment panel — spending now lives on the class panel
- Slot labels removed — custom paper-doll art makes purpose clear
- Stats detail panel reparented as a right-side toggle; attributes panel as a left-side toggle (toggle buttons reposition to the outer edge when open)
New Art Assets
- Unified ability bar art — all classes now use shared Valheim-themed ability bar backgrounds (3-slot, 4-slot, 5-slot variants) replacing the old per-subclass bar skins
- Lightbringer ability icons (Seal of Light, Ward of Faith, Sanctuary)
- New talent node art across all classes
- 12 subclass party icons + generic classless icon — party panel now shows subclass icon when specialized, class icon when not, and a generic icon before class selection
Talent Preview
- Class selection talent preview — a mini talent tree now appears on the right side of the class selection panel, showing the full tree for whichever class you're browsing (both first pick and respec)
- Pre-class talent browser — opening the talent panel before picking a class now shows a read-only preview with class tabs to browse all 5 trees
Documentation
- Updated va_guide to reflect all 0.2.5 changes (attribute rebalance, shipwright redesign, Paladin status, Mage blocking)
Bug Fixes
- Fixed talent node tooltips not appearing on the inspect panel and class selection preview for nodes that hadn't been loaded by the main talent panel
- Fixed tooltips not clearing on inventory close in some panels
- Fixed stat details background not resetting on inventory close
- Fixed Refund All talents returning the wrong number of points
- Fixed some abilities not consuming Eitr as expected
- Fixed heal-over-time effects (Battle Scars, Swift Recovery, Sanctuary, Ice Block, etc.) spamming +0 floating text every frame — heals now batch into a single visible number every 1 second
- Fixed Savage Blows (war_bsrk_sb) not triggering on hit — was incorrectly placed in kill-only code path
- Fixed Undying Fury (war_ps10) only setting HP to 1 instead of 50% max HP, and missing the 40% damage buff for 10s
- Fixed Divine Shield not making Holy Strike free — eitr check was blocking cast before shield status was evaluated
- Fixed multi-rank talent nodes only counting as 1 point toward ability unlock thresholds
- Fixed capstone nodes overlapping center tree on Paladin/Mage 3-column layouts
- Fixed equipment slot items getting stuck when swapping weapons — old item now properly evicts back to inventory
- Fixed dungeon exploration milestones (Burial Chamber, Troll Cave, Sunken Crypt, Frost Cave, Infested Mine) never completing — dungeons have no minimap icons so the old discovery hook never fired; now detects dungeon entry via entrance teleport trigger
- Fixed station milestones (workbench, forge, etc.) not triggering on interaction
- Fixed first cooked food milestone not triggering — added CookingStation interaction hook
- Removed legacy talent tree rendering code and 128 orphaned diamond node art files
Tech Debt
- Cleaned up left over code that was no longer being used from reworks
Shipwright Redesign (First Pass)
The old shipwright system — pick a mod from a list, slide a tier bar, click install — worked mechanically but felt hollow compared to enchanting's mixing/discovery and smithing's refinement sliders. Shipwright needed its own identity: you're a shipwright working on a ship, not shopping from a catalog.
This first pass replaces the entire system with material-based ship building. Instead of selecting pre-built mods, you choose raw materials — wood, nails, hides, resin — and fill slots on each ship part. What you pick and how much determines your ship's stats. The tradeoff is always weight vs effectiveness: stronger materials make a better ship but a heavier one.
This is an early iteration. Material values are placeholder, some parts (Deck, Bow, Stern) are still Coming Soon, and the balance between weight penalty and stat gain needs tuning through playtesting. The goal is to find the right feel before locking in numbers.
What changed:
- Exploded Diagram UI — replaced the tabbed menu with a visual ship diagram; click parts (hull, keel, mast, sail, rigging, rudder, cargo) to inspect and modify them
- Material Proportioning System — fill material slots with real inventory items instead of picking pre-built mods
- 5 material categories: Structural (wood types), Support (nails/metal), Sealant (resin/tar), Sail Material (hides/pelts), Ties (thread/leather)
- 18 materials total, each with unique effectiveness vs weight tradeoffs
- Base × Combinator formula: base materials set the stat ceiling, combinators determine how much you reach
- Weight affects ship speed — heavier builds are stronger but slower
- 7 active ship parts (Hull, Keel, Mast, Sail, Rigging, Rudder, Cargo) + 3 Coming Soon (Deck, Bow, Stern)
- Condition & Decay System — sealed parts degrade over time while sailing; sealant (Resin/Tar) slows decay
- Condition states: Good → Worn → Damaged → Broken (bonuses scale with condition)
- Hammer quick-repair at sea (restores to 70% max)
- Full repair at shipwright bench (costs sealant materials)
- Ship hover text — condition bars display on HUD when near a ship
- Real physics integration — materials map to actual Valheim ship fields (sail force, rudder speed, stability, wind angle, cargo capacity)
- Draft depth — total ship weight affects how deep the ship sits in water
- Drawer-based material picker — matches enchanting panel interaction pattern (inventory-filtered, 2-slot limit per category)
- Replaced all 12 old hardcoded ship mods (Reinforced Hull, Large Sail, etc.) with the new material-driven system
0.2.2 — 2026-04-06
Bug Fixes
- Fixed an issue where server crashes would prevent RPC broadcasts from happening, breaking VFX visuals for remote players
- Fixed an issue where blinking straight up would kill the player
- Fixed an issue where Piercing Shot was not showing the correct VFX
- Fixed an issue where, when wielding a bow, some abilities would cause you to shoot 1 arrow
- Fixed an issue where if while crafting your inventory becomes full, any items slotted in crafting windows would disappear upon being returned to your inventory
- Same issue was resolved when salvaging items with a full inventory
- Fixed an issue where on-hit enchants were not applying from off-hand weapons
- Fixed an issue with abilities causing LMB to be disabled if an ability is canceled during wind-up
- Fixed an issue where PartyPanel was causing client crashes on server reconnection
UI Art Updates
- Added art for Enchanting Panel
- Added art for Smithing Panel
- Added art for Quests and Milestones Panel
- Added art for Social and Inspect Panels
0.2.1 — 2026-04-02
Bug Fixes
- Fixed ability art not aligned properly in Lightsmith's ability drawer
- Fixed ZNetScene.RemoveObjects error on projectile spawn
- Fixed destroying components during physics trigger error on projectile spawn
- Fixed HUD elements not nulled on logout causing errors per frame when relogging
- Fixed collision detection with Fog/Water for projectiles
- Fixed arrows shooting on ability cast / weapon swing animations
- Fixed Tab incorrectly cycling through target locks
- Fixed icons for AncientBark not loading in Shipwright menu
- Fixed blinking onto a boat killing the player
- Fixed subclass nodes not refunding properly, forcing players to use 'refund all'
- Fixed abilities going on cooldown when unable to cast
- Fixed Shadow Strike and other abilities disabling LMB for extended periods on failed cast
- Fixed Mage 'empowered' abilities not lowering cooldowns as expected
- Fixed va_guide Shipwright section not fully scrollable
- Removed Spell Block and Bolt abilities from Mage Empowered list
Enchanting Overhaul
- Mixing System — New enchanting mechanic replacing the old reagent-slot system
- Combine a base material (determines tier) with 1-2 trophies (determines enchant)
- Each trophy has 2 hidden tags (e.g. Beast / Swift) — slot position determines which tag is active
- 256 tag combos × 2 variants (Offensive / Defensive) = 512 unique enchantments
- Each variant has a unique generated name
- Discovery System — Trophy tags start as ??? until discovered
- Research panel: pay tier-scaled materials to reveal a trophy's hidden tags
- Enchanting: using a trophy reveals the tag for that slot position
- Undiscovered combos show as ??? in the outcomes panel
- Enchantment Slots — Items now have max 2 enchant slots (down from 4)
- Per-slot tier gating: base material tier cannot exceed the slot's tier
- Inline action icons on filled slots: Reroll (↻) and Remove (✕)
- Item Naming — Enchanted items display combo names: [Enchant 1] Item of [Enchant 2]
- All 15 enchant affix effects wired to gameplay
- ElementalMastery, Berserker, Execute, Lifesteal, Vampiric, HealOnKill, SoulHarvest, Thorns, Swiftness, Fortify, ParryStaggerProc, Undying (2s invulnerability on lethal hit, 180s cooldown)
Smithing Improvements
- Standardized cost display with material icons across all tabs (Set Forging, Weapon Mods, Salvage)
- Added missing refinements for all weapon mod slots (Grip, Hilt, String, Face, Rim, Strap)
- Fixed refinement slider lookup bug (Middle/Bottom positions were not matching)
- Set Forging — 4 type-locked slots (Head, Back, Body, Legs) with class filter buttons
- Set bonuses updated to 2-piece / 4-piece
- Set bonuses are not yet implemented — UI works but bonuses provide no gameplay effect
Ability Indicators
- Firewall: Modernized with terrain-conforming rectangle, aura mesh, glow light
- Throwing Knives: Reworked — 3 separate ballistic arc trajectories with gravity, follow camera pitch
- Piercing Shot: Polished — central beam line, brighter rings, glow light, render on top
- All indicators: Tightened slope clamping to prevent vertical stretching on rock walls
Quality of Life
- Right-click items in inventory to place them in Smithing/Enchanting panel slots
- Right-click items in panel slots to return them to inventory
- Equipment panel: right-click to unequip
- Rebuilt ability VFX broadcasting — each client now simulates abilities locally
Talent Trees
- Rogue: Weapon Finesse now a central hub node, cleaned up connections
- Hunter: Swapped Gathering Storm / Unleash positions, cleaned up connections
Other Changes
- Target Lock: Hold ` to clear, improved visuals, range/priority improvements
- Mage Spell Barrier: Works as vanilla blocking using Eitr instead of Stamina, scales with INT
- Settings Menu added to panel bar with Target Lock settings
- Shipwright Cargo: Extended Hold properly grants 1 row per tier
- Shipwright Armaments: All armaments set to Coming Soon (disabled)
- Updated va_guide with accurate attribute descriptions and new system documentation
0.2.0 — 2026-03-29
Added UI Elements
- Character Panel and Subpanels — Custom art for equipment panel, stats detail, attribute panels
- Party — Party panel UI elements
- HUD Elements
- Health Bar
- Stamina Bar
- Ability Bars — Per-spec art + generic art
- Ability Drawer with custom art
- Class Screen and Subpanels — Class overview window
- Talent Screen and Subpanels
- Ability Selection window with banner art
- All abilities — Alternative art for ability selection window
- Capstone Art (selected/deselected for all 15 capstones)
- Talent Node Art (selected/deselected for all node types, per-subclass colors)
- Subclass Gate Art (per-subclass custom art)
- Post-spec node art variants
- Various UI Buttons — Refund, Abilities, Close, Points Window
- Normalized Tooltip Design — Scrollable rich-text tooltips with fade overlays and scroll hints across all panels
Feature Updates
- Talent tree layout overhaul — 6-9 points required for subclass unlock, locking it behind Elder kills
- Node placement not finalized
- Some Paladin tweaks while preparing to overhaul the class
- Mage 'Empower' ability feature — Empower up to 2 abilities, lowering their cooldown by 20% (placeholder, not final version)
- Equipped items now return to their hotbar slots (if open) when pressing Z
Bug Fixes
- Fixed an issue with equipment slots being filled with misc items
- Fixed an issue with teleport/movement abilities causing rubber banding
- Fixed an issue with abilities not resetting on respec
- Fixed an issue with tooltips not rendering correctly
- Fixed an issue with 'Living Shadow' capstone not spawning
- Equipped items no longer can be unequipped when you have a full inventory
- Fixed boss kill credit only going to the killing player — all players who dealt damage or are within 50m now receive talent points and milestone credit
- ⚠ Not fully tested on all bosses. Report issues on Discord.
- Fixed Mage LMB/RMB abilities firing while holding tools (hammer, hoe, cultivator) — tools now work normally, ability icons grey out when unavailable
- Fixed Warrior Gladiator capstone dodge overriding RMB when holding tools
In Progress
- Shipwright slider completion
- Blacksmith remaining refinements
- Talent Trees
- Node placement refinement (nodes were changed but not in final positions — expect nodes to switch spots and connections to change)
- Paladin Talent Tree
- Paladin Ability overhaul
- Mage resource overhaul
- Remaining UI Components
- Enchanting
- Social / Inspect
- Blacksmithing
- Shipwright
- Resource Bars
- Scalable UI components
On Deck
- Custom models for Shipwright
- NPC implementation / Quests
- Additional Weapons
- Ability Animations
0.1.1 — 2026-03-22
New Features
- Class pick notification — Top-of-screen prompt after killing Eikthyr until class is chosen
- Configuration system — 800+ gameplay values exposed across 7 config files for server admin tuning
com.valheimascended.mod.cfg— core (attributes, resources, progression, class)valheimascended.abilities.cfg— ability cooldowns, damage formulas, scalingvalheimascended.talents.cfg— per-node talent passive values (simple + conditional)valheimascended.combat.cfg— combat mechanics, boss talent point rewardsvalheimascended.enchanting.cfg— point budgets, cost scaling, affix tuningvalheimascended.smithing.cfg— refine/mod/set bonus scaling, smithing costsvalheimascended.shipwright.cfg— ship mod scaling, costs, availability- ⚠ Not all config values have been fully tested. Changing values may produce unexpected results. Report issues on Discord.
- Shipwright profession — 3rd profession alongside Smithing and Enchanting. Modify and upgrade ships with component-based modifications
- 4 modification categories: Hull, Sail, Cargo, Armament
- Per-ship mod definitions — each ship type (Raft, Karve, Longship, Drakkar) has unique mods with appropriate materials and effect strengths
- Multi-tier upgrade slider with material costs and 50% salvage refund on removal
- Progressive ship unlocks — Raft (Hull/Sail only), Karve (+Cargo), Longship/Drakkar (all categories)
- Dedicated UI panel with 3D ship preview, radar stat chart with yellow preview overlay, and tab-based category navigation
- Ship modifications persist via ZDO (multiplayer compatible, owner-only editing)
- 12 mod types: Reinforced Hull, Streamlined Hull, Ironclad, Large Sail, Storm Sail, Auxiliary Oars, Extended Hold, Reinforced Crates, Quick Rigging, Ram Bow, Mounted Crossbow (coming soon), Harpoon Launcher (coming soon)
- Welcome guide tab with full documentation
- ⚠ Shipwright is not fully tested in multiplayer. Owner-only restriction is in place but sync edge cases may exist.
In Progress
- Shipwright UI visual polish (type buttons, tier bar refinement)
- Mounted Crossbow and Harpoon Launcher armament mods (coming soon)
- Shipwright multiplayer — not fully tested, owner-only restriction in place
New Stat Wiring
- Terrain damage, stagger damage, carry weight, sneak speed, swim speed — all now functional with stats panel display
Cleanup
- Removed dead Grapple Hook code (~300 lines)
- Removed Kunai stubs from AbilitySystem, AttackPatch, Plugin
- Test cooldowns set to production values in config defaults
0.1.0 — Initial Release
- 5 classes with talent trees (216 passives)
- 24 implemented abilities across Warrior, Rogue, Hunter, Mage
- 15 capstone abilities with unique mechanics and pip UI
- Enchanting system (19 types)
- Smithing modifications and set bonuses
- Milestone-based progression (90+ milestones)
- Full custom UI layer (equipment panel, stats, talents, quests, social, party)
- Custom status effects (SE_Chilled, SE_Frozen)