

Emote cancel
Block cancel
dodge cancel
In practice, that means the mod watches for a short post-attack window, detects when a cancel action begins inside that window, and then forces the next attack to start as a fresh attack instead of continuing a combo or consuming a queued follow-up.
Some Valheim animation cancels do not simply shorten recovery. They allow the next attack to inherit combo state from the previous attack even though the player inserted another action in between.
That is the important distinction.
If the game still thinks the player is in the same combo chain after a block, emote, or dodge transition, the next attack can behave like a later combo hit even though the animation flow was interrupted. This can create cases where:
This mod prevents those cases by resetting the internal carry-over used by the next Attack.Start(...).
[1 - General]
## If on, the configuration is locked and can be changed by server admins only. [Synced with Server]
# Setting type: Toggle
# Default value: On
# Acceptable values: Off, On
Lock Configuration = On
## If on, one-handed swords, knives, and one-handed clubs will lose combo carry when block is used between attacks. [Synced with Server]
# Setting type: Toggle
# Default value: On
# Acceptable values: Off, On
Prevent Block Combo Carry = On
## If on, recent attacks from affected weapons cannot be canceled into emotes, and combo carry will be reset if an emote still slips through. [Synced with Server]
# Setting type: Toggle
# Default value: On
# Acceptable values: Off, On
Prevent Emote Cancel = On
## If on, console bind commands cannot assign emotes, and existing emote binds are disabled until this is turned off. [Synced with Server]
# Setting type: Toggle
# Default value: Off
# Acceptable values: Off, On
Block Emote Console Binds = Off
## If on, unarmed, spears, axes, battleaxes, and atgeirs will lose queued attacks and combo carry when a dodge starts, and dodge-cancel attack input will be blocked. [Synced with Server]
# Setting type: Toggle
# Default value: On
# Acceptable values: Off, On
Prevent Dodge Attack Queue = On
The mod uses a short reset window of 0.25 seconds after an attack. If a cancel action starts inside that window, the mod marks the combo as interrupted.
When the next attack starts, the mod forces a clean restart by doing two things:
previousAttack reference.timeSinceLastAttack slightly past the combo carry threshold.This matters because Valheim's combo continuation logic depends on the next attack still seeing valid previous attack state inside a short timing window. If that state is removed, the next attack becomes a normal first hit instead of continuing into a stronger or queued follow-up.
Several options also clear m_nextAttackChainLevel or queued attack timers immediately when the cancel action begins. That prevents the exploit from surviving until the next input.
This option targets block-based combo abuse.
Affected weapons:
What the exploit looks like:
Why that can be abused:
What this option does:
0.25 seconds of the last attack,When that happens, the mod:
m_nextAttackChainLevel on the current and previous attack objects,Attack.Start(...), removes combo inheritance so the next swing starts from hit 1 instead of carrying the previous chain forward.Why this is the preferred fix:
This option targets emote-based attack cancel abuse.
Affected attacks:
What the exploit looks like:
Why that can be abused:
This option uses two layers of protection.
First layer: prevent the emote from starting.
0.25 seconds of one of those attacks, Player.StartEmote(...) is blocked.This stops the most direct version of the exploit before the animation transition even begins.
Second layer: reset combo carry if an emote still happens.
Some emote transitions can happen through paths other than the exact StartEmote case you expect, or another mod could interfere with the flow. Because of that, the mod also watches Player.UpdateEmote(...).
If the player enters an emote state during the vulnerable post-attack window, the mod marks the combo as interrupted by emote. Then the next Attack.Start(...) is forced to begin as a fresh combo instead of inheriting the previous chain.
Why this option exists separately from bind blocking:
/bind is only one input route,This option targets the most convenient delivery mechanism for many emote cancels: console binds such as bind e challenge.
What the exploit looks like:
Why this option is not the main fix on its own:
What this option does:
Terminal.TryRunCommand(...),bind commands,While the option is enabled, it also refreshes the game's bind table and removes emote commands from the active runtime bind map. This means:
Recommended use:
Prevent Emote Cancel enabled as the real gameplay fix,Block Emote Console Binds if you also want to remove the easiest input method for repeating the exploit.This option targets dodge-based queue carry and a specific dodge-cancel input pattern.
Affected weapon skills:
In practical terms, this is intended to cover the exploit families reported for:
What the exploit looks like:
Why that can be abused:
What this option does:
m_queuedAttackTimerm_queuedSecondAttackTimerIf the dodge started within 0.25 seconds of the previous attack, the mod also:
m_nextAttackChainLevel on the current and previous attack objects,Attack.Start(...) to begin as a fresh combo rather than continuing the earlier chain.In addition, the mod blocks a narrow dodge-cancel input pattern while the dodge is being requested, queued, or actively playing:
This is intentionally narrower than globally blocking all attacks during dodge. The goal is to stop the known exploit pattern without making normal post-dodge attack timing feel unnecessarily heavy.
These options are complementary, not redundant.
Prevent Block Combo Carry stops combo progression from surviving through block startup.Prevent Emote Cancel stops emotes from being used as a combo-preserving interrupt.Block Emote Console Binds removes a common emote exploit input route, but does not replace the gameplay fix.Prevent Dodge Attack Queue clears queued and carried attack state when dodge begins and blocks the known dodge-cancel input pattern.Together, they cover several different ways players can interrupt animation flow while trying to keep the part that matters most: attack progression.
This mod does not try to remove every fast input sequence in the game.
Its goal is narrower:
If a future exploit uses a different state transition, it should be fixed the same way: identify which piece of attack state is surviving across the interruption, then clear that state instead of disabling unrelated systems globally.