Skip to content

Conversation

@wgetJane
Copy link
Contributor

@wgetJane wgetJane commented Jan 9, 2026

Description

fixes ValveSoftware/Source-1-Games/issues/2486
fixes ValveSoftware/Source-1-Games/issues/4556

what this pr does is it performs a second line-of-sight check from a little bit above where the explosion is
(the offset used is the player stair step height that maps are built for)

image

this only works if the explosion is close to the ground specifically so that this fix won't affect the game's balance,
because otherwise soldiers would be able to deal splash damage against targets on higher ground by simply shooting at the edge of the ledge from below, which would let soldiers be able to deny high ground extremely easily

image

note:
another pr exists with an alternative solution: #1273

however, i think its solution (and other similar solutions) would be a pretty significant buff for the soldier and demo's ability to defend chokes such as doorways, which they're already extremely good at

image

it's really only splashbugs on the ground that players actually complain about, so i don't think it's worth changing splash behaviour around corners horizontally since it would just open a big can of worms


unfixed:

splashbug_unfixed.mp4

fixed:

splashbug_fixed.mp4

UTIL_TraceLine( vecSrc, vecSpot, MASK_RADIUS_DAMAGE, &filterSelf, &tr );
}

NDebugOverlay::Line( tr.startpos, tr.endpos, 255, 0, 0, true, 3 );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep these as a convar

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, would be useful i guess

@Ashetf2
Copy link

Ashetf2 commented Jan 10, 2026

Could you test with more complex surfaces, like round pillars?

@wgetJane
Copy link
Contributor Author

wgetJane commented Jan 10, 2026

Could you test with more complex surfaces, like round pillars?

i've tested with various geometry across multiple maps in typical splashbug spots

round pillars wouldn't do anything special, again this just performs a 2nd LoS check from a raised position from the ground

the fix from this pr does NOT let explosions go around corners, and this is a deliberate choice because that would otherwise buff soldier and demoman

the entire point of this fix is solely just to stop small steps on the ground from blocking explosion damage, nothing else

@JoriKos
Copy link
Contributor

JoriKos commented Jan 11, 2026

Would this affect Sentry Busters and ducking behind certain geometry? Most common example is the crate on Mannhattan next to the big tank, with the Sentry Buster being in front of the crate and the Engi behind the crate.

@wgetJane
Copy link
Contributor Author

wgetJane commented Jan 11, 2026

Would this affect Sentry Busters and ducking behind certain geometry? Most common example is the crate on Mannhattan next to the big tank, with the Sentry Buster being in front of the crate and the Engi behind the crate.

no, sentry busters don't use this kind of radius damage:

https://github.com/ValveSoftware/source-sdk-2013/blob/master/src/game/server/tf/bot/behavior/missions/tf_bot_mission_suicide_bomber.cpp#L341

also again, this pr only affects explosions that happen less than 18 units from the ground and the new LoS check will not go over obstacles that are more than 18 units tall

you can tell if something is less than 18 units tall in tf2 because you will automatically step onto them without having to jump

if you have to jump over something, then it is not affected by this pr

@mastercoms
Copy link
Contributor

I still do feel like wood beams on walls and other errant geometry does block explosions at lot of times, and those are still bad cases.

@wgetJane
Copy link
Contributor Author

I still do feel like wood beams on walls and other errant geometry does block explosions at lot of times, and those are still bad cases.

i think splashbugs on walls is a lot less common vs splashbugs on the ground, and im not really sure of a clean way to fix them without significantly affecting balance

the same trick of checking how far from the surface the explosion is could be used but it's going to be more complicated, you'd need to check more directions than just downwards

stuff sticking out of walls like wood beams don't seem to have a standard max length unlike stair steps, and mapper intention kind of feels a lot less clear about what shouldn't be causing splashbugs

here's a bunch i could find in cp_process:

20260112110641_1
20260112110802_1
20260112110929_1
20260112111009_1
20260112111154_1
20260112111315_1
20260112111713_1
20260112111808_1

i have a feeling that different people would disagree on which of these should count or not, im not really sure about the general community opinion about non-floor splashbugs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

5 participants