AI uses better rally point placement
- AI places rally points at pathable locations. A pathable location isn't strictly required, but avoids the AI setting rally points at seemingly dumb locations. This is an addtional check on top of the existing buildability check. - AI now evaluates rally points every AssignRallyPointsInterval (default 100 ticks). Invalid rally points aren't that harmful, so no need to check them every tick. Additionally we do a rolling update so rally points for multiple locations are spread across multiple ticks to reduce any potential lag spikes.
This commit is contained in:
@@ -943,5 +943,19 @@ namespace OpenRA.Mods.Common.Traits
|
||||
/// <remarks>Path searches are not guaranteed to by symmetric,
|
||||
/// the source and target locations cannot be swapped.</remarks>
|
||||
bool PathExistsForLocomotor(Locomotor locomotor, CPos source, CPos target);
|
||||
|
||||
/// <summary>
|
||||
/// Determines if a path exists between source and target.
|
||||
/// Terrain and immovable actors are taken into account,
|
||||
/// i.e. as if <see cref="BlockedByActor.Immovable"/> was given.
|
||||
/// Implementations are permitted to only account for a subset of actors, for performance.
|
||||
/// This would apply for any actor using the given <see cref="Locomotor"/>.
|
||||
/// </summary>
|
||||
/// <remarks>Path searches are not guaranteed to by symmetric,
|
||||
/// the source and target locations cannot be swapped.
|
||||
/// If this method returns false, there is guaranteed to be no path.
|
||||
/// If it returns true, there *might* be a path.
|
||||
/// </remarks>
|
||||
bool PathMightExistForLocomotorBlockedByImmovable(Locomotor locomotor, CPos source, CPos target);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user