Jump to content

[Critical Bug Report] Knockback Attacks While Riding a Beefalo Can Trigger Double Damage Calculation, Instantly Killing the Mount


Jenny 05 Justic
  • Pending

 Overview:
While riding a Beefalo, certain creatures' (particularly mid-to-late game high-damage bosses) knockback/launch attacks suffer from a severe damage calculation bug. This bug causes the attack to calculate an additional instance of the raw, unmitigated damage after already applying player damage reduction. As a result, the mounted Beefalo takes more than double the intended damage. This is devastating to game balance and player experience—a high-health Beefalo can be instantly killed by an attack it should normally survive, severely undermining the viability of the mounted playstyle and making encounters with specific bosses unreasonably risky.

 

 

Core Bug Behavior:
Intended Damage = (Physical Damage × Player Damage Reduction) + Planar Damage
Bugged Damage = 【(Physical Damage × Player Damage Reduction) + Planar Damage】 + 【Physical Damage + Planar Damage】

Verified Attacks That Trigger This Bug (Partial List of High-Threat Targets):

  1. Crystal Deerclops

    • Ice Spike Throw: Intended 130, Actual 360 (+177%)
    • Melee Attack: Intended 105, Actual ~286 (+172%)
  2. Armored Bearger

    • Swipe: Intended 117.5, Actual 322.5 (+174%)
    • 2026-01-17114624.png.5bdfbfa4911888a18ad58d2cf475aa23.png
  3. W.A.R.B.O.T.

    • Ground Slam: Intended 180, Actual 410 (+128%)
  4. Celestial Scion

    • Attack: Intended 203.75, Actual 463.75 (+128%)
  5. Scrappy Werepig

    • Laser Blast: Intended 180, Actual 420 (+133%)

Key Observations:

  • The bug is strongly correlated with the "knockback/launch" effect, not all attacks trigger it.
  • Different attacks from the same creature may or may not trigger the bug (e.g., Frostjaw's Charge triggers it, Tail Swipe does not).
  • In multi-hit attacks, only the hit that causes the knockback may trigger it (e.g., Scrappy Werepig's Drill Charge).

Reason for Urgent Fix:
This bug directly targets players' heavily invested, high-stat mount Beefalo, making them abnormally vulnerable against core late-game threats. This completely contradicts the intended design of the mounting system. It severely disrupts combat balance and the expected return on resource investment, constituting a high-priority, game-breaking bug.

Attached: Detailed Test Data Table (Excerpt)
(Full data available in follow-up replies or attachments)

Creature Attack Intended Damage Bugged Actual Damage Increase
Crystal Deerclops Ice Spike Throw 130 360 +177%
Armored Bearger Swipe 117.5 322.5 +174%
W.A.R.B.O.T. Ground Slam 180 410 +128%
Celestial Scion Attack 203.75 463.75 +128%
Ripple Charge 125 325 +160%
Deadly Brightshade Counter 130 260 +100%
Frostjaw Charge 37.5 112.5 +200%
Scrappy Werepig Laser Blast 180 420 +133%

We hope the development team can investigate and fix this issue as soon as possible. Thank you!




PS:
 

"Don't Starve" Riding Beefalo Double-Damage Bug Verification Record 

No. Test Creature Attack Method Damage Composition (Physical + Planar) Physical Damage Reduction vs. Player Normal Damage Actual Test Damage to Beefalo Theoretical Bugged Damage Knockback Triggers Bug? Notes
1 Crystal Deerclops Ice Spear Throw 200 + 30 50% 130 360 360 Yes Only the attack that causes knockback triggers it
1b Crystal Deerclops Melee Attack 150 + 30 50% 105 ~286 285  Yes Knockback attack triggers it
2 Ripple Charge 150 + 50 50% 125 325 325 Yes Knockback attack triggers it
3 Rictus Bite 35 + 20 0% 55 55 110 No Knockback attack does not trigger it
4 Frostjaw Dash/Leap 75 + 0 50% 37.5 112.5 112.5 Yes Knockback attack triggers the bug
4b Frostjaw Tail Swipe 75 + 0 50% 37.5 37.5 112.5 No Knockback attack does not trigger the bug
5 Rasp Swallow 20 + 20 0% 40 40 80 No Knockback attack does not trigger it
6 Wrathful Rabbit King Flying Kick 75 + 0 0% 75 75 150 No Knockback attack does not trigger it
7 Deadly Brightshade Retaliation 100 + 30 0% 130 260 260 Yes Knockback from retaliation triggers it
8 Armored Bearger Swipe 175 + 30 50% 117.5 322.5 322.5 Yes Knockback attack triggers it
9 W.A.R.B.O.T. Ground Slam 200 + 30 25% 180 410 410  Yes (Fixed) Knockback attack triggers it
10 Celestial Scion Swipe/Charge 225 + 35 25% 203.75 463.75 463.75 Yes Knockback attack triggers it
11 Nightmare Werepig Pounce 150 + 0 50% 75 75 225 No Knockback attack does not trigger it
11b Nightmare Werepig Heavy Slam/Ground Pound 225 + 0 50% 112.5 ~112.5 337.5 No Knockback attack does not trigger it
12 Boulderbough Circular Attack 200 + 0 75% 50 50 250 No Knockback attack does not trigger it
13 Boulderbough Flat Attack 100 + 0 75% 25 25 125 No Knockback attack does not trigger it
14 Scrappy Werepig Pounce 150 + 0 50% 75 75 225 No Knockback attack does not trigger it
15 Scrappy Werepig Stick Slash 125 + 0 50% 62.5 62.5 187.5 No Knockback attack does not trigger it
16 Scrappy Werepig Drill Charge (First Hit) 100 + 0 50% 50 50 150 No Non-knockback hit, normal damage
17 Scrappy Werepig Drill Charge (Second Hit) 100 + 0 50% 50 150 150 Yes Only the second, knockback-causing hit triggers the bug
18 Scrappy Werepig Throw Trash Ball 30 + 0 0% 30 30 60 No Knockback attack does not trigger it
19 Scrappy Werepig Laser Cannon Blast 240 + 0 25% 180 420 420 Yes Knockback attack triggers it

  • Like 3
  • Big Ups 1



User Feedback


Adding onto this, with a link to a comment I made on the original thread made for this report.

 

There are a few ways to go about this to address it, but the simplest one would be to do something like what I said here:

On 1/18/2026 at 9:45 PM, hoxi said:
  • When hit while riding the Beefalo, the Beefalo also gets added to the list of hit targets along with the player, preventing the double hit on the Beefalo with potentially different damage values (if the enemy normally deals reduced damage against the player).

This would be the simplest one to implement, and keeps the current expected behavior (it'd also be the same as with single-target attacks that can cause knockback, where only the Beefalo is hit and the player is knocked off).

 

Which potentially look like changing something like this:

-- example from SGdeerclops.lua, DoIceSpikeAOE
inst.components.combat:DoAttack(v)
if shouldknockback then
	v:PushEvent("knockback", { knocker = inst, radius = TUNING.DEERCLOPS_ATTACK_RANGE })
end
data.targets[v] = true

To:

-- check for mount before attack as well, knockback could be caused by Combat:DoAttack through "onhitother" event or similar
local mount = inst.components.rider ~= nil and inst.components.rider:IsRiding() and inst.components.rider:GetMount() or nil

-- simply add mount to targets hit so it won't get hit by the next search if unlimbo'd
if mount ~= nil then
	data.targets[mount] = true
end

inst.components.combat:DoAttack(v)
if shouldknockback then
	v:PushEvent("knockback", { knocker = inst, radius = TUNING.DEERCLOPS_ATTACK_RANGE })
end
data.targets[v] = true

Or a bit more intricate, only add the mount to the target list if no longer riding it after the attack/knockback call:

-- check for mount before attack as well, knockback could be caused by DoAttack through an "onhitother" event or similar
local mount = inst.components.rider ~= nil and inst.components.rider:IsRiding() and inst.components.rider:GetMount() or nil

inst.components.combat:DoAttack(v)

if shouldknockback then
	v:PushEvent("knockback", { knocker = inst, radius = TUNING.DEERCLOPS_ATTACK_RANGE })
end
data.targets[v] = true

if mount ~= nil and inst.components.rider ~= nil and not inst.components.rider:IsRiding() then
	data.targets[mount] = true
end

 

Obviously, there's probably a more cleaner approach by refactoring some code, like by adding a redirected target through an event fired through the combat component or something (would need to be pushed immediately if done through the SG), or maybe making a global function to check for this stuff (passing the targets table to let the function add the mount entity to it), which would turn this into a single line to add for a bunch of these cases with the first suggestion.

Edited by hoxi
Small corrections
  • Like 3

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...