[HL2MP] Fix bots climbing on top of props they're trying to pick up
HL2MP bots sometimes end up climbing on top of props they're trying to pick up, causing them to abandon the prop. They occasionally get stuck in an infinite loop going to and from two different props trying and failing to pick them up.
For example, this video shows a bot failing to pick up 2 different props due to climbing on them (although the bot does manage to pick up one of them in the end):
https://github.com/user-attachments/assets/12933c47-46e4-4ef2-987c-a6fdb514e63b
There is existing code which makes bots jump when they're on top of a prop they're trying to pick up, but this comes after a call to CanPickupObject() which already returns false when the bot is standing on top of the prop and abandons the action. Even so, moving the code so that bots jump instead of abandoning the action seems to cause them to freeze standing on top of it, possibly because the bot is already holding down the jump key.
I'm not confident that I can make that behavior function well, so I opted to try to prevent bots from getting close enough to climb onto props in the first place.
This PR allows bots to factor a prop's bounding box radius when approaching it, adding it to its range calculations. When a bot is directly in front of its target prop and has clear LOS to it, the bot will stop moving and focus on picking it up. The bot also looks at the prop for a slightly longer duration (0.1 -> 0.3) to ensure the bot is always looking at the prop and other look targets don't interfere. If a bot still doesn't pick up the prop 3 seconds after reaching it, it will abandon the prop. This all happens so quickly that it isn't usually noticeable that they stop.
Here's a video showing this behavior:
https://github.com/user-attachments/assets/3e9621d2-a647-4c7d-9c64-7b8d5cd94977