0ad/source/simulation2
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
..
components Chasing fix - ignore the target's obstruction to avoid colliding with it. 2021-01-27 17:44:31 +00:00
docs Replace deprecated jsval with JS::Value. 2017-08-28 10:27:36 +00:00
helpers Replaces UNICODE characters in the code by consistent ASCII characters. 2021-01-15 10:07:36 +00:00
scripting Fix 9fc6c3c897 - Set entity/template before deserializing. 2021-01-12 16:15:40 +00:00
serialization Fix NOPCH builds. 2021-01-25 11:12:11 +00:00
system Revert cf6aaf37a4, causing false OOS in visual replays. 2021-01-22 17:13:12 +00:00
tests Fix lag on OOS with AIs 2021-01-16 10:33:00 +00:00
MessageTypes.h Improve behaviour of formations stuck within other units. 2021-01-05 10:12:47 +00:00
Simulation2.cpp Add a Dev Overlay checkbox to activate RejoinTest from the session. 2020-12-17 17:53:13 +00:00
Simulation2.h Add a Dev Overlay checkbox to activate RejoinTest from the session. 2020-12-17 17:53:13 +00:00
TypeList.h Store turret positions in map files. 2020-11-11 19:40:44 +00:00