Harrisonburg-HarrisonEpicClassSystem icon

HarrisonEpicClassSystem

Class progression and altar awakening system integrated with WackyEpicMMOSystem.

CHANGELOG

Changelog

[0.0.21]

Release

  • Updated plugin/assembly metadata, manifest, export scripts, README and class guide to 0.0.21. Preserved the 0.0.20 ZIP and older changelog history.
  • Includes expanded base-class path weapons, optional base shields, class-selection confirmation with rare-material warning, distinct configurable recipes for all 45 awakening targets, milder base drawbacks, faster material scrolling and Level labels.
  • Includes the Harrison Class System Hammer category, stone placement effects, native altar destruction/refunds, success ceremony and equipment performance optimizations.
  • Build passes 1,609 focused checks. Release verification covers installed game hooks and packaged DLL/document hashes; final UI, construction sound/refunds and multiplayer behavior need in-game verification. The reported permanent inventory freeze remains unconfirmed.

[0.0.20]

  • Base-class weapon suitability now includes every promotion-path skill: Warrior swords/axes/spears; Mage elemental/blood magic (already supported); Hunter bows/crossbows/spears; Rogue knives/swords/fist weapons; Paladin swords/maces/polearms. Base shields are optional so two-handed branch weapons qualify. Promoted specialization, armor rules and attribute-passive conditions remain intact. Suggestions and damage/speed/crit suitability use the shared expanded profile. Added 206 branch-weapon checks (1,609 total); updated README, base table rows and release ZIP.

  • Simplified starting-class confirmation to a rare-material warning with Confirm/Cancel, removing reset material icons/counts. Center-aligned reset readiness/missing-material status on the UI centerline. Changed visible MMO Level/MMO level wording to Level/level. README and release ZIP updated; final layout needs an in-game check.

  • Increased awakening material-list wheel sensitivity from 25 to 100 (4x) and disabled inertia for immediate stops. Shared material lists on selection/reset confirmations use the same behavior. README and packaged release updated; scroll feel requires an in-game check.

Release

  • Moved Harrison Class Altar into its own Harrison Class System Hammer category and removed Furniture/Misc usage tags. Uses Jotunn's native custom-category registration.
  • Copied the vanilla stone floor's placement effects, including construction audio, onto the altar root. Added one root WearNTear with stone-floor durability, damage resistance and hit/destruction effects. Native owner-side destruction/removal now calls Piece.DropResources for the configured recoverable requirements; decorative children do not refund independently.
  • Kept roof/support decay disabled and automatic destruction fragments disabled to preserve altar stability and avoid fragment overhead. Explicit attacks and Hammer removal use native building behavior.
  • Updated plugin/assembly/manifest metadata, export scripts, README and class guide to 0.0.20. Build and 1,403 existing checks pass; installed building/refund/category API paths were inspected. Hammer category, placement sound and refunds need an in-game test after reloading the world. The previously reported permanent inventory freeze remains unconfirmed.

[0.0.19]

Selection, awakening costs and starting balance

  • Choosing a starting class opens a separate confirmation with its portrait, suggested equipment and current base-rank reset costs. Confirm commits the choice and ceremony; Cancel leaves the player unassigned. Opening/closing clears pending confirmation.

  • Added independently configurable extra recipes for all 45 awakening targets under Awakening Class <target>/Materials. Every target has a distinct default: rank metals (5 Bronze / 10 Iron / 20 Black Metal) and branch ingredients (3/6/12), alongside the existing 2/5/20 family stones. Empty target Materials allows stones only; IncludeExtraMaterials separately controls optional legacy global lists. Existing custom cfg values remain intact.

  • Awakening UI costs and service consumption resolve the selected branch before checking/payment; changing pages refreshes the matching recipe. Added 364 recipe checks covering all targets, exact consumption, missing extras, unique defaults and independent overrides (1,403 total); zero-allocation warmed stat sample still passes.

  • Softened only inherent drawbacks of Warrior, Mage, Hunter, Rogue and Paladin. Updated the five base rows in the single CLASS_STATS table. Promoted drawbacks and wrong-equipment penalties retain their values, and explicit per-class cfg overrides still take precedence. README/changelog/export updated; confirmation layout and material icons require in-game verification.

  • README cleanup: kept Building from source, Documentation maintenance and Altar and visuals sections omitted; removed the remaining decorative altar description. Updated packaged README/changelog; gameplay and DLL unchanged.

Release

  • Performance hotfix: replaced allocating per-class string keys with typed keys, cached scaled/default/overridden profiles and effective stats, and moved profile-warning closures outside repeated stat reads. Gear, class, cfg and enable changes still take effect immediately; no balance changes.
  • Altar pose anchoring now writes only changed transforms, avoiding unnecessary collider/physics updates while retaining sinking prevention.
  • Added 15 allocation/cache-invalidation checks (1,039 total). In a warmed source-linked simulated inventory test, 50,000 equipment-stat reads dropped from 73,623,936 allocated bytes to zero. Main DLL and checks build without warnings/errors; the reported permanent inventory freeze remains unconfirmed because no live frozen process or repeating HECS error was available. Updated README and export; an in-game performance retest is required.
  • Successful base-class selection and awakening immediately close the altar UI, release input, and start the native continuous Kneel emote. Normal movement ends Kneel; failed or repeated attempts do not celebrate.
  • Replaced the previous awakening beam/particles with the equipped Forsaken power's native startup effects and audio, falling back to Eikthyr when no power is selected. Does not apply a power buff or spend its cooldown; spawned ceremony effects are cleaned up after eight seconds. Animation/effect failures are logged without undoing saved progression or payment.
  • Added 54 source-linked success/failure checks across all five base classes and all awakening ranks (1,024 total). Verified installed emote/effect API signatures and built with zero warnings/errors. Native animation, sound, movement cancellation and multiplayer appearance still need in-game verification.
  • Updated plugin/assembly metadata, manifest, export scripts, README and class guide version to 0.0.19; retained the 0.0.18 release ZIP.

[0.0.18]

Release

  • Added five Thunderstone-based Awakening Stones with matching colored models and inventory icons: Warrior red, Mage pink, Hunter green, Rogue deep purple, and Paladin yellow. Each independently rolls a configurable 0.5% drop chance on non-player creature death; only the owner rolls once.
  • Awakening now consumes 2/5/20 stones from the player's class family by default. All counts are configurable; existing extra material lists remain available through IncludeExtraMaterials (disabled by default). Wrong-family stones cannot pay, duplicate material entries are merged, and remote/unassigned players cannot awaken.
  • Moved starting-class Class Effects directly above Choose and shifted the anchored runestone backward with its rear mesh edge inside the foundation. Added 158 awakening/payment checks (970 total); updated README and build notes. Item colors, placement and multiplayer spawning require in-game verification.
  • Added 550 cfg entries across 50 independent class sections: partial matching-buff, inherent-drawback and wrong-armor profiles; weapon/armor bonuses; wrong-weapon damage/speed/crit and wrong-armor defense; attribute damage rate/cap. Existing cfg values and default balance remain intact.
  • Default/-1 entries inherit global and rank calculations; explicit values replace final amounts without double scaling. Invalid, unknown, nonfinite or incorrectly signed profile values are ignored with cached warnings. Global enable switches and existing combat safety limits remain effective.
  • Connected overrides to actual combat, regeneration/resources, equipment penalties, critical chance, and altar/Compendium descriptions. Config entries are registered with autosave temporarily disabled and saved once. Added 167 focused configuration/integration checks (812 total), updated concise README/example and default-stat guide.
  • Restored the Eikthyr OfferingBowl altar center and removed mage-table brightening, retaining second-row placement, the anchored runestone and full-surface interaction.
  • Reduced Class Effects wheel steps from 150 to 80, disabled inertia for immediate response, and sized content to measured text height to remove unnecessary scrolling space.
  • Normalized HECS button audio to one guarded native click callback: disables inherited ButtonSfx event hooks and persistent audio calls, and suppresses hover/selection sounds during page rebuilds. Audio failures do not stop button actions.
  • Aligned portrait and equipment recommendations to the same 200px width and centerline; equipment text is explicitly centered. Updated the concise README and build notes. Build validation does not replace an in-game audio/layout/scroll check.
  • Shortened README to installation, playing, awakening/reset defaults, essential configuration and links. Moved the unchanged single 50-class table and detailed equipment rules into CLASS_STATS.md; package scripts include the guide and the stats generator updates it without expanding README. Documentation-only update; gameplay and DLL unchanged.
  • Updated plugin metadata, assembly version, manifest, build/export scripts and current documentation to 0.0.18.
  • Includes the Eikthyr OfferingBowl altar center, 3x3 foundation, fitted/anchored runestone, and interaction forwarding across altar surfaces.
  • Includes the red Wisp-based Light of the God with its corrected inventory icon, configurable 0.1% creature drops, and configurable rank-based reset payments.
  • Includes Class Effects in the altar and Compendium, yellow numeric values, faster effects scrolling, aligned class pages and awakening buttons, and no page counters.
  • Retains all 50 optimized portraits and the single consolidated CLASS_STATS.md table. Release verification covers the build, 970 focused checks, installed gameplay/Compendium API hooks, and packaged DLL/document hashes. Altar stability, stone colors and UI appearance still require in-game verification.

[0.0.17]

Altar

  • Replaced the Eikthyr OfferingBowl center visual with piece_magetable_ext, resolved directly from the vanilla prefab cache. Uses the same second-row position and surface alignment, with independent crafting-station gameplay stripped.
  • Brightened copied mage-table materials with a 20% white tint lift and 1.4x RGB gain, preserving alpha/textures and leaving vanilla material assets unchanged. Updated README/build notes; final brightness needs an in-game check after reloading the world.
  • Moved the offering altar forward onto the second foundation row. Shifted the runestone forward and fit its whole mesh footprint inside the rear two rows with edge clearance.
  • Removed all independent decorative MonoBehaviours, joints and rigidbodies, and serialized a runestone pose anchor to prevent delayed sinking. Reloading the world applies the new prefab to placed altars; stability beyond 30 seconds needs in-game verification.
  • Retained physical decorative colliders and added interaction forwarding on foundation, stairs, runestone, offering altar and braziers. All surfaces open the same UI; decorative trigger volumes are removed.
  • Corrected Hammer icon facing with a 180-degree preview yaw; added HammerIconYawOffset configuration and prioritize the corrected render over an older bundled icon. Placed altar rotation is unchanged.
  • Expanded the stone foundation from 3x2 to 3x3, adding a full front standing row and moving the entrance stair to the new front edge.
  • Removed the additional 0.60 m brazier lift; feet now snap directly to the platform with only the normal surface clearance.
  • Measure disabled LOD mesh geometry and skinned-mesh local bounds when placing the runestone and other visuals. If no geometry can be measured, place the visual root on the foundation instead of leaving it at ground height.
  • Strip vanilla SnapToGround behavior from cloned visuals to prevent the runestone from being moved back to terrain height after placement.

Class UI

  • Renamed Abilities buttons and screen to Class Effects. Highlighted numeric bonuses/penalties/percentages/multipliers in yellow in both altar and Compendium, preserving rich-text tags. Increased altar effects scroll sensitivity from 25 to 150.
  • Placed the awakening Class Effects button directly above Awaken to. Aligned the current-class heading, portrait, equipment suggestions and Previous on a shared left-column center, with consistent portrait sizes and navigation positions.
  • Removed page-number counters from base-class selection and awakening pages, including the legacy bundled-canvas counter; Previous/Next navigation is retained.
  • Added a native Compendium Class Effects category alongside Active Effects. It shows the assigned class, equipped-gear suitability, current equipment damage/armor/resource/regen/movement/carry/attack modifiers, active penalties, critical chance and attribute passive. Unassigned players receive class-selection guidance; reopening refreshes the snapshot.
  • Shared attribute-passive descriptions between altar Abilities and Compendium. Added 19 focused Class Effects checks (639 total) and verified native Compendium list APIs; in-game category/scrolling remains to be checked.
  • Increased background dimensions from 760x620 to 950x775 (25 percent wider and taller), preserving player GUI Scale support.
  • Opening the altar with no class shows class selection; assigned players see current class information instead of an upcoming promotion.
  • Normal class and promotion pages show Suggested Weapon and Suggested Armor only. Buffs, penalties, and attribute passives are available through a separate scrollable Abilities view with Back navigation.
  • Current-class page has Change Class, Abilities, and Awaken buttons at the bottom. Awaken opens the existing one-target-per-page material/branch browser; successful class selection or awakening returns to the current-class page.
  • Mythic characters can view Abilities or change class; the Awaken button is disabled. Reset confirmation is cleared when navigating to abilities.

Release

  • Light of the God now copies and red-tints the actual vanilla Wisp inventory sprite; removed world-model icon rendering that resembled LuredWisp. Keeps the original Wisp icon if GPU recoloring fails.
  • Focused checks now total 645, including number colors, percentages, multipliers and preservation of existing rich-text colors. Updated README and build notes for the fixes and in-game verification limits.
  • Added Light of the God: separate red Wisp-based item, stack limit 100, custom rendered icon, and configurable 0.1% drop chance per non-player creature death. Only the network owner rolls once; vanilla Wisp materials are preserved.
  • Class resets now consume Light of the God (1/2/4/8) and coins (100/200/400/800) at Base/First/Second/Mythic rank. All eight costs are configurable, and payment is enforced by the reset service, including API calls.
  • Added a reset confirmation page with separate warning and cost areas, item icons, owned/required counts, disabled confirmation when materials are missing, and Cancel. MMO level/attributes are retained and awakening materials are not refunded.
  • Updated README with drop behavior, rank costs, multiplayer configuration, and Hammer icon settings. Red item visuals, icon facing, and multiplayer drops require in-game verification.
  • Expanded focused checks to 620, covering all reset rank payments, insufficient inventory, unchanged progression on failure, exact consumption, repeated/remote resets, missing prefab registration, and drop-probability boundaries. Verified death/ownership/item-drop API targets against installed game assemblies; loot errors cannot interrupt normal creature death.
  • Updated plugin metadata, assembly version, manifest, release scripts and current documentation to 0.0.17.
  • Retains the single 50-class README stat table and all existing combat buffs and penalties. Layout and placement still require an in-game visual check.

[0.0.16]

Release

  • Updated plugin and assembly metadata, manifest, release scripts, and current documentation to version 0.0.16.
  • Includes the current 50-class equipment system: damage, armor, movement, resource pools, health/stamina/eitr regeneration, attack speed, carry weight, and critical chance, with branch-specific drawbacks and wrong-equipment penalties.
  • Includes the optimized portraits, themed GUI-scaled altar UI, awakening material icons, and altar stair/brazier placement corrections.
  • Retains one consolidated README table covering every class's actual-rank buffs, drawbacks, equipment penalties, recommended gear, and MMO attribute effects.
  • Updated the README table generator to read the release version from the project file instead of a fixed version string.
  • Builds with zero warnings and errors; 561 focused equipment checks pass. Final behavior still requires in-game verification.

[0.0.15]

Carry weight, health regeneration, and critical hits

  • Added carry capacity, health regeneration, and weapon critical chance buffs for all 50 classes, with promotion scaling and branch-specific inherent costs.
  • Wrong armor reduces capacity, recovery, and critical chance; wrong weapons or missing required shields also reduce critical chance. One mismatched armor piece applies half the armor cost.
  • Added configurable BaseCritChancePercent (default 5) and CritDamageMultiplier (default 1.5). Chance is limited to 0-75 percent; carry capacity has a minimum of 1.
  • Critical rolls apply to skill-based damage hits. Each target receives a cloned hit so reused area-attack data cannot accumulate damage modifiers.
  • Added game hooks for normal health regeneration and maximum carry weight; UI and README show the new benefits, costs, configuration and formulas. Expanded focused checks to 561.

Documentation

  • Consolidated all buff and penalty tables into one 50-class table with actual promotion-rank values, recommended gear, weapon/armor buffs, inherent drawbacks, mismatch penalties, and MMO attribute effects. Replaced progression/configuration tables with concise lists to keep README to one table.
  • Added a prominent current-stat summary near the top of README, explicitly covering carry weight, health regeneration, critical chance, and how buffs and penalties activate.
  • Updated the feature summary to explicitly describe inherent class weaknesses, wrong-weapon penalties, and partial armor mismatch penalties.
  • Recorded the requirement to update README and changelog after every project change in the README and project instructions (AGENTS.md). Exported releases must include and verify both updated documents.

Image size optimization

  • Reduced portraits to 384 pixels with 256-color PNG palettes; resized UI background and button textures to reduce download size.

Class drawbacks and equipment penalties

  • Added inherent drawbacks for all 50 classes, inherited by promotion branch: health/stamina costs, reduced mobility, regeneration or attack speed depending on role.
  • Wrong weapon skills and missing required shields reduce damage and attack speed. Mismatched chest/leg armor applies family-specific defense, resource, movement, regeneration and attack-speed penalties.
  • One mismatched armor piece applies half the full penalty; empty armor slots remove set buffs without mismatch penalties.
  • Added PenaltiesEnabled, ClassDrawbackScale, and WrongEquipmentPenaltyScale settings. Main Enabled disables both buffs and penalties.
  • UI and README now show matching buffs, class drawbacks, and wrong-equipment costs. Added safe resource/rate limits and expanded checks to 444.

Expanded equipment bonuses

  • Added branch-specific flat maximum health, stamina, and eitr bonuses, plus movement, stamina/eitr regeneration, and attack animation speed.
  • Matching armor activates resource, movement, and regen bonuses; matching weapons activate damage and attack speed. Extra role bonuses grow by 25 percent of their reference values per promotion by default.
  • Added RoleBonusScale and RoleGrowthPerPromotionPercent configuration. Resource totals are recalculated without accumulating increases or directly refilling current resources.
  • Equipment guidance now scrolls beneath each portrait, showing every bonus at the selected class rank.

Equipment suitability

  • Added weapon and armor recommendations for all 50 classes, specialized by promotion branch.
  • Matching weapon hits gain 8/12/16/20 percent damage by rank; matching chest and leg armor grants 10/15/20/25 percent body armor. Shield-based recommendations also require an equipped shield.
  • Added configurable bonus amounts and enable switch. Unsuitable equipment remains usable and now receives configurable penalties.
  • Class selection, awakening previews, and completed mythic screens show loadout guidance and bonus amounts.

Altar placement

  • Measure solid mesh bounds directly while assembling the prefab, aligning the stair top with the foundation and preventing inactive collider bounds from affecting placement.
  • Increased decorative brazier lift from 0.28 m to 0.60 m for better visibility.

Altar interaction

  • Fixed the altar requiring two presses to open; one E press now opens the screen.
  • Corrected the altar hover prompt to show [E] instead of [Key].

Awakening class browser

  • Redesigned the portrait set with a clear novice → specialist → elite → mythic progression, distinct branch equipment/silhouettes, and male characters by default; female exceptions are Mage and Ranger families.
  • Awakening now shows one class per page with portrait, stage, branch progression, item icons, and owned/required material counts.
  • First promotion provides three branch pages; later promotions stay on the chosen branch. Upcoming targets are visible before reaching their level requirement.
  • Longer material lists scroll. Level and material changes refresh the screen without rebuilding every frame.
  • Added distinct portraits for all 45 promotion classes and direct PNG loading for all 50 class portraits without requiring an AssetBundle.
  • Older custom canvases use the generated themed layout for awakening so item icons and paging remain available.

Altar UI background

  • Restyled all altar buttons with embedded Norse stone/gold artwork, ivory labels, and hover/pressed/selected/disabled tint states. Sliced borders preserve carved edges when resized.
  • Altar panel follows the player's GUI Scale setting on open and checks for changes while visible, preserving the prefab's authored proportions.
  • Replaced the generated wooden panel with a dark Norse stone background, bronze/gold knotwork, misty standing stones and ember lighting matching the class portraits.
  • Background is embedded in the DLL; no AssetBundle is needed. Optional custom UI uses the same artwork on its NorseFrame image.

Release

  • Updated plugin metadata, assembly version, manifest, documentation, and release scripts to 0.0.15.

[0.0.14]

Release

  • Promoted the latest 0.0.13 class-browser and altar placement/stair hotfixes to version 0.0.14.
  • Retains the 3 x 2 stone foundation, centered entrance stair, Runestone_Meadows backdrop, Eikthyr offering altar, and two visual-only braziers.
  • Retains dynamic placement snapping for the Runestone, Eikthyr offering altar, and braziers.
  • Retains the one-class-per-page base-class browser with Previous / Next navigation, class description, promotion paths, optional class image, and Choose Class confirmation.
  • Retains Hammer registration during PrefabManager.OnVanillaPrefabsAvailable, explicit Furniture/Misc usage tags, icon fallback logic, and SoftReferenceableAssets.dll compatibility.
  • Optional harrisonclasssystem_assets remains limited to polished UI/icons/VFX and does not block DLL compilation.

0.0.13 placement hotfix

  • Fixed Runestone_Meadows facing backwards by restoring its native Y rotation.
  • Removed the hardcoded altar surface height for assembled visuals.
  • The six stone floor colliders are now measured at runtime to determine the actual foundation top.
  • Runestone, Eikthyr offering altar, and both decorative braziers are snapped to the measured foundation surface using their rendered geometry bounds.
  • Particle, trail, and line renderers are ignored during bottom-bound measurement so brazier flames do not affect placement.

[0.0.13]

Release

  • Promoted the latest Harrison Class Altar Hammer-registration fixes to version 0.0.13.
  • Retains the 3 x 2 stone foundation layout with the Runestone at the back, the real Eikthyr offering altar in the center, and two decorative braziers at the front corners.
  • Retains early registration during PrefabManager.OnVanillaPrefabsAvailable, explicit Hammer usage tags, and icon fallback logic.
  • Retains the SoftReferenceableAssets.dll build reference required by current Valheim APIs.
  • Optional harrisonclasssystem_assets remains limited to polished UI/icons/VFX and does not block DLL compilation.

[0.0.11]

Hammer registration hotfix

  • Fixed the Altar not appearing in the Hammer by removing the dependency on the later ZoneManager.OnVanillaLocationsAvailable callback.
  • Harrison Class Altar is now created and registered during PrefabManager.OnVanillaPrefabsAvailable, before Hammer PieceTables are finalized for the session.
  • Eikthyrnir is resolved from Jötunn's vanilla prefab cache and its OfferingBowl visual is extracted without waiting for world-location initialization.
  • Added explicit Hammer usage tags: Furniture and Misc.
  • Added guaranteed Hammer icon fallback using vanilla foundation/brazier piece icons if runtime icon rendering fails.
  • Added registration diagnostics showing the PieceTable/category/usage before PieceManager.AddPiece.

Altar layout

  • Replaced the incorrect BossStone_Eikthyr visual with the actual Eikthyr summoning altar extracted from the vanilla Eikthyrnir prefab/location cache and its OfferingBowl child.
  • Added a 3 x 2 stone_floor_2x2 foundation beneath the entire altar composition.
  • Positioned Runestone_Meadows at the back center of the foundation at 1.15 scale.
  • Positioned the Eikthyr Offering Altar in the center of the foundation.
  • Positioned two decorative piece_brazierfloor01 visuals at the front-left and front-right of the foundation.
  • Kept foundation colliders so the stone platform is physically walkable.
  • Removed visual-child colliders from the runestone, offering altar and braziers and use a simple HECS altar collider for cleaner movement.

Safety

  • Eikthyr OfferingBowl summoning behavior is removed from the cloned visual.
  • Runestone lore interaction is removed from the cloned visual.
  • Brazier fire remains visual-only; fireplace, fuel, heat/damage, AoE and smoke gameplay remain stripped.

Assets / packaging

  • harrisonclasssystem_assets remains optional and is only used for polished UI, icons and awakening VFX.
  • DLL/release builds continue when the optional bundle is absent.

[0.0.10]

Altar composition

  • Removed the AssetBundle requirement for the Harrison Class Altar itself.
  • Added the first runtime-composed altar prototype using Runestone_Meadows, BossStone_Eikthyr, and two piece_brazierfloor01 visual instances.
  • Child vanilla gameplay/network components are stripped so HECS remains the only interaction and Piece root.
  • Brazier fire particles/lights remain visual-only; fireplace, fuel, smoke gameplay, heat/damage and AoE components are removed.

Assets / packaging

  • harrisonclasssystem_assets became optional for polished UI, icons and awakening VFX.
  • Missing optional bundle logs a warning instead of disabling the Altar.
  • PowerShell and shell release builds continue when the optional bundle is absent.

[0.0.9]

Added

  • Escape-to-close handling for the Harrison Class Altar UI.
  • Same-frame suppression patch for Valheim's system menu when the Altar consumes Escape.
  • ClassRespecService for resetting HECS class progression to the unassigned state.
  • Two-step Change Class -> Confirm Reset Class flow in the Altar UI.
  • UnityEngine.InputLegacyModule.dll build reference for Input.GetKeyDown.

Changed

  • Altar UI refresh is now event-driven instead of rebuilding every 0.25 seconds.
  • Button state/listeners refresh on UI open and HECS class/awakening events only.
  • Level labels now use Level: {Level} and no longer display the word Wacky.
  • Gameplay HUD class badge/name has been removed. Class information is only shown inside the Altar UI.
  • Respec resets BaseClass, CurrentClass, SelectedPathId, CurrentStage, and HECS LastKnownLevel to the initial state. It does not alter WackyEpicMMOSystem's actual character level or stats.

Asset UI Contract

  • HECS_ClassAltarCanvas now requires a ChangeClassButton Button in addition to the existing named controls.

Build / Packaging

  • Code/AssetBundle build separation from 0.0.8 is retained: missing harrisonclasssystem_assets warns during packaging but does not block DLL compilation.

[0.0.8]

  • Added custom-prefab-only Harrison Class Altar loading from harrisonclasssystem_assets.
  • Removed vanilla-prefab and primitive runtime Altar generation.
  • Added runtime AssetBundle validation and error logging.
  • Separated C# compilation from optional AssetBundle packaging.
  • Added custom runestone/megalith authoring contract and safe visual-only fire VFX anchors.

[0.0.7]

  • Added runestone redesign foundations and custom Altar interaction contract.

[0.0.6]

  • Added explicit config generation, Hammer integration, polished UI/VFX foundations, and BepInEx runtime Harmony compatibility fixes.

[0.0.5]

  • Added Harrison Class Altar and awakening flow foundations.

Build hotfix: added SoftReferenceableAssets.dll reference required by Valheim ZoneLocation / SoftReference<T> APIs used to access the Eikthyrnir location.

0.0.13 placement hotfix - entrance stair

  • Added a centered stone_stair to the front edge of the altar foundation.
  • The stair is part of the single Harrison Class Altar Hammer piece.
  • Preserved the vanilla stair collider so players can walk onto the platform.
  • Removed standalone Piece, WearNTear, and ZNetView behavior from the stair child.
  • Stair height is aligned dynamically to the measured top of the stone foundation.

0.0.13 UI hotfix - class browser

  • Replaced the five-button base-class selection screen with a one-class-per-page browser.
  • Added Previous / Next navigation and a dedicated Choose Class confirmation button.
  • Added English role descriptions for Warrior, Mage, Hunter, Rogue, and Paladin.
  • Displays all three promotion paths on each base-class page.
  • Uses icon_<class> sprites from the optional AssetBundle as class preview images.
  • Generated fallback UI supports the same page navigation and information layout.
  • Class selection remains event-driven; no per-frame UI rebuilding was introduced.