[TF] Fix and rework Pyro bot airblast #1486
Open
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.
Description
This PR overhauls Pyro bot airblast functionality to reflect more projectiles. The previous implementation only functioned with a few projectiles and ignores other projectiles such as:
This implementation allows the Pyro bot to recognize each of the above as projectiles and deflect them. In easy and normal difficulties however, the Pyro bot only recognizes Cow Mangler Energy Balls and Rockets as deflectable projectiles.
In addition, this makes bot airblasts more responsive as the IsLineOfSightClear() seems to return false if there's a projectile in front of the Pyro. This also removes tf_bot_pyro_deflect_tolerance, as the dot product is always 0 when there's a projectile in front of the Pyro.