Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation for Builder selection filter doesn't align with actual ingame behaviour wrt rezzers #2595

Open
Hazy-uhyR opened this issue Feb 8, 2024 · 1 comment
Labels
Bug Something isn't working

Comments

@Hazy-uhyR
Copy link
Contributor

Description

The documentation for the Builder selection filter says:

Keep only units and buildings that can construct. This means Factories, Construction Turrets, Constructors, but not Rezzers.

https://beyond-all-reason.github.io/spring/articles/select-command/#builder
https://github.com/beyond-all-reason/spring/blob/ad559f63f963019d6f1c05aa8c0ed7d3ec905aff/doc/site/articles/select-command.markdown?plain=1#L61C3-L61C127

The actual filter looks for "builder = true" in the UnitDefs, and rezzers have that flag.

https://github.com/beyond-all-reason/spring/blob/ad559f63f963019d6f1c05aa8c0ed7d3ec905aff/rts/Game/UI/SelectionKeyHandler.cpp#L114
https://github.com/beyond-all-reason/spring/blob/ad559f63f963019d6f1c05aa8c0ed7d3ec905aff/rts/Sim/Units/UnitDef.h#L63

Possible solutions:

  1. The documentation is changed.
  2. Rezzers lose their builder flags.
  3. The filter gets changed so that it excludes rezzers.

Advantages of changing documentation: It is simpler and easier to do. Current in-game behaviour would not be changed. Can still have a filter that includes both cons and rezzers.
Advantage of rezzers losing builder flag: It makes sense, since rezzers don't actually build anything.
Advantage of changing the filter: Filter would sorta make more sense, while rezzers get to keep their builder flags.

Any further advantages/disadvantages?

I am leaning towards just changing the documentation. Simplest, easiest, doesn't change any current ingame behaviors. I will try to apply that change if no-one has any objections within a week or so.

Expected Behaviour

The documentation aligns with ingame behaviour.

Actual Behaviour

It doesn't.

Reproduction steps

Apply gridkeys key preset. Build a rezbot and a con and have them idle. Note that ctrl-tab cycles through both of them. Ctrl-tab bind:
bind Ctrl+tab select AllMap+_Builder_Idle+_ClearSelection_SelectOne+

Other

No response

@Hazy-uhyR Hazy-uhyR added the Bug Something isn't working label Feb 8, 2024
@SethDGamre
Copy link
Collaborator

builder = true has to stay in the unitdef. Without it, no reclaiming, repairing or rezzing can take place.
Documentation change sounds like the way to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants