Vinifera-Developers / Vinifera

Vinifera is a C&C: Tiberian Sun engine extension implementing new logics and fixing bugs.
GNU General Public License v3.0
44 stars 10 forks source link

[Vinifera Bug] Aircraft choose to land on water tiles if no land tiles are sufficiently close to the landing spot #907

Open MNOrac opened 1 year ago

MNOrac commented 1 year ago

First Check

Description

Aircraft will update their move order to a passable tile when they arrive at an impassible one, to allow them to land. This works most of the time, but if a map has a large body of water on it aircraft become willing to land on those impassible tiles.

From a layperson's perspective it feels like the aircraft have some sort of search range for landing spots, outside of which they just pick the tile they're on, since they return to normal behaviour once they get to water tiles a little closer to land. I'd estimate the range to be around the 20-30 tile mark, which is a lot but still falls within the bounds of normal map design.

Required Code (optional)

No response

Steps To Reproduce

Task an aircraft to fly to a water tile near shore. You'll notice that it quickly updates its target from the water tile to a ground tile instead.

Now send it to a water tile roughly 20 tiles away from any ground tiles. It will land on that tile.

Expected Behaviour

Aircraft behave as expected most of the time: If tasked to move to a water tile they will fly to the tile and then move to the nearest passable ground tile to land.

Actual Behaviour

If there are no nearby ground tiles, the aircraft will immediately land on the water tile it had been tasked to fly to.

Version

~7f58de66

Additional Context

Air units on water: airunitsonwater

A rough estimate of the distance away from land at which this behaviour starts to appear: airunitsonwater2

tomsons26 commented 1 year ago

Giving a move order over water when its landing also does this

tomsons26 commented 1 year ago

unfortunately it's the orca transport spaz out fix, _AircraftClass_Mission_Move_LAND_Is_Moving_Check_Patch