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.
DualWieldCore
Dual wield physical weapons in any combination, including spears and two-handed weapons. Bows, crossbows and magic excluded. By Ketanol.
By Ketanol
CHANGELOG
Changelog
1.2.4
- Restore vanilla throwing for snowballs, charred bombs and other consumables. Items consumed by their primary attack are excluded from dual-wield eligibility and standalone melee conversion, without relying on prefab names.
- Preserve native projectile effects and stack consumption. Switching from a weapon pair to a consumable follows normal equip handling.
- Retain reusable spear/harpoon restrictions, weapon-pair animations, independent damage and existing configuration.
1.2.3
- Restore the 1.2.0 secondary attack animation (
dualaxes3) when both equipped weapons use the Swords skill. The existing secondary-attack binding (middle mouse by default) is respected. - Retain the four-step primary combo, independent hand hits/effects, and 1.2.2 equipment feedback. Other weapon pair animations are unchanged.
1.2.2
- Add local low-durability warnings for both weapons while dual wielding: default 20%, adjustable from 0 (off) to 50%. One warning per item until an observed repair, without repeats when swapping or holstering.
- Show localized right/left weapon names and remaining durability after a successful hand swap. Optional client setting.
- Cache the excluded-prefab list instead of splitting it repeatedly in weapon checks; changes, including server-synced settings, invalidate the cache.
- Preserve 1.2.1 combat, animation selection, skill identity and equipment restrictions.
1.2.1
- Restore the exact 1.1.4 paired animation selection, four-step primary chain and secondary movements, including knife pairs.
- Retain independent hand damage, area attacks, resource costs and equipment restrictions.
- Single-contact clips resolve both independent hands at that contact.
1.2.0
- Replaced combined strikes with independent right/left native attack instances.
- Reused two-hit native paired animation clips; hand-tagged events replace only hit callbacks in local clip copies.
- Preserved per-weapon area/melee geometry, damage channels, effects, skill and tool tier.
- Charged stamina per executed hand; independent native durability and XP handling.
- Cancelled pending hits on interruption; rejected duplicate hand events and outgoing transition events.
- Disabled physical throws, including standalone spears/harpoons.
- Enforced exclusive bows/crossbows/staves and non-pairable hammer/hoe.
- Preserved requested hand order when vanilla auto-moves a torch during sword equip.
1.1.5
- Fixed zero-hit dual area attacks: preserve Area geometry instead of converting a large overlap radius into a zero-length melee sphere cast.
- Preserve native area attack animation and chain settings.
- Combine both weapons' damage, offhand durability and Dual Wield experience inside area hit resolution.
- Preserve valid area secondary attacks instead of replacing them with primary melee attacks.
- Applies by attack type, including modded physical area weapons; no sledgehammer whitelist.
- Main hand controls hit geometry; offhand contributes damage. Building-tool exclusion remains unchanged.
1.1.4
- Excluded building hammers and all build-table tools from dual wield, including repair attacks.
- Selecting a building hammer clears both weapon hands; selecting a weapon removes the hammer.
- Rejected hammer offhands and pairs of building hammers; preserved combat sledgehammers.
- Added recovery for invalid equipment pairs inherited from older versions.
- Kept vanilla equip approval, building mode, weapon combinations and R holstering.
- Release compiled; automated tests and gameplay checks not run.
1.1.3
- Synchronized plugin, assembly and package version to 1.1.3.
- Retained complete implementation documentation and corrected ZIP paths.
- Gameplay unchanged. Tests skipped by explicit user request.
1.1.2
- Synchronized plugin, assembly and package version to 1.1.2.
- Fixed ZIP entry paths to use forward slashes. Gameplay unchanged from 1.1.1.
- Tests skipped by explicit user request.
1.1.1
- Expanded physical weapon eligibility, including spears, polearms and two-handed mixed pairs.
- Added physical left-handed weapon slot normalization.
- Adapted special attacks to combined melee combat without consuming weapons.
- Extended offhand breakage and holster handling.
- Excluded bows, crossbows and magic. Tests skipped by user request.
Changelog
1.1.0
- Reworked equipment transactions with exception-safe leases and rollback of hand slots and equipped flags.
- Drawing runs Valheim's original ShowHandItems and reconciles hand order afterward; blocked draws preserve available hidden weapons for retry.
- Added per-attack combat profiles and explicit primary/secondary input tracking.
- Corrected combined eitr consumption for the Valheim 1.0.7 cost helper, including secondary attacks.
- Guarded nested damage lookups and restricted custom skill awards to the attacking player.
- Retained geometry-based back/belt placement, skill save identifier and approved artwork.
- Added implementation and provenance notes.
1.0.1
- Fixed the second holstered weapon appearing far away from the character because a bone-space offset was treated as metres.
- Two weapons on the back now use mirrored mounts, forming a cross. Crossing blades have a small separation to reduce clipping.
- Sword/knife combinations retain the game's back/hip attachment choices in either hand order.
- Two knives using the same hip attachment now sit on opposite sides of the belt.
- Preserve item-specific equip offsets and avoid applying dual-weapon placement to shields or tools.
1.0.0
- Initial DualWieldCore release by Ketanol.
- Supported mixed and matching one-handed melee weapons.
- Added hand swapping, runtime attack balancing, hit-based offhand wear and the Dual Wield skill.
- Added English/Russian skill localization and approved mod/skill icons.
- Included ServerSync configuration support.