Backported the full cast-direction safety guard from the experimental branch: all Arcane Knife projectile/cast rotations now reject zero, NaN, or infinite aim vectors and fall back safely before Quaternion.LookRotation or projectile setup.
Fixed the Frost Ward chill visual ZDO lifecycle bug by cloning vfx_Frost inactive, removing ZNetView/ZSyncTransform and other gameplay components before first activation, then using it only as a local cosmetic.
Hardened the hand-orb visual with the same pre-activation network sanitization used by the Ward bubble.
Hardened replayed vanilla casting-audio effect prefabs so audio-only local clones cannot accidentally register ZDOs.
Added one network-aware destroy path for malformed/expired Arcane projectile objects so registered projectiles are destroyed through ZNetScene bookkeeping instead of raw Unity destruction.
Fixed the stable build script's stale Thunderstore output name; it now creates ArcaneWard-1.1.15-Thunderstore.zip.
No weapon damage, Ward balance, Eitr costs, recipes, or other intended gameplay values were changed.
1.1.14
Fixed Arcane Knife cast-facing compatibility with current Valheim builds by removing the obsolete Player.SetLookDir(Vector3) reflection lookup.
Facing now updates the player transform plus the existing internal m_lookDir field directly, preventing repeated Harmony missing-method warnings during Fire/Lightning casts.
No balance or gameplay values changed.
1.1.13
Fixed the Dundr Knife audio helper to compile against the current Valheim/Unity assemblies without adding an AudioModule dependency.
Dundr audio discovery now inspects vanilla start-effect components generically and remains cosmetic/fail-safe.
Retains the v1.1.12 Lightning pellet rebalance (3.5 to 6.0 lightning per pellet across Elemental Magic 0 to 100).
1.1.12
Rebalanced the Lightning Ward Arcane Knife Dundr blast so each individual pellet is intentionally weak.
Default per-pellet lightning damage now scales from 3.5 at Elemental Magic 0 to 6.0 at 100; the attack earns its damage by landing multiple pellets at close range.
Existing 12/0.08 Lightning Knife configs from v1.1.8-v1.1.11 are automatically migrated to the new defaults.
Added theoretical maximum volley damage to the Lightning Knife release diagnostic for easier balance verification.
1.1.11
Added configurable impact alert/noise radii for Arcane Knife Fire, Frost, and Lightning ranged casts.
Fire defaults to 30 m, Frost to 18 m, and Lightning to 25 m.
Arcane Blade returning spear throws now use 50% of their previous projectile-impact alert/noise radius by default because the throw is not explosive.
Alert tuning is implemented through Valheim projectile hit-noise, so enemies are alerted from the impact location and still target the caster through vanilla projectile-noise behavior.
1.1.10
Removed the Fire Knife charge/hand VFX from Lightning Knife casts.
Added Dundr-derived cast audio to the Lightning Knife blast by replaying only audio-bearing vanilla start effects.
Cleaned the Thunderstore README description so release-history notes appear only in the patch-notes/changelog area.
1.1.8
Frost Knife channel now sends the vanilla attack_abort trigger when MMB is released, the Ward/stance becomes invalid, or Eitr runs out, preventing the rapid-fire casting animation from remaining locked.
Fire and Frost casts now check Eitr before starting their casting animation. Frost requires enough Eitr for at least one shard; Fire requires enough for one fireball.
Lightning Knife ranged cast now borrows the vanilla Dundr (StaffLightning) short-range 12-projectile lightning blast and its staff_lightningshot presentation instead of throwing a visible spear haft.
Lightning blast damage scales with Elemental Magic per pellet; old v1.1.7 single-spear default config values are automatically migrated to restrained Dundr-style defaults.
Existing 0.70-second committed Fire/Lightning wind-up, aim-facing reinforcement, crouched knife leap, melee scaling, and Ward mechanics are retained.
1.1.7
Arcane Knife aim-facing is now reinforced throughout the active cast/channel, including Valheim's internal look direction, so the animation consistently follows the cursor/camera aim.
Frost Ward + standing MMB now channels the vanilla Staff of Frost projectile/VFX while held, using the vanilla staff projectile, damage and per-shot Eitr cost.
Lightning Ward + standing MMB keeps the 0.70-second committed draw and releases an Arcane Blade spear projectile with higher Elemental Magic-scaled lightning damage and a brighter doubled in-flight lightning cosmetic.
Fire Ward retains the existing 0.70-second automatic fireball cast.
Crouched MMB retains the native knife leap.
1.1.6
Arcane Knife: starting a standing Ward+MMB cast now turns the local character horizontally toward the camera/cursor aim direction before the draw animation begins.
Projectile direction, auto-release timing, Eitr, damage, and VFX lifecycle are unchanged.
Facing alignment is cosmetic/best-effort and cannot block the cast if it fails.
1.1.6
Arcane Knife ranged cast is now a committed timed cast: pressing standing MMB with a Ward starts the draw and the fireball releases automatically at full draw.
Default automatic release is 0.70 seconds, matched to the observed vanilla draw animation timing.
Letting go of MMB early no longer causes a partial-power shot or cancels the cast.
Release animation and projectile launch now occur together at the full-draw point.
Existing projectile, Eitr, damage, origin, VFX lifecycle, melee, crouched leap, and Ward systems remain otherwise unchanged.
1.1.3
Matched the Arcane Knife full-charge timing to the observed vanilla draw animation: full power now lands at 0.70 seconds by default.
Existing installs still carrying the old untouched 1.25-second default are migrated automatically to 0.70 seconds; customized charge times are preserved.
Release remains input-driven: releasing middle mouse immediately casts at the charge reached at that moment, so the projectile is not dependent on an animation event.
No projectile, damage, Eitr, impact, Ward, or VFX lifecycle logic was restructured.
1.1.2
Added cosmetic-only vanilla animation triggers for Arcane Knife charge and successful fireball release.
Added a sanitized local-only fire charge VFX that follows the upper-body cast origin and grows with charge.
Moved Arcane Knife fireball spawn to a stable shoulder/hand-height origin with a small forward offset.
Gameplay remains independent of animation/VFX success; no projectile, damage, Eitr, or impact logic was restructured.
Added Elemental Magic scaling/cost tuning to fireball.
Added 5/4/3/2 second Arcane Blade throw cooldown progression at Elemental Magic 0/25/50/75.
Added Elemental Magic progress on successful Ward-empowered Blade/Spear throws.
1.0.9
Fixed the Fire Arcane Blade fallback VFX cloning active vfx_Burning and leaving destroyed ZNetView components registered in ZNetScene.
Fire fallback visuals are now cloned while inactive, kept inactive through deferred network/gameplay component removal, and activated on the following frame only after they are safe local cosmetics.
No new weapons or other gameplay features are included in this hotfix.
1.0.8
Corrected the BepInEx plugin GUID and configuration filename to use the public Torvios identifier: torvios.arcaneWard.
Automatically copies existing settings from the legacy Arcane Ward configuration to torvios.arcaneWard.cfg on first launch; the legacy file is retained as a backup.
Updated the development builder to recoverably disable duplicate ArcaneWard DLL copies before installing the newly built DLL, preventing the retired and current GUIDs from loading together.
1.0.7
Fixed the Frost Arcane Blade throw VFX remaining near the player by cloning only the Staff of Frost projectile's visual hierarchy and parenting it to the actual Blade projectile.
Removed Lightning's in-flight Himminafl area effect. Lightning throws now create a sanitized, short-lived Himminafl burst only when the Blade impacts an enemy, terrain, or structure.
Separated README release notes from the multiplayer documentation.
1.0.6
Fixed Arcane Blade elemental projectile VFX sometimes remaining at the impact point after striking terrain, structures, or enemies.
Projectile cosmetics are now tracked explicitly and deactivated before Valheim processes an impact, with additional cleanup on miss timeout, range return, disable, and destruction.
Sanitizes and tracks every cloned projectile visual so the cleanup system destroys cosmetic children only, never the network-managed projectile object.
1.0.5
Restored multiplayer Ward-bubble visibility: the Ward user publishes only blocking state and Ward element through the existing player ZDO, and each observing client creates its own sanitized cosmetic bubble.
Remote bubbles now clean up when blocking stops, the Ward changes, the player dies, or the remote player leaves range. The Staff Shield-derived VFX remains inactive until all network and physics components have been stripped.
Replaced the Frost movement patch's warning-producing method lookup with cached reflection that quietly skips movement getters absent from the current Valheim build.
Expanded the README multiplayer notes and added a direct GitHub bug-report link with a report checklist.
1.0.4
Creates the Staff Shield-derived Ward barrier while its source and clone are inactive, then strips ZNetView and ZSyncTransform before the cosmetic clone is ever activated. This prevents the visual from registering with ZNetScene during construction.
Removed Arcane Ward's temporary Player.OnDeath cleanup/diagnostic patch so Valheim exclusively owns the death and respawn transition.
Retained focused visual lifecycle logging for confirmation testing.
1.0.3
Added focused visual-lifecycle diagnostics for the respawn exception investigation: local-player transitions, Ward barrier creation and component stripping, activation, cleanup reasons, and Player.OnDeath state are now logged.
Ward barrier cleanup now deactivates and detaches the observer-local visual before scheduling its destruction, while preserving the 1.0.2 gameplay and visual behavior.
1.0.2
Fixed a multiplayer visual-lifecycle issue that could leave the Ward shield bubble stuck on another player after Ward use.
Added Ward-empowered Arcane Blade tree/log chopping: 45 chop damage for 6 Eitr per successful melee hit, with normal tool-tier restrictions bypassed.
Arcane Blade now explicitly uses Valheim's normal durability system.
While held with an Arcane Ward, the Blade passively repairs 1 durability for 2 Eitr once per second by default; repair pauses while blocking.
Updated README links for the renamed ArcaneWards GitHub repository and added bug-report instructions.
1.0.1
Arcane Blade physical slash damage now grows from Bronze Sword-level (35 listed slash at Swords 0) to Nord Sword-level at Swords 100.
Normal Arcane Blade melee attacks continue to use and train Swords.
Successful Arcane Blade throws now attribute weapon skill progress to Spears.
1.0.0
First public Thunderstore release.
Added Arcane Fire, Frost, and Lightning Wards.
Added Eitr-powered blocking and Ward-specific Eitr reserve/regeneration.
Added Fire parry retaliation and area ignition.
Added Frost block slow and taunt/control behavior.
Added Lightning parry area damage and weakening effect.
Added Arcane Blade with standard Nord Gold Sword melee attacks and returning magical spear throw.
Added Fire, Frost, and Lightning projectile imbues for Arcane Blade.
Added network synchronization for Arcane Blade projectile VFX.
Added Frost taunt ownership handling for multiplayer.
Set Arcane Blade throw cooldown to 5 seconds by default.
Fixed player respawn lifecycle interaction with Ward Eitr capacity.
Removed development diagnostics and obsolete spear-orientation code.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.