GoosCombatOverhaul
Modernize your Valheim combat experience with Souls-like mechanics and extensive combat customization, including per-weapon attacks, movement, stagger, hyperarmor, PvP, magic, YAML profiles, and more.Goo's Combat Overhaul
Goo's Combat Overhaul is a highly configurable combat overhaul for Valheim. It adds Souls-like combat mechanics, expands weapon identity, improves melee aggression, makes heavy weapons more usable, gives PvP more consistent damage behavior, and exposes detailed config options for damage, stagger, hyperarmor, counter damage, blocking, stamina, movement, hit-stop, ranged weapons, magic, summons, and more.
In short, the default Goo ruleset is built around more aggressive and expressive combat that reduces the tedious kiting-oriented feel of vanilla Valheim. The optional Better Free Aim mode can make unlocked melee movement-facing attacks follow movement input without rotating the camera or crosshair, while the designated roll button gives Souls-like combat players the dedicated dodge input they usually expect immediately. Running and jump attacks are designed as commitment tools that let players engage more proactively instead of only waiting for enemies to attack first. Heavy melee weapons, which are often underwhelming in vanilla Valheim, are given tools such as hyperarmor and stronger stagger pressure to encourage commitment and aggression. Counter damage rewards well-timed attacks. Tower shields have block-break behavior closer to great shields in Dark Souls/Elden Ring, only breaking after an attack empties the stamina bar, which gives them a more distinct defensive playstyle. The mod also balances PvP damage on a per-attack basis to compensate for the extra advantage high-damage attacks can gain from Valheim’s armor-damage formula.
You can use the default Goo ruleset, reset toward vanilla behavior, or manually tune nearly every part of the system. Most settings are available both through the generated config file and through flat in-game gco_* console commands.
Default Combat Identity
The README describes the complete current 2.0.1 mod, not only the features that changed in 2.0.1. Unless a section explicitly says otherwise, numeric values below are the Goo Ruleset / fresh-install defaults. Reset to Vanilla restores native/no-op values where possible, while mod-added attacks are disabled without destroying their stored tuning.
The Goo ruleset is built around several layers working together:
- Attack identity: weapon categories and individual Primary1/2/3/4, Secondary, Running, and Jump roles can independently tune damage, stagger, stamina, movement, lunge, animation/recovery speed, rotation, hit-stop, hyperarmor, counter damage, conditional damage, noise, hit rays, multi-target behavior, building damage, adrenaline, blocking, and PvP behavior.
- Aggressive engagement: selected weapons receive running attacks and/or jump attacks. Running substitution is disabled on ice, tolerates up to
0.3 sof airtime, and does not replace a legitimate queued chain attack. Jump attacks require the configured continuous airtime threshold (1.0 sby default). - Committed melee movement: normal free movement is low or disabled on many swings while animation-authored forward root motion is enlarged through lunge multipliers. GCO-added lunge amplification is neutralized immediately while airborne, on ice, or while gliding when the corresponding normalization options are enabled.
- Rotation: grounded locomotion uses direct Walk/Jog/Sprint rotation multipliers of
1.0x / 1.0x / 2.0x. Normal melee attack rotation isnative/base attack rotation × 6.0x global × weapon-role local. Most weapon-role locals are1.0x; Atgeir P1/P2/P3 use0.8x. Running/jump attacks use their own1.0xlocal factor in place of the ordinary weapon-role local while the global6.0xstill applies. - Impact and trading: selected heavy attacks use hyperarmor, heavy stagger multipliers, configurable hit-stop, and stronger multi-target/hit-ray treatment. Heavy weapons are not simply sped up; their identity is based on commitment, reach, stagger and trade reliability.
- Combo normalization: several vanilla primary chains are reweighted so the native finisher does not dominate the whole chain. For attacks whose native finisher is already
2x, GCO may use a0.55xlocal damage-rate value so the effective finisher is about1.10xof the ordinary base hit after the native chain multiplier. - Conditional damage: Sneak, Flank, Execution (damage to staggered enemies), and Counter Damage are separate systems with independent local/global values and stacking rules. Goo makes Sneak and Flank stackable, while Execution and Counter compete as non-stackable bonus paths.
- Defense: weapons, shield classes, staff blockers and the Grappling Hook expose block armor, block force, stamina, parry, block-break, movement, running-while-blocking and PvP controls. Tower shields receive a distinct great-shield style ruleset.
- Resources: negative stamina is enabled with a
-50floor and a cost-aware action gate; stamina recovery is1.5x; running stamina is not drained while attacking or airborne; Goo otherwise leaves most food/eitr/healing/durability values neutral unless a section states otherwise. - Armor/equipment: Goo removes armor movement penalties by default but adds per-piece knockback/stagger resistance (
5% / 10% / 15%for light/medium/heavy). Selected weapons retain intentional equipment penalties: one-handed swords and clubs/maces-3%, two-handed axes and sledges-8%. - PvP: damage randomness is removed, an alternate outgoing PvP damage curve is enabled, ranged burst is reduced where needed, and stagger/knockback/block-break values have dedicated PvP surfaces.
- Status effects and stealth: native attack-status-effect chance is configurable by category and defaults to
0.25xof the prefab's native chance. Sneak damage defaults to2.0xglobal, scales by+1%per Sneak skill level, and awards configurable successful-sneak XP. - World pressure: enemy damage to buildings defaults to
0.2x, enemy knockback dealt to0.7x, while most other enemy speed/size/animation/projectile values stay neutral and remain configurable. - Profiles and multiplayer: exact-prefab YAML profiles can override applicable GCO and selected native weapon/attack fields. Host config and host YAML are synchronized in-memory without overwriting guest files. Better Free Aim and weapon-particle suppression remain local preferences.
The purpose of the ruleset is not to make every weapon equally fast or equally safe. It is to give each family a coherent offensive, defensive, mobility and hit-detection identity while still exposing every layer for manual tuning.
Combat Quality of Life
Better Free Aim
Better Free Aim is an optional alternative facing mode for unlocked melee combat. When enabled, a successful melee attack uses Valheim's native unlocked-melee snapping window but turns the character toward movement-input direction instead of look direction, without rotating the camera or crosshair. A newly started block also turns the character toward movement input.
Better Free Aim operates independently of Valheim's Attack Towards Look Direction option. Its attack snap eligibility matches Valheim's behavior when that option is disabled: after a successful start, the body snaps whenever the resolved native attack chain level is 0. Valheim's 0.2 s chain-continuation timer only determines whether chain progression resets to level 0; it is not an extra BFA cooldown. Failed starts still never snap, and the airborne rotation-lock option can suppress the snap while airborne.
Fresh configs keep Better Free Aim disabled by default. Applying Goo's Ruleset preserves the user's current Better Free Aim choice; Reset to Vanilla disables it.
Designated Roll Button
The mod adds a dedicated roll keybind instead of forcing dodge/roll behavior to rely only on vanilla’s combined input flow.
The default designated roll key is X. Pressing it queues Valheim’s native dodge/roll directly. The roll direction follows current movement input, including diagonals, and rolls backward by default when no movement direction is held.
This is a major combat feel improvement for players coming from Souls-like action games, where a dedicated dodge button is expected. It makes defensive movement more deliberate, easier to access, and less dependent on awkward input combinations.
Core Combat Features
Hyperarmor
Hyperarmor is GCO's attack-state interruption resistance. It is evaluated only during attacks configured to have hyperarmor and can independently scale damage taken, stagger buildup, and knockback taken. The mitigation mode can operate on raw incoming HitData, and Goo enables mitigation even when the attacker cannot be identified so environmental/indirect hits do not accidentally bypass the intended trade state.
Hyperarmor is per weapon and per attack role, and running attacks can have a separate hyperarmor profile from the normal attack they borrow. PvP damage/stagger/knockback taken can also be tuned independently.
Goo weapon identities:
- Two-Handed Sword and Two-Handed Axe normal attacks: Balanced hyperarmor,
0.80xdamage taken,0xstagger taken,0xknockback taken. - Their running attacks: Balanced hyperarmor,
0.80xdamage taken and0xstagger taken, but1.0xknockback taken so the chase tool is easier to displace than a planted heavy swing. - Sledges: Balanced hyperarmor,
0.80xdamage taken,0xstagger and knockback taken. - Atgeirs: light Balanced hyperarmor:
0.90xdamage taken but1.0xstagger/knockback taken. - One-Handed Swords, One-Handed Axes, and Clubs/Maces: normal primaries have no hyperarmor; Secondary has Balanced hyperarmor with neutral damage/stagger protection but
0xknockback taken. - Dual Axes, Knives, Dual Knives, Spears, Unarmed, Pickaxes and ordinary Other-category attacks do not receive Goo hyperarmor by default.
- Goo jump attacks have hyperarmor disabled by default, preserving the risk of airborne commitment.
Hyperarmor does not change the attack's outgoing damage or stagger by itself; those are separate surfaces.
Counter Damage
Counter Damage rewards striking a target while that target is in an attack animation. It is separate from Sneak, Flank and Execution and has its own stacking rule, ding, global multiplier, local per-attack multiplier and PvP multiplier.
Goo enables Counter Damage globally and restricts dealing it to players by default. The intended counter-enabled melee identities are:
- Atgeir primary chain
- Spear primary attacks
- Two-Handed Sword Secondary
- One-Handed Sword Secondary
Running/jump attacks inherit counter eligibility from the underlying attack role they use unless their own special-attack setting overrides it. Counter Damage is non-stackable under Goo's conditional-damage arbitration: if another non-stackable bonus path would be larger, the larger final path wins rather than blindly multiplying every conditional bonus together. The Counter ding is enabled in the Goo ruleset.
Running Attacks
Running attacks are GCO special attack substitutions for new attack starts while the player has sufficient movement velocity. They are not a second damage event layered onto a normal swing: GCO selects an underlying native attack slot, lets Valheim clone/start that attack, then applies the running attack's dedicated damage, stagger, stamina, movement, lunge, animation, recovery, rotation, hit-stop, hyperarmor, counter, block-cancel, hit-ray, multi-target, adrenaline and PvP settings.
Goo's shared running rules are: default gate 5 m/s (3.5 m/s for Two-Handed Sword, 6 m/s for Unarmed), 0.3 s airborne grace, disabled on ice, 1.0x special rotation factor multiplied by the global attack-rotation factor, after-hitbox block cancel, 2.0x attack adrenaline, multi-hit enabled, and wall-through behavior enabled for the special running ray. A legitimate queued chain attack is not replaced by running substitution.
Enabled by Goo: Two-Handed Sword, Two-Handed Axe, Atgeir, One-Handed Sword, One-Handed Axe, Clubs/Maces, Unarmed and the generic Other category. The experimental alternate Sledge moveset has its own running attack when that moveset is enabled.
Disabled by Goo but fully configurable: Dual Axes, Knives, Dual Knives and Spears.
Weapon-specific source slot, damage, movement, lunge, animation, stagger and hyperarmor values are listed in each weapon section below.
Jump Attacks
Jump attacks are separate GCO special attacks selected only after the player has remained continuously airborne for the configured AirborneAttackMinimumAirTimeSeconds (1.0 s in Goo). They borrow a chosen native attack slot but have independent damage, stagger, stamina, animation, recovery, movement, lunge, rotation, hit-stop, hit-ray, counter, block-cancel, adrenaline and PvP controls.
Goo enables jump attacks for Two-Handed Swords, Two-Handed Axes, Atgeirs, One-Handed Swords, One-Handed Axes and Clubs/Maces. Dual Axes expose a complete jump-attack surface but Goo deliberately leaves it disabled. Knives, Dual Knives, Spears and Unarmed do not use a Goo jump attack by default.
For families that borrow a vanilla 2x primary finisher (2H Sword, 2H Axe, Atgeir, 1H Sword, Club), Goo sets the jump damage-rate multiplier to 0.75x; that still leaves a heavy effective finisher because the native borrowed attack carries its own chain multiplier. Goo jump stagger is 2.8x for 2H Sword/2H Axe/Atgeir and 1.4x for 1H Sword/1H Axe/Club. Jump attacks use 0x extra lunge by default, no hyperarmor, after-hitbox block cancel, and a dedicated 1.0x rotation factor before the global 6.0x attack-rotation multiplier.
Block Canceling
Block canceling controls when an attack may transition into blocking. GCO does not simply abort the Animator state; it keeps Valheim's attack lifecycle intact and changes the remaining attack/recovery handling so hit events and chain state do not desynchronize.
Modes are Disabled, Before Hitbox, After Hitbox and Full Animation. Normal melee, running and jump attacks have separate block-cancel mode and cancel-animation-speed controls.
Goo default: all supported melee normal/running/jump attacks use After Hitbox with a neutral 1.0x cancel animation-speed multiplier. This means the player must commit through the active hit before gaining the defensive transition. The post-hitbox movement/rotation lock also survives a failed queued replacement (for example, a chained 2H-sword primary attempted with insufficient stamina) until the old animation genuinely ends or is interrupted by death, stagger, or a successful replacement attack.
Hit-Stop / Hitlag
Hit-stop is Valheim's native impact pause made configurable at multiple layers. GCO can enable/disable it globally, scale the normal duration globally, force an absolute override in seconds, and tune each weapon/attack—including running/jump attacks—separately. PvP hit-stop has its own direct duration multipliers so PvE impact tuning does not automatically create long PvP freezes.
Goo enables hit-stop globally. Typical normal Goo multipliers are 0.6x for 2H/1H swords, 0.9x for 2H axes, 0.7x for Dual Axes, and 0.8x for Atgeirs, 1H Axes, Spears and Unarmed; categories not specially listed stay 1.0x. The 2H Axe jump attack deliberately uses a much stronger 5.0x hit-stop identity. PvP hit-stop is reduced for many heavier categories independently of the PvE value.
Attack Movement
Attack Movement is free character locomotion allowed while an attack animation is active. It is distinct from Lunge Distance, which scales animation-authored forward root motion.
The final movement factor can include a global multiplier, the weapon/attack role, a running/jump special-attack factor, and the attack's configured application window. Goo's AttackMovementGroundingMode is GroundOnly, so GCO's normal attack-movement multiplier does not become an unintended air-control system.
Goo normal melee identity: 2H Swords, 2H Axe primaries, Dual Axes, 1H Swords, Clubs/Maces, Spears, Unarmed and Other-category melee primaries are generally planted at 0x free attack movement. Knives and Dual Knives keep 1x; 1H Axes and Atgeirs keep 1x for their normal attacks; 2H Axe Secondary keeps a limited 0.2x. Running attacks then get their own forward-mobility values, such as 3x for 1H Sword/Club/1H Axe, 2x for Atgeir, 1.6x for 2H Sword, and 2.2x for Unarmed.
Movement lock after the hitbox is tied to the real attack animation lifecycle rather than simply whether m_currentAttack is still populated.
Lunge Distance
Lunge Distance scales positive forward animation root motion. It does not scale backward, sideways or vertical root motion, and it is separate from free Attack Movement. Normal, Running and Jump attacks have independent local lunge multipliers plus global normal/running/jump lunge multipliers and application windows.
Goo keeps the three global lunge multipliers at 1.0x and expresses weapon identity through local values. Most ordinary melee roles use roughly 2x, with deliberate exceptions documented in each weapon section. 2H Sword P1/P2/P3 are 2.8x / 3.0x / 2.5x; 1H Sword and Club chains alternate 1.5x / 1.8x; Spear P1 is 1.0x; Atgeir Secondary is 1.0x; Knife/Dual Knife Secondary is 1.5x.
Goo also enables three safety/consistency rules: lunge multipliers are neutralized while gliding, while airborne, and on ice. Airborne neutralization happens immediately when physical ground contact is lost, so a strong ground lunge does not become an unintended aerial launch; the vanilla authored root-motion magnitude remains.
Attack Animation Speed
Attack Animation Speed multiplies the active attack animation independently from recovery speed. It can be tuned globally, per normal attack slot, and separately for running/jump attacks.
Goo's global value is 1.0x; most weapons therefore retain native animation timing unless their identity specifically changes it. Notable Goo values include Sledges 1.2x, 1H Axe primaries 1.4x and Secondary 1.5x, 1H Sword/Club Secondary 1.3x, Unarmed 1.3x, 2H Sword running 1.2x, Atgeir running 1.1x, Unarmed running 1.3x, and 1H Axe jump 1.7x. Staffs, bows, crossbows and throwables have their own animation/draw/reload/throw controls rather than inheriting melee attack speed.
Recovery Animation Speed
Recovery Animation Speed controls the post-active portion of an attack independently from the active swing speed. It exists for normal roles and special running/jump attacks, letting a move hit quickly but remain punishable—or recover quickly without speeding its hitbox.
Goo's global recovery multiplier is 1.0x and most roles stay neutral. The main melee exception is the 1H Axe primary recovery at 0.8x; its running attack uses 1.0x, while its jump attack uses 0.8x. Recovery movement/rotation restrictions remain attached to the actual attack animation even when a queued replacement fails stamina validation.
Attack Rotation
Attack Rotation is the turn-rate layer used while attacking. Valheim's native Attack.m_speedFactorRotation is the base; GCO then composes its own factors rather than rotating the character in a separate Update loop.
For ordinary attacks, the effective GCO attack factor is:
native/base attack rotation × Global Attack Rotation × weapon-role local factor
Goo sets the global factor to 6.0x. Most weapon-role locals are 1.0x; Atgeir P1/P2/P3 are 0.8x. Some vanilla secondaries are authored with a native 0 rotation factor (1H Sword, 2H Sword, 2H Axe, 1H Axe). GCO can borrow that weapon's native Primary1 rotation as a baseline only when the mod is intentionally giving that zero-native attack rotation; Reset to Vanilla puts those secondary locals back at 0x so their native no-turn behavior is preserved.
Running and jump attacks use the selected native attack's base rotation and replace the ordinary local factor with their dedicated special-attack rotation factor (1.0x in Goo), while the global 6.0x still stacks on top. Airborne attack rotation has another optional multiplier. Goo also locks attack rotation after the configured attack trigger/hit-ray window for most melee families; Pickaxes are left unlocked.
Locomotion rotation is separate: Goo uses Walk 1.0x, Jog 1.0x, Sprint 2.0x, Airborne 1.0x. Better Free Aim is also separate—it changes the initial snap direction/eligibility, not the continuous turn-rate multiplier.
Stagger and Poise
GCO exposes both outgoing stagger pressure and incoming poise/stagger behavior. Per attack, stagger may multiply Valheim's native stagger power or use other supported application modes; running/jump attacks have independent values. Player and enemy poise, stagger decay speed/cooldown, facing preservation, and meter clearing are separate controls.
Goo's major melee stagger identities are: 2H Sword/2H Axe/Atgeir primaries 2.0x, secondaries 2.2x; Sledge 3.0x; 1H Axe/Club primaries 1.5x, secondaries 1.6x; 1H Sword 1.0x primary / 1.6x secondary; Spear 1.0x primary / 2.0x secondary; Dual Axe 1.0x primary / 1.5x secondary. 2H Sword/2H Axe/Atgeir running attacks use 1.9x; their heavy jump attacks use 2.8x, while 1H Sword/1H Axe/Club jump attacks use 1.4x.
Goo clears an enemy's stagger meter once it actually staggers and preserves both mob and player facing direction during stagger. Player/enemy base poise and decay rates remain 1.0x. Armor adds a separate per-piece stagger resistance of 5% / 10% / 15% for light/medium/heavy armor.
Damage to Staggered Enemies
This is GCO's Execution system: a configurable final damage multiplier against already-staggered PvE enemies. It has a global value, local weapon/attack values, running/jump values, a stacking flag and conditional-damage arbitration with Sneak, Flank and Counter.
Goo uses a 2.0x global Execution multiplier. Most local weapon/attack values are 1.0x; Knives and Dual Knives use 1.5x local Execution values. Execution is non-stackable in Goo: it competes against the combined stackable Sneak/Flank path and wins only when its final multiplier is larger. Counter is also non-stackable. This avoids multiplying every conditional bonus into extreme burst damage while still rewarding a stagger opening.
Damage Tuning
GCO's outgoing damage layer is split so different mechanics do not have to share one master scalar. It includes global player damage, per-weapon base damage, per-attack damage-rate multipliers, airborne/running/jump multipliers, PvP multipliers, Sneak/Flank/Counter/Execution, chop/pickaxe channels, ranged/projectile/staff damage, building damage and incoming player damage.
Several melee chains deliberately compensate for Valheim's native chain/finisher multiplier. Examples: 2H Sword/2H Axe/Atgeir/1H Sword/1H Axe/Club/Knife use local P1/P2/P3 values 1.00 / 1.05 / 0.55; where P3 is the native 2x finisher, that produces an effective ~1.10x finisher rather than a sudden 2x. Dual Axes use 1.00 / 1.05 / 1.10 / 0.575 across their four-primary structure. Secondary attacks that need reweighting, such as 2H Sword/1H Sword/Club, use 0.60x local damage-rate values.
2H Sword and 2H Axe additionally use a 1.4x category base-damage multiplier and 1.4x attack stamina rate. Pickaxes use 1.5x pickaxe-channel damage. Axes preserve their chop channel. Ordinary airborne melee damage is neutral 1.0x; special jump/running attacks use their own dedicated damage multipliers.
GCO also has Effect Applying controls. For each supported category, including magic and Grappling Hook, the native attack-status-effect application chance is multiplied at the moment Valheim performs the native roll. Goo default is 0.25x; Reset to Vanilla is 1.0x. If an attack has no native attack status effect, this setting does nothing.
The same Effect Applying section contains Disable Weapon Particles, a deliberately client-local visual option. When enabled it suppresses weapon-owned particles, melee trails, and weapon-emitted lights at Valheim's held-item/effect creation paths while preserving non-visual effects such as audio; native Torch items are excluded. It restores captured visual state when turned off and does not perform a per-frame hierarchy scan. Fresh/Goo leaves it Off, and presets/sync intentionally preserve the user's local choice.
Alternate Damage Curves
GCO has independent alternate damage curves for incoming PvE damage to players and outgoing PvP damage. The curve is evaluated before Valheim armor/resistance resolution, so it reshapes raw damage without replacing Valheim's mitigation system.
curve multiplier = clamp((anchor raw damage / current raw damage)^exponent, minimum, maximum)
Goo PvE defaults: enabled, anchor 100, exponent 0.5, minimum 0, maximum 1.0. Low incoming hits are therefore never boosted above their original raw damage, while unusually large raw hits are compressed.
Goo PvP defaults: enabled, anchor 100, exponent 0.5, minimum 0, maximum 2.0. The curve sees the attack after applicable GCO outgoing/conditional multipliers have been resolved and is the primary normalization layer for melee PvP. Reset to Vanilla disables both alternate curves.
Damage to Buildings / Destruction
Character damage and structure damage are separate in GCO. Player attacks can have global, per-weapon and per-role multipliers for WearNTear buildings/placed pieces, including running/jump attacks when those attacks exist. Chop and pickaxe damage remain separate utility channels.
Goo keeps player-vs-building damage globally at 1.0x and leaves ordinary weapon/tool destruction entries neutral unless explicitly tuned. Enemy damage to buildings is reduced to 0.2x, making raids less destructive to structures without reducing enemy damage to players. Reset to Vanilla restores the enemy building multiplier to native/no-op and leaves mod-added attack values stored while disabling those attacks.
Knockback Tuning
Knockback has independent outgoing, incoming, blocking, hyperarmor, armor-resistance, projectile and PvP layers. This lets a weapon have high stagger without launching enemies, or let armor resist displacement without changing damage taken.
Goo's global player/PvP knockback layers are neutral, enemy knockback dealt is 0.7x, and enemy projectile knockback is 1.0x. Most melee PvP knockback is deliberately reduced to 0.1x; bows/crossbows use 0x, while Unarmed uses its own 0.7x identity and 1.5x on Secondary. Clubs/Maces use 0.7x outgoing knockback in PvE. Armor contributes per-piece knockback resistance of 5% / 10% / 15% for light/medium/heavy gear.
Adrenaline Tuning
Adrenaline gain can be scaled globally, per attack, for running/jump attacks, and for successful parries. The underlying Valheim adrenaline rules remain in control; GCO multiplies the relevant gain path.
Goo keeps the global rate at 1.0x and assigns 2.0x attack adrenaline to supported melee Primary/Secondary/Running/Jump attacks. Parry adrenaline has global and blocker-specific multipliers and stays neutral unless configured. Ranged, magic and other specialized systems retain their own relevant behavior rather than inheriting melee attack adrenaline automatically.
PvP Damage
PvP damage is balanced separately from PvE damage in Goo's Combat Overhaul.
Many attacks that feel fair in PvE become too explosive in PvP because players have much smaller effective health pools than enemies, and because Valheim's armor formula makes high single-hit damage scale very aggressively.
Valheim's armor calculation is not always a simple flat reduction. When armor is high relative to the incoming hit, final damage is roughly:
damage² / (4 × armor)
This means small differences in raw damage can become much larger differences after armor is applied.
For example, against 40 armor:
30 raw damage → 30² / (4 × 40) = 900 / 160 = 5.625 final damage
40 raw damage → 40² / (4 × 40) = 1600 / 160 = 10 final damage
The raw damage only increased by about 33%, from 30 to 40. But the final post-armor damage increased by about 78%, from 5.625 to 10.
This is why random damage rolls are especially problematic in PvP. A weapon can feel inconsistent even when the raw damage difference looks small, because the armor formula can magnify that difference after mitigation.
Because of this, Goo's Combat Overhaul enables Always Do Max Damage in PvP by default. This removes random damage variance from PvP hits and makes player-versus-player damage more predictable, readable, and balanceable.
The same armor formula is also why Goo's Ruleset reduces the PvP damage of high single-shot attacks. High raw damage does not merely stay proportionally stronger after armor; it can become disproportionately stronger.
For example, again against 40 armor:
40 raw damage → 10 final damage
80 raw damage → 80² / (4 × 40) = 6400 / 160 = 40 final damage
The raw damage doubled from 40 to 80, but the final post-armor damage became four times higher, from 10 to 40.
That makes high single-shot attacks, such as heavy burst attacks, jump attacks, powerful secondary attacks, crossbows, and heavy-weapon attacks, much more dangerous in PvP than their raw numbers may suggest. Without PvP-specific reductions, these attacks can bypass too much of the intended armor protection and create sudden burst damage that is hard to react to. Bow damage is also reduced in the preset because bows have a strong range advantage.
Goo's Ruleset uses the alternate PvP curve as the primary normalization layer, so most melee per-attack PvP damage multipliers are now 1.0x. Explicit final exceptions are Bow/Crossbow 0.5x, Atgeir Secondary 1.5x, and Unarmed Secondary 1.3x. Normal melee PvP knockback is generally 0.1x; Bow/Crossbow 0x; Unarmed is 0.7x normally and 1.5x on Secondary. PvP stagger is calibrated by attack-role stagger duration/power; Bow, Crossbow and Magic default to 0 s PvP stagger duration.
The goal is not to make PvP damage low across the board. The goal is to make heavy attacks, ranged attacks, jump attacks, and other burst options strong but still readable, survivable, and fair under Valheim's armor-damage system.
Blocking and Defense
Blocking
Blocking is decomposed into independent values rather than one generic defense multiplier. GCO exposes Block Armor, Block Force, stamina consumption, blocking stamina regeneration, block-break threshold, damage type multipliers on a blocked hit, knockback taken, effective block angle, movement, running while blocking, Souls-like block-break/stamina modes, and separate PvP variants.
Goo keeps most Block Armor at native strength but sets local Block Force to 0x for weapon, shield and staff blocker categories so blocks do not push attackers away merely because a hit was guarded. The global block-break threshold is 1.1x. Most weapons, bucklers, medium shields and staff blockers may run while blocking at 0.7x running speed; tower shields cannot.
PvP block-break thresholds are intentionally much higher: 10x for 2H Sword/2H Axe, 5x for other weapon categories, 10x for buckler/medium shields, 20x for tower shields, and 1x for staff blockers. These are independent of PvE blocking values.
Parry
Parrying can be enabled or disabled per weapon/tool/unarmed category, shield class, staff blocker and Grappling Hook without disabling ordinary blocking. GCO can scale parry bonus, timed-block window, adrenaline, PvP parry bonus, and whether ranged/AOE parries stagger the attacker.
Goo leaves the global and local parry-window multipliers at 1.0x (Valheim's native timed-block window), enables parrying for ordinary weapons, bucklers, medium shields and staff blockers, and disables it for tower shields by default. If a blocker has no useful native parry bonus but Can Parry is explicitly enabled, GCO supplies a functional base timed-block bonus rather than exposing a dead toggle.
Goo does not allow projectile parries to stagger PvE attackers, but does allow that behavior in PvP; AOE parries do not stagger attackers in either mode by default. The effective block angle is also configurable separately from parry timing.
Tower Shields
Tower shields have a deliberately different Goo identity from bucklers and medium shields:
Can Parry = falseby default- equipment movement modifier
-8% - effective block-angle multiplier
1.2x(Valheim's 180° sector becomes 216° effective) - block-break threshold
1.5xbefore global/PvP stacking - PvP block-break threshold
20x - Souls-like block break enabled: the guard only breaks when the blocked attack actually empties stamina
- Souls-like block stamina mode enabled, base rate
0.7x - knockback taken while blocking
0x - blocked physical damage multipliers
0xfor blunt/slash/pierce, while elemental/generic blocked-hit channels remain1x - running while blocking disabled
Bucklers and medium shields instead use -3% movement, ordinary block-break rules, normal blocked-hit damage handling, can parry, and may run while blocking at 0.7x.
Running While Blocking
Running while blocking is a blocker-specific locomotion feature, not a generic player speed multiplier. When enabled, Valheim's run state is allowed while the block is active and the configured running-while-blocking movement factor is applied; normal running stamina still matters.
Goo enables it for weapon blocks, bucklers, medium shields and staff blockers at 0.7x movement. Tower shields are excluded and remain committed defensive equipment. Normal blocking movement has its own separate multiplier and remains 1.0x globally unless a blocker-specific setting changes it.
Stamina, Resources, and Player Tuning
This group also contains GCO's optional resource-HUD layer. ApplyResourceHudChanges is Off in Goo/fresh and Reset to Vanilla, so health/stamina bars stay native unless the user opts in. The four delayed grey-band direction switches (health increase/decrease and stamina increase/decrease) default On; they only matter while the HUD master switch is enabled.
Negative Stamina
Negative Stamina turns stamina from a strict zero-wall into a bounded commitment resource. Goo enables it with a floor of -50 and uses RequireCostWithinFloor: an action may start below zero only if paying its full configured cost will not cross the floor. This prevents the old edge case where 1 stamina could start an arbitrarily expensive attack.
Running stamina drain is disabled while the player is attacking or airborne under Goo. Stamina still has to recover back through zero afterward, so overcommitting creates a real recovery debt rather than free actions.
Stamina Recovery
GCO can tune base stamina regeneration, the regeneration curve, recovery delay behavior, blocking regeneration, running drain, and action costs for attacks, jump, roll and crouch. Attack stamina is also per weapon/attack and special running/jump attacks have their own rate multipliers.
Goo uses 1.5x stamina recovery, the native/Vanilla regen curve, 1.0x jump cost, and 0x crouch stamina consumption. Negative stamina and the no-run-drain-during-attacks/airborne rules are described above. Heavy 2H Sword/2H Axe normal and special attacks use 1.4x stamina rate; Sledges use 1.25x in the normal moveset.
Health, Eitr, and Healing
Player base health, stamina, armor, incoming damage taken, eitr, carry weight, eitr regeneration and healing can all be changed independently of weapon balance. Mead stamina/eitr/health-regeneration bonuses also have separate multipliers.
Goo intentionally leaves these survival/progression values mostly neutral: base health 25, base stamina 75, base armor 0, global player damage taken 1.0x, base eitr 0, eitr regeneration 1.0x, carry weight 300, healing 1.0x, and mead recovery bonuses 1.0x. The main resource pacing change is stamina recovery/negative stamina, not a blanket health, armor or eitr buff.
Player Movement
Player locomotion includes walk/jog/run speed, crouch speed, jump force, roll distance/animation, rotation by locomotion state, airborne movement/deceleration, and attack-specific grounding rules.
Goo leaves run, jog, walk and crouch speed at 1.0x, and jump force at 1.0x, but splits rotation into direct state multipliers: Walk 1.0x, Jog 1.0x, Sprint 2.0x, Airborne 1.0x. This preserves Valheim's heavy ordinary walking/jogging feel while making sprint direction changes more responsive. Airborne movement and natural deceleration are 1.0x, with no horizontal deceleration floor (0).
AttackMovementGroundingMode = GroundOnly; ordinary special airborne bonuses/jump attacks require 1.0 s continuous airtime. The designated roll button uses Valheim's native dodge; Goo keeps roll animation 1.0x, roll distance 1.0x, roll stamina cost 1.0x, run stamina drain 1.0x, and jump stamina cost 1.0x. Crouch stamina consumption is the movement exception at 0x.
Armor and Equipment Movement
Armor and equipment movement are separate from Attack Movement. GCO can override the final equipped-item movement modifier while keeping the item's tooltip consistent, and can independently scale armor's base armor value.
Goo removes movement penalties from light, medium and heavy armor by setting their custom final movement modifiers to 0%. Armor base-armor multipliers remain 1.0x. Each equipped armor piece also contributes stagger and knockback resistance by weight class: light 5%, medium 10%, heavy 15% for each resistance type.
Selected weapon identities retain equipment weight: 1H Sword -3%, Club/Mace -3%, 2H Axe -8%, Sledge -8%. Other weapon/equipment families use their native movement modifier unless their custom override is explicitly enabled. Bucklers/medium shields use -3%; tower shields use -8%.
Fall Damage
Fall damage has independent start-height, damage-per-meter and maximum-damage controls. Goo moves the start height to 8 m while keeping Valheim's current 6.25 damage/m and 100 damage cap. This lets the more mobile combat system tolerate moderate drops without globally disabling or flattening fall damage.
Food Tuning
Food health, stamina, eitr and healing-rate contributions are configurable, as are the unique-food rule and optional permanent food behavior.
Goo keeps the actual food stat/duration/healing multipliers at 1.0x, requires unique foods as normal, and leaves Permanent Food Buffs disabled. The system exists so players can change survival pacing without coupling those changes to weapon balance.
Consumables and Permanent Buffs
GCO can make food, mead and Rested effects permanent, scale mead recovery bonuses, and optionally suppress consumption of food, mead, ammo, bait-style resources and similar consumables.
Goo keeps Permanent Food, Permanent Mead, Permanent Rested, and No Consumption disabled. Mead stamina/eitr/health-regeneration bonus multipliers are 1.0x. These are sandbox/custom-ruleset surfaces, not forced changes in Goo's normal combat preset.
Gear Durability
Durability is configurable globally and per supported item: unbreakable toggles, consumption rate, base durability and maximum durability multipliers can be changed without touching combat damage.
Goo is neutral here: global unbreakable gear is off and global consumption/base/max durability multipliers are 1.0x; per-item durability values are reset to their native/no-op defaults. The subsystem exists for custom servers, testing and alternate progression rules.
Weapon-Specific Features
Per-Weapon Tuning
Every supported weapon family has a feature-toggle layer and a set of role-aware configs. The current categories are Two-Handed Sword, Two-Handed Axe, Sledge (plus its optional alternate moveset), Pickaxe, Dual Axes, Atgeir, One-Handed Sword, One-Handed Axe, Club/Mace, Knife, Dual Knives, Spear, Bow, Crossbow, Grappling Hook, Magic/Staffs, Unarmed and Other/modded equipment.
For melee families, the available surfaces include: base/per-role damage, stagger, stamina, hyperarmor and incoming mitigation, hit-stop, attack movement, lunge, animation/recovery speed, attack rotation/lock, Counter, Sneak, Flank, Execution, Effect Apply Chance, chop/pickaxe channels, building damage, adrenaline, block cancel, block/parry/PvP defense, hit-ray geometry, multi-hit, hit-through-mobs/walls, noise, PvP damage/stagger/knockback, and where supported special Running/Jump attacks.
Common Goo melee defaults: hit-ray application is enabled for all exposed hit-ray categories; Multi Hit is enabled for every melee attack except Spear P1; all supported melee attacks use after-hitbox block cancel and 2.0x attack adrenaline; most melee PvP knockback is 0.1x; and the Effect Apply Chance category multiplier is 0.25x whenever the native attack actually has a status effect to roll. Weapon-specific non-neutral values are documented below.
Per-Attack Tuning
Normal melee categories can expose Primary1, Primary2, Primary3, Primary4 and Secondary settings; special Running and Jump attacks have separate config groups and choose which native attack slot they borrow. The full attack-role surface includes damage/chop/pickaxe channels, stagger mode/value, Execution, stamina/eitr rate, hyperarmor and PvP hyperarmor mitigation, hit-stop/PvP hit-stop, Counter, attack movement/application window, lunge/application window, attack/recovery animation, rotation and post-trigger lock, adrenaline, PvP damage/stagger duration/knockback, ordinary knockback, block armor/force/stamina/regen/break rules, block cancel, Sneak/noise, building damage, Flank, hit-ray geometry, multi-target behavior and feature application toggles. Running/Jump groups expose their own corresponding special-attack values instead of silently inheriting every normal-role number.
The distinction matters because Valheim itself may attach chain multipliers to the borrowed attack. GCO's per-role Damage Rate Multiplier is applied in addition to that native attack data. For example, a 0.55x GCO value on a native 2x finisher is an effective 1.10x finisher, not a 45% weaker ordinary hit.
Per-role settings are resolved against the actual cloned Attack instance, not by repeatedly scanning weapon prefabs. Exact-prefab YAML can then overlay applicable values for a specific weapon without changing the category defaults for every weapon in that family.
Two-Handed Swords
Two-Handed Swords are Goo's heavy greatsword-style commitment weapon.
| System | Goo Ruleset identity |
|---|---|
| Damage / stamina | 1.4x category base damage; P1/P2/P3 locals 1.00 / 1.05 / 0.55 (native finisher compensation); Secondary 0.60x; normal stamina 1.4x. |
| Stagger / hyperarmor | P1-P3 2.0x stagger, Secondary 2.2x; Balanced hyperarmor with 0.80x damage taken, 0x stagger taken and 0x knockback taken. |
| Movement / lunge | Normal free attack movement 0x; P1/P2/P3 lunge 2.8x / 3.0x / 2.5x, Secondary 2.0x, applied before the hitbox. |
| Rotation | Local 1.0x over the global 6.0x; lock after attack trigger. The vanilla zero-rotation Secondary receives a P1 baseline only while GCO rotation is active; Vanilla Reset restores local 0x. |
| Running | Enabled, borrows P2; gate 3.5 m/s; damage 1.15x, stagger 1.9x, stamina 1.4x, animation 1.2x, movement 1.6x, lunge 5x; Balanced HA 0.80x damage / 0x stagger / 1x knockback. |
| Jump | Enabled, borrows P3; damage 0.75x on the native finisher, stagger 2.8x, stamina 1.4x, movement 0.5x, lunge 0x, no hyperarmor; vertical 2x-width hit ray. |
| Hit rays / cleave | P3 width 2x, height 1.6x, vertical; P1/P2 angle 1.4x, P3 angle 0.5x. Normal sword roles disable the multi-target damage penalty, so Goo enables multi-hit and through-mob/wall cleave. Running copies P2 hit-ray tuning. |
| Timing / defense | Normal hit-stop 0.6x; Secondary Counter Damage; all normal/running/jump attacks use after-hitbox block cancel and 2x attack adrenaline. |
| Equipment / PvP | Goo does not force a custom carried-movement penalty for 2H Swords; PvP uses the common damage curve, 0.1x melee knockback and strong weapon block-break resistance (10x PvP threshold). |
Every row is independently configurable; the table describes only the Goo preset.
Two-Handed Axes
Two-Handed Axes are planted, high-stagger heavy weapons with less chase lunge than 2H Swords.
| System | Goo Ruleset identity |
|---|---|
| Damage / stamina | 1.4x category base damage; P1/P2/P3 1.00 / 1.05 / 0.55; normal stamina 1.4x; chop channel remains active. |
| Stagger / hyperarmor | P1-P3 2.0x, Secondary 2.2x; Balanced HA with 0.80x damage taken, 0x stagger and 0x knockback. |
| Movement / lunge | Primaries 0x free movement, Secondary 0.2x; normal lunge 2x. Equipment movement override -8%. |
| Rotation | Local 1x × global 6x, post-trigger lock; zero-native Secondary gets the P1 baseline only when GCO rotation is active. |
| Running | Enabled, borrows P2; damage 1.15x, stagger 1.9x, stamina 1.4x, movement 1x, lunge 0x; Balanced HA 0.80x damage / 0x stagger / 1x knockback. |
| Jump | Enabled, borrows P3; 0.75x damage, 2.8x stagger, 1.4x stamina, 0.5x movement, 0x lunge, no HA; vertical jump ray and intentionally strong 5x hit-stop. |
| Hit rays / cleave | P1 range 1.1x; Secondary range 1.1x; widths P1/P2/P3 1.25 / 1.25 / 1.4x; heights 1.3 / 1.3 / 1.5x; P3 vertical; P1/P2 angle 1.5x. Primary chain disables multi-target penalty and cleaves; Secondary retains its separate native-style behavior. |
| Timing / defense | Normal hit-stop is 0.9x on most 2H Axe roles, but P3 is 5x; the Jump attack also uses 5x. All use after-hitbox block cancel and 2x attack adrenaline; PvP weapon block-break threshold is 10x. |
The goal is a weapon that wins through reach, stagger and trading rather than high free movement.
Sledges
Sledges remain native-style heavy AOE control weapons by default rather than being converted into ordinary hit-ray weapons.
Normal Goo defaults are 3.0x stagger, Balanced hyperarmor (0.80x damage taken, 0x stagger/knockback), 1.25x stamina rate, 1.2x attack animation speed, 0.9x outgoing knockback, P1 lunge 2x / Secondary 1x, local rotation 1x with post-trigger lock, and an equipment movement penalty of -8%. Base damage stays 1.0x; the native slam AOE radius stays 1.0x but has a dedicated multiplier. Normal sledge attacks continue through Valheim's Area-attack path rather than GCO's ordinary direct-ray geometry.
The experimental alternate moveset is disabled by Goo. When enabled, it intentionally mirrors the designed 2H Axe ruleset for P1/P2/running/Secondary settings: 1.4x base damage, 2.0/2.2x stagger, 1.4x stamina and heavy hyperarmor. P1/P2/running use authored direct horizontal rays with base 2.4 m range, 1.3 m start height, 135° fan and 0.65 m thickness. P3 keeps the native sledge AOE. Secondary uses the real 2H Axe Secondary attack and native hit rays. The alternate mode has its own YAML-capable settings and remains opt-in.
Pickaxes
Pickaxes remain tools first. Goo leaves ordinary combat damage, stagger, stamina, movement, lunge, animation, rotation lock and hyperarmor essentially neutral, but raises the pickaxe damage channel to 1.5x so mining/destruction utility can be tuned independently from creature damage.
Pickaxes participate in the normal PvP/block/parry/destruction/config systems where those values are exposed, and their building/destruction multiplier can be tuned separately. They do not receive Goo running or jump attacks and do not use the planted post-trigger rotation lock applied to normal melee categories.
Dual Axes
Dual Axes use a four-primary-chain identity with broad hit coverage but no default special running/jump substitution.
| System | Goo Ruleset identity |
|---|---|
| Chain / stagger | P1/P2/P3/P4 local damage rates 1.00 / 1.05 / 1.10 / 0.575; primary stagger 1.0x, Secondary 1.5x. |
| Hyperarmor / movement | No hyperarmor. Normal free attack movement 0x; primary lunge 2x, Secondary final lunge 0.9x; Secondary animation 1.5x. |
| Rotation / hit-stop | Local rotation 1x × global 6x, post-trigger lock; hit-stop 0.7x. |
| Hit rays | Primary widths 2.2x with 1.3x height; Secondary is deliberately narrow 0.55x but taller 1.8x. Multi-hit is enabled and the normal dual-axe penalty is disabled for cleaving roles. |
| Running / jump | Both config surfaces exist but Goo disables both. Running is stored as P2 (1.15x damage) and Jump as P4 with neutral values so enabling them later starts from a predictable baseline rather than old experimental behavior. |
| Defense / PvP | After-hitbox block cancel, 2x attack adrenaline, standard weapon parry/running-block support, and the common melee PvP normalization. |
This avoids the old rapid special-chain behavior while retaining complete customization.
Atgeirs
Atgeirs are reach/control weapons with strong stagger, counter timing, wide rays and both Running and Jump attacks.
| System | Goo Ruleset identity |
|---|---|
| Chain / stagger | P1/P2/P3 local damage 1.00 / 1.05 / 0.55; primary stagger 2.0x, Secondary 2.2x. Primaries can deal Counter Damage. |
| Hyperarmor | Balanced but deliberately light: 0.90x damage taken, 1.0x stagger taken, 1.0x knockback taken. It helps trading without granting poise immunity. |
| Movement / lunge | Normal P1-P3 and Secondary free movement 1x; primary lunge 2x, Secondary 1x. Equipment movement remains native unless manually overridden. |
| Rotation | P1/P2/P3 local 0.8x, P4/Secondary 1.0x, multiplied by global 6x; post-trigger rotation lock. |
| Running | Enabled, borrows P2; 1.15x damage, 1.9x stagger, 1.1x animation, 2x movement, 3x lunge, 2x ray width; 5 m/s gate. |
| Jump | Enabled, borrows P3; 0.75x damage, 2.8x stagger, 0.5x movement, 0x lunge, no HA, 2x ray width. |
| Hit rays / cleave | All normal attack-role ray widths are 2x. Multi-hit is enabled; Secondary disables the multi-target damage penalty and therefore receives through-mob/wall cleave behavior. |
| Timing / PvP | Hit-stop 0.8x; after-hitbox block cancel; 2x attack adrenaline. Secondary keeps an explicit 1.5x PvP damage exception on top of the general PvP system. |
So the Atgeir ruleset is a complete spacing/control package—not merely the 0.8x rotation setting.
One-Handed Swords
One-Handed Swords are versatile generalist weapons with planted normal swings, strong lunges, a mobile Running attack and a heavy Jump finisher.
Normal chain damage uses P1/P2/P3 1.00 / 1.05 / 0.55; Secondary uses 0.60x. Stagger is 1.0x on primaries and 1.6x on Secondary. Primaries have no hyperarmor; Secondary has Balanced hyperarmor whose Goo benefit is 0x knockback taken while damage/stagger taken stay neutral. Normal free movement is 0x; lunge is P1/P2/P3/P4 1.5 / 1.8 / 1.5 / 1.8x, Secondary 2x. Hit-stop is 0.6x; Secondary animation speed is 1.3x and Secondary can Counter.
The Running attack is enabled, borrows P3 and uses 0.575x local damage, 3x movement, 1.3x lunge and a 5 m/s gate. The Jump attack is enabled, borrows P3, uses 0.75x damage, 1.4x stagger, 0.5x movement, 0x lunge and a vertical hitbox with neutral width. Both special attacks have after-hitbox block cancel and no jump hyperarmor.
Hit-ray tuning makes P3 vertical (1.6x height, 0.7x angle) while P1/P2 angles are 1.2x. Vanilla sword prefabs also have curated model-length range multipliers (Bronze through Dyrnwyn/Nidhogg variants). Normal sword roles have multi-target penalty disabled, so Goo enables cleave through mobs/walls. Equipment movement is -3%; normal local rotation is 1x × global 6x, with the zero-native Secondary handled by the baseline/Vanilla-reset rule.
One-Handed Axes
One-Handed Axes are mobile melee/chop weapons with faster normal animation timing and unusually strong special mobility.
Normal stagger is 1.5x primary / 1.6x Secondary. Primaries have no hyperarmor; Secondary has knockback-only Balanced protection (0x knockback taken). Normal Attack Movement is 1x, normal lunge 2x, primary animation 1.4x, Secondary animation 1.5x, primary recovery 0.8x, and hit-stop 0.8x. The native chop damage channel remains 1x.
Running is enabled, borrows P3, uses 0.575x damage, 3x movement, 3x lunge, 1.0x recovery and a 1.5x hitbox-height multiplier. Jump is enabled and borrows the Secondary: 1.0x damage, 1.4x stagger, 1.7x animation, 0.8x recovery, 1x movement, 0x lunge, no hyperarmor.
Primary hit rays use 1.67x width and 1.5x height. Secondary and the Jump attack add 0.4 m of ray thickness to the native shape. Multi-target penalty is disabled for normal axe roles, giving Goo cleave behavior. Rotation is 1x × global 6x with post-trigger lock; the zero-native Secondary follows the same baseline/Vanilla-reset rule as swords/2H axe. Goo does not force an equipment movement penalty for 1H Axes.
Clubs and Maces
Clubs/Maces are stagger-oriented one-handers with planted normal movement, controlled knockback and both Running/Jump attacks.
Normal P1/P2/P3 damage-rate values are 1.00 / 1.05 / 0.55, Secondary 0.60x; stagger is 1.5x primary / 1.6x Secondary. Primary hyperarmor is off; Secondary has knockback-only Balanced protection (0x knockback taken). Free normal movement is 0x; lunge is P1/P2/P3/P4 1.5 / 1.8 / 1.5 / 1.8x, Secondary 2x. Secondary animation is 1.3x; outgoing knockback is reduced to 0.7x for normal, Running and Jump attacks.
Running is enabled, borrows P3: 0.575x damage, 3x movement, 1.3x lunge. Jump is enabled, borrows P3: 0.75x damage, 1.4x stagger, 0.5x movement, 0x lunge, vertical 1.67x-width ray and no hyperarmor.
Hit rays: P1/P2 width 1.4x and height 1.25x; P3/Secondary width 1.67x, height 2x, vertical; P3 angle 0.7x, Secondary angle 2x. P3 and Secondary disable multi-target penalty for stronger cleave. Goo equipment movement is -3%; rotation is 1x × global 6x with post-trigger lock.
Knives and Dual Knives
Knives and Dual Knives keep the fast/mobile end of the ruleset rather than receiving heavy-weapon commitment mechanics.
Both families have no Goo hyperarmor, neutral 1.0x stagger, 1x free attack movement, primary lunge 2x, Secondary lunge 1.5x, local rotation 1x × global 6x, and post-trigger rotation lock. Knife P1/P2/P3 damage-rate values are 1.00 / 1.05 / 0.55; Dual Knives otherwise preserve their native damage structure unless configured.
Their hit rays are deliberately generous for close-range reliability: Knife and Dual Knife normal roles use 2x ray width and 2x hitbox height. Multi Hit is enabled. Running-attack config exists for both, borrows P3 and stores the reduced 0.575x damage family, but Goo leaves Running disabled. They do not receive a Goo Jump attack by default.
Stealth is a major part of their identity: Goo local Sneak multiplier is 2.0x for Knife/Dual Knives before the global 2.0x Sneak multiplier and skill scaling, and their local Execution multiplier is 1.5x. Equipment movement remains native/no forced Goo penalty.
Spears
Spears keep a precise thrust/throw identity rather than being turned into broad cleaving polearms.
Normal primary stagger is 1.0x, Secondary 2.0x; primary Counter Damage is enabled; hyperarmor is off; normal free attack movement is 0x. P1 lunge is 1x, later primary slots/Secondary use 2x; hit-stop is 0.8x; rotation is 1x × global 6x with post-trigger lock.
The P1 hit ray is vertical, 1.2x width, and is the one Goo melee role with Multi Hit disabled, preserving a focused single-target thrust. Vanilla spear prefabs get curated range multipliers: Flint/Bronze/Elderbark/Carapace 1.25x, Fang 1.2x, Splitnir variants 1.45x. The thrown Secondary has its own ranged behavior and does not receive GCO Flank damage.
Goo leaves the special Running attack disabled. Thrown spear and Abyssal Harpoon projectile speed is 1.5x; Spear Loyalty is exposed but off; Harpoon rope strength stays 1x. Equipment movement remains native unless explicitly overridden.
Unarmed
Unarmed is a real GCO weapon category rather than falling through generic weapon logic.
Normal stagger is 1.0x, hyperarmor off, hit-stop 0.8x, free normal attack movement 0x, attack animation 1.3x, P1/P2 lunge 1.5x / 1.0x, Secondary lunge 2x, and rotation 1x × global 6x with post-trigger lock. P1/P2 hit rays are widened to 2.5x.
Running is enabled, borrows P2, requires 6 m/s, uses 0.575x damage, 1.3x animation, 2.2x movement and 1x lunge. No Goo jump attack is defined. Unarmed has a lower local Sneak multiplier (1.5x) than Knife/Dual Knife and uses its own PvP identity: Secondary damage 1.3x, very high Secondary stagger pressure (999x configured stagger-power multiplier) and 1.5x Secondary PvP knockback, while ordinary Unarmed PvP knockback is 0.7x.
It also participates in the normal weapon blocking/parry/running-block, block-cancel, adrenaline, conditional-damage and Effect Apply systems.
Ranged and Magic Features
Bows
Bows have a dedicated ranged layer instead of inheriting melee timing. Configurable surfaces include draw speed, body rotation while drawing, projectile spread, base spread, projectile speed, damage/stagger/PvP values, stealth/noise, Effect Apply Chance, durability and equipment movement.
Goo's bow identity is PvP damage 0.5x, PvP knockback 0x, and PvP stagger duration 0 s, with effectively uncapped draw-aim body rotation (BowDrawRotationFactor = 999x). BowDrawSpeedMultiplier, BowSpreadMultiplier, BaseSpreadMultiplier and projectile speed are all 1.0x; the equipment-movement override is off, so the item's native movement modifier is used. Native attack-status-effect chance, when present, is still subject to the shared 0.25x Effect Apply Chance setting.
Crossbows
Crossbows expose reload time, projectile speed, base spread, recoil, damage/stagger/PvP values, stealth/noise, Effect Apply Chance, durability and equipment movement independently from bows.
Goo sets PvP damage 0.5x, PvP knockback 0x, and PvP stagger duration 0 s. CrossbowReloadTimeMultiplier, projectile speed, BaseSpreadMultiplier and recoil are 1.0x, so the normal Valheim crossbow cadence remains intact unless the user changes it. Equipment movement uses the native item value because its override is off. Crossbow damage then participates in the same global PvP curve and conditional-damage pipeline as other player attacks.
Spears, Harpoons, and Thrown Projectiles
Thrown spear/harpoon behavior is deliberately separate from bomb-style Throwables. Goo gives thrown spears and the Abyssal Harpoon 1.5x projectile speed. Spear Loyalty is optional and disabled; when enabled, a thrown spear is not consumed/dropped while all other throw costs and combat behavior remain. Harpoon rope/attach pull strength has an independent 1.0x default multiplier.
The Grappling Hook introduced in Valheim 1.0 is isolated from ordinary Bow/Crossbow classification even though the game serializes it through bow/crossbow-like data. Its dedicated controls cover reload speed, projectile speed, grappling range, pull/fly speed, durability burn, block armor/force, parry window/bonus/adrenaline, Sneak damage, knockback and Effect Apply Chance. Goo leaves the hook-specific gameplay multipliers at native 1x by default.
Throwables
Bomb-style throwables such as Ooze Bombs use a dedicated category-level path. Stamina consumption, direct/propagated damage, projectile speed and throw-animation speed can be changed without affecting spears, harpoons, arrows, bolts or magic projectiles.
Goo leaves all four throwable multipliers at 1.0x. Throwable direct hits and lingering AOE damage are explicitly excluded from GCO Flank bonuses so a rear-sector multiplier cannot amplify a persistent bomb field.
Magic Weapons and Staffs
Magic has per-staff controls rather than one blanket multiplier. Applicable staffs can tune damage, stagger, attack animation speed, eitr cost, noise, Sneak, PvP damage/stagger/knockback, projectile speed, AOE radius, spread, shield health/player-damage behavior and staff-specific mechanics.
Goo's general staff baseline is intentionally conservative: damage, direct stagger, animation, eitr, projectile/AOE/shield values stay 1x unless listed below. Magic-category PvP stagger duration is 0 s, so Goo suppresses magic PvP stagger by default even though individual staff PvP-stagger multipliers remain configurable. Older-staff exceptions include Frost staff PvP damage 0.8x and spread 0.5x; Dundr PvP damage 0.5x, direct stagger 2x, spread 0.3x, recoil 0x, reload 1x and projectile count 1x; Himmin Afl lightning-chain chance 25%; Dundr chain chance 2% per pellet. Extra lightning impact visuals are optional and off. Staff of the Wild vine damage/size/attack-speed stay 1x, vine level 0, player targeting off, and max vines 10.
Valheim 1.0 support includes Echo Spike projectile-speed + AOE-radius controls; Lightning Strike projectile-speed + AOE-radius controls; Northern Vengeance shield health, health consumption, active-shield mitigation/retaliation controls and retaliation-projectile speed; and Spirit Caller summon health/damage/health cost/spawn cap/level/size/attack-speed/PvP controls. Those four staves are explicitly reset to native/no-op Goo values so older balance assumptions do not leak onto new content. Magic Effect Apply Chance uses the shared 0.25x Goo multiplier when the native attack exposes an attack status effect.
Staff Shields
Staff blocking is a first-class blocker family. Each supported staff can have Block Armor/Force, parry enable/bonus/window, stamina use/recovery, block-break rules, movement, running while blocking, PvP variants, effective block angle and damage-taken-on-block values. Active magical shield bubbles additionally expose their own health and incoming-player-damage behavior where supported.
Goo keeps ordinary staff block stats close to native: parrying is enabled, Block Force is 0x, running while blocking is enabled at 0.7x, and staff PvP block-break threshold is 1x. New Valheim 1.0 staff-shield-specific settings are neutral/no-op by default. Staff shields are therefore configurable without silently inheriting tower-shield behavior.
Summons
Summons are tuned through owner-scoped/native ownership paths rather than periodic global scene scans. GCO supports Dead Raiser skeletons, Staff of the Wild vines and Valheim 1.0 Spirit Caller phantom animals.
For supported summons the config surface includes health cost, summon health/damage, PvP behavior, level, size, attack speed and spawn cap/native-cap behavior. Staff of the Wild also has vine-specific damage/size/attack speed, player-targeting and maximum active vines per caster. Dead Raiser/Spirit Caller can mirror quality/native-cap semantics.
Goo keeps summon-specific values neutral unless explicitly documented elsewhere: the system is primarily an exposed tuning surface rather than a blanket summon buff. Per-caster caps are enforced through authoritative ownership tracking, not an every-frame scene search.
Hit Detection and Feedback
Hit feedback is not limited to hit rays. GCO also controls melee hit-stop, critical-hit dings for Counter/Flank, optional lightning-impact visuals, and the client-local Disable Weapon Particles switch described under Damage Tuning. These visual/feedback controls do not alter the authoritative damage calculation unless their corresponding gameplay system says so.
Hit Ray and Hitbox Tuning
GCO can tune the actual geometry Valheim uses for direct melee attacks: range, ray/sphere width, hitbox height, forward offset, fan angle, and horizontal/vertical hitbox style. Global multipliers stack with weapon/attack multipliers; running attacks normally copy the geometry of the native attack slot they borrow. Exact vanilla sword/spear prefabs can also have model-specific range multipliers.
Goo enables the hit-ray feature for every exposed melee family. Major authored defaults include:
| Family | Goo hit-ray identity |
|---|---|
| 2H Sword | P3 width 2x, height 1.6x, vertical; P1/P2 angle 1.4x, P3 angle 0.5x; running copies P2; jump vertical width 2x. |
| 2H Axe | P1 range 1.1x, Secondary range 1.1x; widths P1/P2/P3 1.25/1.25/1.4x; heights 1.3/1.3/1.5x; P3 vertical; P1/P2 angle 1.5x. |
| Dual Axes | primary widths 2.2x, height 1.3x; Secondary width 0.55x, height 1.8x. |
| Atgeir | all normal role widths 2x; running/jump also use 2x width. |
| 1H Sword | P3 vertical, height 1.6x, angle 0.7x; P1/P2 angle 1.2x; curated prefab-specific range multipliers. |
| 1H Axe | primary width 1.67x, height 1.5x; Secondary and Jump add 0.4 m thickness. |
| Club/Mace | P1/P2 width 1.4x, height 1.25x; P3/Secondary width 1.67x, height 2x, vertical; P3 angle 0.7x, Secondary 2x. |
| Knife / Dual Knife | normal widths 2x, heights 2x. |
| Spear | P1 vertical width 1.2x; curated spear-prefab reach (1.2-1.45x depending on model). |
| Unarmed | P1/P2 width 2.5x. |
| Sledge | native normal AOE is untouched by ordinary direct rays; optional alternate P1/P2/running use dedicated absolute 2.4m/135°/0.65m rays. |
Modded/non-native attack slots are deliberately left at neutral hit-ray values unless they are known compatible, reducing the chance of forcing vanilla geometry assumptions onto another mod's attack.
Multi-Target Damage
Multi-target behavior is split into Multi Hit, Hit Through Mobs, Hit Through Walls, and Valheim's native multi-target damage penalty. These are not synonyms: Multi Hit controls whether multiple collected targets receive damage; through-mob controls whether an individual ray continues past a character; through-wall controls non-character obstructions; the penalty controls how damage is reduced across multiple targets.
Goo enables Multi Hit for every exposed melee role except Spear P1. It disables the multi-target damage penalty for all normal 2H/1H Sword roles, Dual Axes, 1H Axes, 2H Axe primaries, Atgeir Secondary, and Club/Mace P3/Secondary. When the penalty is disabled, Hit Through Mobs becomes enabled; vertical hitboxes and penalty-free roles also receive Goo's through-wall behavior. Running and jump attacks default to Multi Hit and through-wall support, with through-mob behavior following their category's penalty rule.
This is why broad sword/axe/club swings can genuinely cleave while the Spear P1 remains a focused thrust.
Stealth
GCO has three separate stealth/positional concepts plus attack noise:
Sneak is Valheim's unaware-target mechanic. Goo sets global Sneak damage to 2.0x, enables skill scaling with base 1.0x + 0.01x per Sneak skill level, awards 1 base Sneak XP on successful Sneak attacks, scales XP with the configured Sneak multiplier, and gives ranged Sneak XP a 0.5x factor. Knife/Dual Knife local Sneak is 2x; Unarmed is 1.5x; most other melee/ranged locals are neutral. Staff local Sneak is neutral under Goo.
Flank is GCO's rear-sector mechanic. Goo enables it and its ding, uses a 120° PvE rear sector and 90° PvP rear sector, 2x global Flank stagger, and per-category local damage (generally 1.5x, 2x for Knife/Dual Knife, Sledge neutral). Bomb-style throwables and thrown-spear Secondary behavior are excluded where designed.
Execution is damage against staggered PvE enemies (2x global; Knife/Dual Knife 1.5x local). Counter is attack-state timing damage. Goo's conditional arbitration makes Sneak and Flank stackable, while Execution and Counter are non-stackable competitors. Attack-start and attack-hit noise are also configurable globally/per role and remain 1x under Goo.
Enemy Tuning
Enemy systems can be tuned independently from player weapon systems: outgoing stagger pressure, damage to buildings, knockback, projectile speed/knockback, generic speed, movement/attack animation speed, size, melee hit-ray range/size/height/offset, base/attack rotation, post-hit-ray rotation lock, poise and stagger decay.
Goo intentionally keeps most enemy combat timing neutral (1x) so the overhaul primarily changes player combat rather than globally accelerating mobs. The main Goo exceptions are enemy damage to buildings 0.2x, enemy knockback dealt 0.7x, and post-hit-ray enemy rotation lock enabled. Enemy projectile speed/knockback, speed, attack/movement animation speed, size, hit-ray range/size/height/offset, base/attack rotation, stagger dealt, poise and stagger-decay speed are all 1x; stagger-decay cooldown is 1 s. Enemy size scaling, when changed, proportionally scales the supported melee hit-ray dimensions and then stacks with the dedicated hit-ray multipliers.
Debug Tools
Debug tools are intended for private testing, balance work, and troubleshooting. They should not be treated as normal gameplay features unless everyone in a world agrees to use them.
Goo Combat Debug Mode uses Valheim's native god-mode behavior for the local player and gates debug-only controls such as debug fly, no-placement-cost, ghost mode, manual debug healing, adding or refreshing the Rested effect, and PvP dummy actions. GCO debug fly and ghost mode do not enable Valheim's vanilla debugmode flag, so they do not fight vanilla debug hotkeys when devcommands is enabled.
Debug keybinds are configurable and use physical-key detection. Holding normal movement input such as W, A, S, or D should not cover up a GCO debug hotkey. The default debug keys are Z for debug fly, N for no-placement-cost, P for ghost mode, H for debug healing, and O for adding or refreshing Rested. Hotkeys are ignored while chat, the console, or text-input prompts are active.
The Debug section includes separate enable switches for debug fly, no-placement-cost, and ghost mode. Turning one of these switches off prevents its keybind or button action from toggling that state, and also forces the current GCO-controlled state off. This allows Goo Combat Debug Mode to stay active for god mode or healing while disabling individual testing powers.
Debug logging can be enabled for troubleshooting. Verbose debug logging expands coverage with detailed throttled output for player resources, movement, velocity, current weapon, weapon category, active attack role, attack/block/dodge/grounded state, GCO debug states, and related combat/runtime information. Verbose logging is intentionally noisy and should normally be used only during short test sessions.
Presets intentionally preserve the Debug section. Applying Goo's Ruleset or Reset to Vanilla will not overwrite debug logging preferences, debug keybinds, debug toggle permissions, or PvP dummy testing settings.
PvP Testing
PvP Test Dummy
The mod includes a PvP-style test dummy feature for balance testing.
The dummy can be used to test PvP-like damage and stagger behavior without needing another player to stand still for repeated testing. This is useful when tuning PvP damage, stagger, counter damage, armor interaction, and hit-stop.
The dummy can also be controlled through debug actions and flat gco_* console commands, including spawning, despawning, and resetting the test dummy where those actions are exposed.
Presets and Config Tools
Goo Ruleset
The Goo Ruleset is the single canonical preset used by fresh installation and by the Apply Goo command/action. Fresh configs are first initialized through the Vanilla baseline and then receive the same Goo preset routine, preventing installation defaults from drifting away from the button/console preset.
The preset covers the complete gameplay surface described in this README: weapon-role damage/stagger/stamina, running/jump attacks, hyperarmor, hit rays/multi-target rules, movement/lunge/rotation, animation/recovery/hit-stop, block cancel/adrenaline, Counter/Sneak/Flank/Execution, Effect Apply Chance, PvP curves/stagger/knockback/blocking, armor/equipment movement/resistance, player stamina/movement/resources, enemy values, ranged/magic/summons, staff/shield behavior, building damage and UI defaults.
Apply Goo deliberately preserves Better Free Aim, Disable Weapon Particles, the user's YAML opt-in state, Debug settings and keybinds. Better Free Aim, Disable Weapon Particles, Debug settings and keybinds are client-local; the YAML opt-in is preserved by the preset but is host-authoritative in multiplayer. The detailed values in the weapon/system sections above are the actual final Goo defaults, not a list of 2.0.1 changes.
Reset to Vanilla
Reset to Vanilla is the canonical no-op/native baseline used both by the full reset and by scoped per-function/per-weapon reset actions. It restores ordinary native settings where GCO has a corresponding native behavior, turns off Goo-added mechanics such as Flank/negative stamina/alternate damage curves, and disables mod-added Running/Jump/alternate movesets without erasing their stored custom values.
Important examples: global attack rotation returns to 1x; the known native-zero secondaries (1H Sword, 2H Sword, 2H Axe, 1H Axe) keep local 0x; Effect Apply Chance returns to 1x; new player Walk/Jog/Sprint settings return to 1x; new config entries created during migration use these Vanilla values rather than Goo values. Debug settings are preserved. YAML runtime application is disabled by the full Vanilla reset, but YAML files are not deleted.
Scoped Reset This Function to Vanilla and Reset This Weapon Type to Vanilla actions call the same canonical reset logic and then restore unrelated branches, avoiding separate hand-maintained default tables.
In-Game Console Commands
Goo's Combat Overhaul includes flat gco_* console commands so settings can be inspected and changed in game without relying only on a configuration manager. The command layout is intentionally flat because Valheim's vanilla console autocomplete works best with command names plus one autocomplete argument.
Common command forms include:
gco_get_<Branch> <Feature>
gco_set_<Branch> <Feature> <Value>
gco_reset_<Branch> <Feature>
gco_list_<Branch> [FeatureFilter]
gco_applypreset <goo|vanilla>
gco_applypreset_<Branch> <Feature>
gco_run_<Branch> <ActionFeature>
gco_save
Examples:
gco_set_2HSwords destruction_Primary1_DamageToBuildings 0.75
gco_get_2HSwords destruction_Primary1_DamageToBuildings
gco_set_Debug CombatDebugMode true
gco_set_Debug VerboseDebugLogging true
gco_run_Debug pvpDummy_Spawn
gco_applypreset goo
gco_applypreset_2HSwords destruction_Primary1_DamageToBuildings
gco_list_2HSwords destruction
Weapon and tool branches use readable names such as 2HSwords, 2HAxes, 1HSwords, 1HAxes, DualAxes, Maces, Pickaxes, Bows, and Crossbows. Feature names use underscores to compress deeper config paths into one autocomplete-friendly argument. Numeric values are typed manually; boolean, enum, and key-style values may be suggested where Valheim's console supports them.
Preset commands intentionally do not alter the Debug section. Branch-specific preset commands are available for non-Debug branches only.
Every bound config entry has both a compact primary command path and an exact full-path fallback under the All branch. Runnable one-shot actions are exposed through gco_run_*, including Goo/Vanilla preset actions, PvP dummy spawning/removal, debug flight, no-placement-cost, ghost mode, debug healing, and adding Rested. Startup audits verify both config-entry reachability and action reachability.
Config Change Broadcasts
Config change broadcasts are multiplayer disclosure messages with a [GCO] prefix. They are meant to make visible gameplay-impacting GCO changes easier to notice in chat. This helps everyone see when gameplay-impacting settings have changed without relying on guesswork.
The UI and Icons config section includes Broadcast Config Changes. Goo's Ruleset keeps ongoing broadcasts off by default. Turning the broadcast setting off still sends one final disclosure message before suppression begins, so other players can see that future GCO config-change messages will be hidden.
Presets are announced as a single summary instead of spamming every internal config write.
Multiplayer Notes
GCO separates host-authoritative synchronized gameplay, host-authoritative YAML profiles, and client-local preferences.
Gameplay config synchronization is provided by ConditionalConfigSync (CCS). GCO automatically registers gameplay settings as server-controlled; host/server values become effective for guests in memory, guest config files are never rewritten by the host, and each guest's own saved values become effective again when server authority is removed.
YAML profiles are synchronized through CCS as a host-authoritative custom value. The host's validated exact-prefab profiles are authoritative for the multiplayer session, but guest YAML files are not overwritten. Reloading the host profile bundle republishes only the synchronized YAML state.
Better Free Aim and Disable Weapon Particles are intentionally client-local and excluded from host gameplay sync. Debug settings and keybinds are also client-local. CCS handles configuration authority and late-join synchronization; current YAML schema is 5.
Installation
Install with a Valheim mod manager such as r2modman or Thunderstore Mod Manager, or manually place the compiled plugin into your BepInEx plugins folder.
Required dependencies:
denikson-BepInExPack_Valheim-5.4.2350(BepInEx 5.4.23.5)shudnal-ConditionalConfigSync-1.0.6
Version 2.0.1 is updated for the Valheim 1.0 code/API line.
Configuration
GCO's generated BepInEx config is the authoritative category/ruleset configuration. Fresh configs use the canonical Goo Ruleset. On an older-version migration, compatible saved values are inherited, each genuinely new setting starts from its Reset-to-Vanilla value, and an individual malformed/unparseable entry falls back by itself instead of replacing the whole config. Multiplayer gameplay synchronization is handled automatically through CCS; there is no GCO Sync Config in Multiplayer toggle. If the stored config version already equals the current 2.0.1, startup performs no config-file rewrite/save.
The config is organized by global systems and readable weapon-family subtrees. Feature-application toggles let a mechanic be disabled globally or for a weapon family without deleting that family's stored tuning. Console command registration is generated from the same bound entries, and CCS sync registration uses the same canonical binding surface, so new ordinary gameplay settings do not require a second hand-maintained command/default table.
YAML weapon profiles are optional exact-prefab overlays ([Beta] Use YAML Configs). They can override applicable GCO config entries, selected native SharedData/Attack fields, and optional custom Primary/Secondary chain templates. Profile precedence applies only within a scoped weapon/attack context; the underlying category config remains unchanged. Files are loaded/reloaded by watcher/debounce rather than constant directory scans, malformed edits keep the last known-good snapshot, and generation never overwrites an existing profile. Current schema is 5.
YAML applies to applicable weapon-scoped systems such as damage/stagger/stamina, movement/lunge (including airborne lunge normalization and the running-airborne cap), animation/recovery, rotation, hit rays/multi-target, conditional damage, Effect Apply Chance, ranged/staff values and selected native fields. Truly global player locomotion settings such as Walk/Jog/Sprint rotation remain global config values rather than per-weapon profile keys.
Useful profile commands include gco_yaml_generate, gco_yaml_reload, gco_yaml_show and gco_yaml_diagnose. Apply Goo preserves the user's YAML opt-in; Reset to Vanilla disables runtime YAML application but does not delete files. GCO uses its own internal flat-YAML implementation and has no external YamlDotNet dependency.
Feedback
Feedback, bug reports, and feature requests are welcome:
https://www.reddit.com/r/ModdedValheim/comments/1toleqf/about_combat/


