[FIX] Lowered weapon shooting fix for HL2. #408
+167
−136
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Almost all shooting weapons uses
CBaseHLCombatWeapon
as a base. Lowering system coded in there. But the Attack code are inCBaseCombatWeapon
instead. And lowered weapon, that should not fire, still fires, becauseCBaseCombatWeapon
class dont know is weapon lowered or not.I fixed it by moving SERVERSIDE m_bLowered and m_flRaiseTime from
CBaseHLCombatWeapon
toCBaseCombatWeapon
. I think this way of fixing this bug is ok, because even thoCBaseCombatWeapon
doesnt to do any calculations and checks for lowering weapon, it still have Lower() and CanLower() functions. They just always return false. To prevent anything bad happening for weapons that doesn't use lowering system, i didn't change this functions.Also i manually fixed it in shotgun. There is their own Attack code.