Opened 12 months ago

Last modified 12 months ago

#6820 new defect

Builders get stuck forever trying to build, if an animal can't get away from the foundation

Reported by: tuxayo Owned by:
Priority: Should Have Milestone: Alpha 27
Component: Core engine Keywords:
Cc: Patch:

Description

A special case that defeats the fix of #2347

In my case it was an aggressive animal that went to attack the builders but stopped and alternated between trying to attack and getting away respectfully to avoid messing the construction place.

Also maybe that only happens because it was at an angle.

Replay will be attached and screenshot to show the location. It was done on the last commit from the git mirror (9ca03bdb9b) https://github.com/0ad/0ad/commits/master So IIUC it was rev 27663.

This simple and short replay also stays consistent on RC1 if that can spare to pick the exact version.

Attachments (3)

2023-06-05_0002.tar.xz (5.9 KB ) - added by tuxayo 12 months ago.
replay
screenshot0054.webp (923.2 KB ) - added by tuxayo 12 months ago.
bear_loop.gif (1.7 MB ) - added by Langbart 12 months ago.

Change History (6)

by tuxayo, 12 months ago

Attachment: 2023-06-05_0002.tar.xz added

replay

by tuxayo, 12 months ago

Attachment: screenshot0054.webp added

by Langbart, 12 months ago

Attachment: bear_loop.gif added

comment:2 by wraitii, 12 months ago

Milestone: BacklogAlpha 27

Gonna put this on A27 for visibility in case someone whips out a fix, but doesn't seem like a release blocker issue.

Thanks for the detailed report. Intuitively seems like something is overpowering the fleeing order in case of this agressive unit.

comment:3 by Freagarach, 12 months ago

One can add

    if (this.GetCurrentState().split(".").includes("COMBAT"))
        return;

to UnitAI's LeaveFoundation, but I think it has to be solved more generally. (The current way of ignoring some orders means reexecuting the one the entity was already doing, hence if it receives to many orders to be ignored, it won't come past the prepare time.)

Note: See TracTickets for help on using tickets.