beyond-all-reason / beyond-all-reason/RecoilEngine

Keychains with mixed select and unit commands do not work properly with triple repetition

Open
#2,976 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

I tried to do

```
bind sc_p,sc_p,sc_p select AllMap++_ClearSelection_SelectNum_0+
bind sc_p,sc_p wait
bind sc_p select AllMap+_Waiting_Builder+_ClearSelection_SelectAll+
```

i.e. select all waiting builders with the first press, unwait them with the second press, and then deselect all on the third press.

However, when you actually try to use this, is that the first two presses work correctly, and then it just ignores the third one and waits all builders again.

I tried a few different combinations of commands and I think this mainly happens if you put a unit action in the "middle" keypress, if the third one is a "select", that will never work.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue with the three binds shown in the report, then trace the keychain repetition handling for sequences mixing select and unit commands. Focus on why the third press replays the waiting action instead of executing the final select. Done means the first press selects waiting builders, the second unwaits them, and the third deselects all without repeating the wait.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.