hvalch-Feint icon

Feint

Cancel attacks by blocking or dodging, at a stamina cost. Dodge out after a hit and carry on your combo.

Last updated 2 weeks ago
Total downloads 579
Total rating 1 
Categories Mods Tweaks Client-side AI Generated Deep North Update
Dependency string hvalch-Feint-0.3.0
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 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.2351
ValheimModding-Jotunn-2.30.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.2

README

Feint

Cancel attacks by blocking or dodging, at a stamina cost. Dodge out after a hit and carry on your combo.

I got sick of being one-shot because I got greedy with a combo and couldn't back out of it. I'll still die, but now I have a bit more control. I didn't want that control for free, though. Other mods already let you cancel attacks (AttackCancel, for one), but I wanted cancelling to come with tradeoffs.

Video demos

Watch the video if it doesn't play above Video embed removed as Gale crashes with it.

Watch the dodge after hit video (DodgeAfterHit only).

How it works

Press block or dodge during a swing, before it hits, to cancel it. The block or dodge doesn't start right away. The wait is half the time you had been swinging: if you cancel 0.4 seconds into a swing, the block or dodge starts 0.2 seconds later.

Timeline of an early and a late cancel

If the swing reaches its hit during that wait, the hit still lands, but weaker. The longer you had been waiting, the less damage it does, down to half by default.

Damage of a cancelled swing by when you cancel

A cancel costs extra stamina, up to the swing's own stamina cost. How much depends on when you cancel. At the very start of a swing it's free. The cost rises quickly to the full amount for the latest cancel that still stops the hit, and is lower again for cancels so late that the hit lands anyway. You need the full amount of stamina to cancel. If the swing would have ended on its own before the block or dodge starts, there's no extra cost.

Extra stamina for a cancel by when you cancel

A cancel also resets your combo, so your next swing starts from the first attack. With KeepCombo on, that only happens if you cancel before the hit (see Keeping combos).

After a swing hits, it can't be cancelled, so blocking or dodging then works like vanilla. You also can't cancel in the air or during the knife's jump attack before it hits.

With DodgeAfterHit on, you can also dodge after the hit to skip the rest of the swing. The dodge starts right away, or when you land if you're in the air. This works for every attack, including NonCancellableAttacks. By default this costs extra stamina too (DodgeAfterHitPenalty): half the full amount right after the hit, dropping to nothing by the end of the swing.

Why does it work like this?

It just does. I'm happy to take suggestions if I think they are better.

It's a bit odd that cancelling right before a hit is best, but I like that it introduces some risk:reward.

Keeping combos

In vanilla, your combo resets if you wait more than 0.2 seconds between swings. With KeepCombo on, you have ComboKeepSeconds (1 second by default). It also works when you dodge out after the hit (DodgeAfterHit), or when you cancel but the hit lands anyway. Only cancelling a swing before it hits resets the combo.

In vanilla, only a combo's first swing turns you toward where you're aiming. Later swings barely turn. A swing that KeepCombo continues turns toward your aim too, but by at most 90°. You can fix your aim after a pause or a dodge, but to hit something behind you, you still have to turn yourself or start the combo over.

Extra controls

  • Dodge key: DodgeKey sets a dedicated dodge key that dodges the way you're moving. (Same as the game's own AltDodge control.)
  • Block + jump: BlockJump sets what jump does while blocking: Dodge (vanilla), Jump, or Nothing.

Config

BepInEx/config/hvalch.Feint.cfg, or in-game with a configuration manager (F1).

Setting Default What it does
CancelWithBlock / CancelWithDodge on Which inputs can cancel.
StaminaPenalty 1 Extra stamina per cancel, as a multiple of the attack's cost (0 to 3).
ScaleStaminaPenalty on Scale the cost by when you cancel. Off = always the full cost.
CancelledHitDamage 0.5 Lowest damage multiplier for a cancelled swing that still hits. (0 to 1)
ScaleCancelledHitDamage on Weaker the longer you'd been pulling back. Off = always CancelledHitDamage.
DodgeAfterHit off Dodging after the hit skips the rest of the swing.
DodgeAfterHitPenalty on Charge extra stamina for a dodge after the hit, scaled like other cancels. Off = only the dodge's cost.
KeepCombo off Give yourself longer between swings before the combo resets. Off = vanilla.
ComboKeepSeconds 1 How long the combo is kept after a swing ends (0.2 to 3).
NonCancellableAttacks knife jump attacks Attack animations that block and dodge can't cancel before the hit. DodgeAfterHit still works for them. DebugLog prints the name of each attack you cancel.
DodgeKey none Dedicated dodge key. Local only.
BlockJump Dodge What jump does while blocking. Local only.

Multiplayer

Client-side. Works on servers without it. If the server has it, the server's cancel settings are used and locked for non-admins. Controls are always your own.

AI Disclaimer

This mod was wholly generated by AI (Claude), guided by a software engineer.