Always snap to grid
See also JumpSpot (UT)
The JumpSpot actor seems to be used in UT2003 primarily as a destination for jumps which normal pathnode-to-pathnode navigation can't handle. This includes translocations if the "jump" is too far for the bot to jump normally. In UT2003 the bots seem to be quite intelligent about not performing jumps that will send them falling (probably to their deaths), and instead will translocate, if possible, or just ignore the special jump pathing if not.
- When set to true, bots will not attempt to use the ShieldGun to boost themselves to the JumpSpot
- When true, bots will not attempt the jump while in low-grav conditions
- When true, bots will only use the JumpSpot as a destination for translocating to, not for any other form of jump
- I belive this is the z offset between where the JumpSpot is and where the bots should aim their translocator targets, use with caution and only if bots are missing their translocator throws.
Birelli: After reviewing Steve Polge's AI article (listing it below), I think the TranslocZOffset description was slightly off (and potentially quite destructive).
Notes for mapping
The best way to get bots to utilize JumpSpots in a map appears to be to set it as the destination of a ForcedPath property of another NavigationPoint actor. That is to say, if you want to get bots to transloc/hammer jump/whatever, put a JumpSpot at the destination of the jump, and at the origination of the jump place a NavigationPoint with the properties NavigationPoint -> ForcedPaths set to as many different JumpSpots as you wish (up to four, actually).
To find the object name of the JumpSpot that is your destination point, expand Object in the actor properties window, and look at Name. Whatever is there, copy it over into the ForcedPaths list of the source PathNode.
In regards to the properties, the bNoImpactJump and bNoLowGrav are useful if the gap to be jumped across has a low ceiling over it which would cause the bots to bounce off it and land short. There aren't that many cases where you would want to set these though, as in general you can just specify bOnlyTranslocator. The situation I can forsee would be jumping off a ledge where a low-grav or impact jump would bounce off a ceiling, but a normal jump wouldn't, and the distance is large enough that bots need the JumpSpot in order to make the jump.
Most distances that can be spanned by a normal (or double) jump can be pathed just by placing two PathNodes (or any NavigationPoint for that matter, but typically PathNodes) on either side of the span, and setting up the ForcedPaths to ensure that the PathNodes are connected.
To make bots double jump to a spot, you need two actors: a JumpSpot and another path node of some sort.
- bots seem to start a double jump at the pathnode that leads to the JumpSpot, so you'll need to set it up carefully. If they are too far apart, they will perform the double jump but obviously not get to the desired spot
- set the JumpSpot's JumpDest -> bForceDoubleJump to True
- set one of the path node's NavigationPoint -> ForcedPaths to point to the JumpSpot
- Steve Polge's AI for UT2003 mappers article (JumpSpot section): http://unreal.epicgames.com/ut2ai.htm
Tarquin: I think I may have found a bug in this. If you chain several JumpSpot together, and one of them has bForceDoubleJump set to false,then bForceDoubleJump = true seems to have no effect on the earlier ones. Needs checking though