0ad/source
wraitii 6a66fb8205 Chasing fix - ignore the target's obstruction to avoid colliding with it.
Units movement is currently "all or nothing". This means that a chasing
entity that moves fast enough is likely to collide with its target, if
the latter is moving also. This means that it might fail to get in range
if the max range is smaller than the movement speed over a turn.
This happens to be very much the case in MP, as cavalry range is 4,
melee cav speed is ~20 and turns are 500ms.

This problem depends on which unit moves first (i.e. which unit is
lowest-ID).

To fix this, ignore the obstruction of the target, if it is moving, when
moving. This however means sometimes chasers will 'overshoot' and block
their target pathing, making the chase easier than it probably should
be.
Fleeing units don't suffer from this problem since they also ignore
their target (and their code handles it).

This new problem introduced in this diff is heavily dependent on the
exact speeds and ranges at play, and a further diff will improve the
situation to acceptable levels.

Reported by: FeldFeld
Refs #5936

Differential Revision: https://code.wildfiregames.com/D3482
This was SVN commit r24798.
2021-01-27 17:44:31 +00:00
..
collada Fix compiler warnings on VS 2015, refs #3439, refs #5069. 2018-03-10 09:58:53 +00:00
graphics Reduces shadow biases for landscape shaders. 2021-01-23 19:40:58 +00:00
gui Fix 3872ee43b5 and 768c84aa46 2021-01-18 12:16:27 +00:00
i18n Replaces UNICODE characters in the code by consistent ASCII characters. 2021-01-15 10:07:36 +00:00
lib Replaces UNICODE characters in the code by consistent ASCII characters. 2021-01-15 10:07:36 +00:00
lobby Limit possibility of brute force attacks when guessing password 2021-01-26 20:20:48 +00:00
maths Further header & precompiled cleanup, fix no-PCH builds. 2020-12-09 14:39:14 +00:00
mocks More FreeBSD build fixes. 2012-01-30 06:21:11 +00:00
network Limit possibility of brute force attacks when guessing password 2021-01-26 20:20:48 +00:00
pch Further header & precompiled cleanup, fix no-PCH builds. 2020-12-09 14:39:14 +00:00
ps Allows to override GL version for SDL. 2021-01-22 19:40:02 +00:00
renderer Removes useless transparent pass before the water for lowest settings since the water is opaque there. 2021-01-21 22:38:11 +00:00
rlinterface Address concerns in 5473393e30 (RL interface) 2021-01-15 16:30:05 +00:00
scriptinterface Address concerns in 5473393e30 (RL interface) 2021-01-15 16:30:05 +00:00
simulation2 Chasing fix - ignore the target's obstruction to avoid colliding with it. 2021-01-27 17:44:31 +00:00
soundmanager Fix audio leak that resulted in openAL errors after a while. 2021-01-22 12:50:05 +00:00
third_party Optimization for include resolving in PreprocessorWrapper. 2021-01-20 23:05:15 +00:00
tools Update bundle dist tools 2021-01-22 12:53:54 +00:00
main.cpp Address concerns in 5473393e30 (RL interface) 2021-01-15 16:30:05 +00:00
test_setup.cpp Fix windows SEH hook when crashing in an std::thread 2021-01-10 08:39:54 +00:00