You are viewing a potentially older version of this package. View all versions.
isimp-Sparring-0.2.0 icon

Sparring

Duel another player without either of you dying. Yield instead of falling, then both of you get back up.

Date uploaded 4 days ago
Version 0.2.0
Download link isimp-Sparring-0.2.0.zip
Downloads 39
Dependency string isimp-Sparring-0.2.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

Sparring

Duel another player without either of you dying.

Look at another player and type /duel in chat. They get a prompt that shows which keys accept and decline the challenge, unless they are in combat, have PvP on or are otherwise busy, in which case you are told why. A ring is marked out on the ground, a short countdown runs, and the fight begins. Whoever runs out of health yields instead of dying. When the duel ends, both fighters get some health back and their harmful effects are cleared, and a card shows damage dealt and taken, hits and how long it lasted. Hold Backspace to give up.

Only your opponent's hits are made safe, including the fire and poison they leave on you. Creatures, falls and drowning can still kill you, and a duel cannot be started with anything hostile around the ring. Leaving the ring once the fight has begun counts as yielding, and a disconnect or crash ends every protection on its own within a few seconds.

A Sparring duel in progress

AI notice

Most of Sparring was written by Claude Code (Anthropic), which did the heavy lifting on implementation and design. Heads-up so you can judge for yourself.

Commands

Add a number to /duel to set the ring size in metres. /duel rematch challenges your last opponent, /duel preview draws a ring where you stand, and /duel status shows what is going on. Accepting, declining and yielding also work from chat with /duel accept, /duel decline and /duel yield.

Multiplayer

Both fighters need Sparring. Nobody else does. On a server running Sparring, the server's duel rules apply to everyone, while keys and display options stay your own. Players without the mod can still join.

Settings

All settings are in BepInEx/config/isimp.Sparring.cfg, each with a description.

More

Technical notes and build instructions are on GitHub at https://github.com/isimp/Sparring

CHANGELOG

Changelog

0.2.1

A duel has sounds of its own. Accepting a challenge answers the one who sent it, the countdown ticks each second and a bell marks the moment blows start counting, being knocked down has a sound, and a challenge turned down or withdrawn, or a duel called off, has another. All of them are the game's own, only you hear them, and DuelSounds turns them off.

ChallengeSoundPrefab accepts far more of the game's sounds than before. Most sounds are kept with the item, piece or creature that plays them rather than registered by name, and those are now found as well.

0.2.0

Creatures no longer ignore the fighters. Going unnoticed by the wildlife made a challenge worth sending in bad faith, which is not what duelling is for. Duels are fought in the world as it stands, and the rule that none can be started with anything hostile around the ring is what keeps them safe. The NeutralToCreatures setting is gone, and an older entry left behind in a config file is ignored. Only the two fighters need the mod now.

The card shown when a duel ends now counts every blow it should. Damage is read in a way that survives another mod throwing an exception partway through the game's own damage path, which otherwise left the card with nothing on it and so hidden, looking no different from a duel in which nobody landed a hit.

Fire and poison from an opponent count as theirs. Neither lands with the blow that carried it, arriving instead as damage over time with nobody named on it, so an arrow that set a fighter alight and then killed them used to be a real death. It now ends in a yield like any other blow of theirs, and it shows on the card.

A duel that somebody wins names the winner on both screens. How a fight ended is now sent to the other fighter before this side packs the duel away, so they learn who won rather than only that it is over, and a duel that loses sight of its opponent waits a moment for that word to arrive before settling for no winner at all.

0.1.0

First release.