[TF2] Fix various CYOAPDA/ConTracker animation bugs ("iPad cancelling") #1319
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.
This patch fixes a bug in
CTFPlayerAnimState::CheckCYOAPDAAnimtion()
that prevented the server from ever playing ConTracker animations which caused desync between client and server hitboxes.Here's a video showing some silly effects of the bug: https://youtu.be/Qgl0uRBl9_E
Before patch (server hitbox does not match client's):

After patch:

Additional changes:
Update checks that prevented certain player actions while viewing the ConTracker to instead check for actively playing ConTracker animations. This fixes wonky behavior like players being able to move/shoot while viewing the ConTracker.
Add new checks to prevent player input while viewing the ConTracker.
Remove client check preventing the quest panel from being opened while taunting.
Players are now put in third person to make it obvious when ConTracker animations are playing (and thus are unable to move/shoot).
Add ConVar
tf_cyoa_pda_animations
to control ConTracker animations.Add
IsAllowedToViewCYOAPDA()
andIsInCYOAPDAAnimation()
script functions.