The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:ShootSpot
A ShootSpot is the abstract parent of actors placed in a map to tell bots a good location to shoot the ball into the enemy xBombDelivery in an xBombingRun game.
Known Subclasses[edit]
These are the subclass objects you'd place in a BombingRun map. They are identical apart from the team designation.
- BlueShootSpot (for red bots to shoot the bomb into the blue xBombDelivery)
- RedShootSpot (for blue bots to shoot the bomb into the red xBombDelivery)
Tips[edit]
- At least one ShootSpot per xBombDelivery is required for bots to run properly in the map. (i.e., without them, the bots will not attempt shoot the ball to the goal.)
- Make sure you can actually shoot the ball through the goal from your spots without resorting to tricky bank shots or shooting in mid-air.
- Bots will seek out these ShootSpots when they're low on health or are outnumbered or otherwise stressed out. So, make sure you have at least one ShootSpot close to the goal. Otherwise you'll see bots retreating from the BombDelivery to shoot at it.
- These can be used at {should that be 'as'?} "PuntSpots" too. Note that the bots will try and shoot the ball straight to the goal in an arc, regardless of any obstacles along that arc.
- Bots from either team will use the ShootSpot in a pinch. While the Red Team's bots shoot at the blue BombDelivery the Blue Team will be punting the ball the other direction from the same spot.
Suggested Custom Actor[edit]
This was suggested as a solution to get bots to shoot from a spot in mid-air.
Foxpaw: (Create) a special actor: JumpShootSpot. When touched by a pawn, it checks to see if:
- that pawn is bot controlled
- that pawn has the ball.
If those checks pass, it forces the bot to face the direction it's going to shoot the ball in, and when the bot reaches a certain radius, (smaller than it's collision radius, to give some time for the mid-air aiming) the JumpShootSpot calls the pawns weapons firecontrollers fire function and discharges the ball, all with no actual input from the bot AI! As an added advantage, this would also allow you to implement bank-shots for bots.
SuperApe: This JumpShootSpot might have to be a subclass of something other than a NavigationPoint (possibly Trigger) so that it can be placed in mid-air. On second thought, perhaps it can be a NavigationPoint if bNotBased is set to true.
Discussion[edit]
SuperApe: Refactored.