This is a very specific quirk that I discovered while testing other changes. The Gauss Gun will kill breakables, resulting in the pev->takedamage field being set to 0. The ReflectGauss member is called after this occurs, which then checks the pev->takedamage field, finds that the breakable doesn't take damage and reflects the shot.
This is a very specific quirk that I discovered while testing other changes. The Gauss Gun will kill breakables, resulting in the
pev->takedamage
field being set to0
. TheReflectGauss
member is called after this occurs, which then checks thepev->takedamage
field, finds that the breakable doesn't take damage and reflects the shot.https://github.com/SamVanheer/halflife-updated/blob/master/dlls/gauss.cpp#L400 https://github.com/SamVanheer/halflife-updated/blob/master/dlls/gauss.cpp#L407
The new override members should always ensure the intended behavior.