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

Add specialist checkbox #82

Closed

Conversation

augenfrosch
Copy link
Contributor

Adds a specialist checkbox to the crafter stats display and one for each class in the stats edit window.

Toggling the checkbox adds/subtracts the stat bonus to/from each stat and enables/disables the specialist actions from being used by the solver. The stat and action selection changes are handled by the UI, i.e. specialist status is not passed to the solver to preserve the current functionality.
The action selection change is implemented as a kind of mask, meaning that the user selection of which of the specialist actions may be used are not forgotten when deselecting specialist. Additionally, in the stats edit window, the "Copy to all" button copies the base stats (without specialist bonus stats) to all other classes and not the specialist status.

Caveats:

  • Specialist action checkboxes are disabled when the current class is not a specialist. This may confuse the user if they don't recognise the actions' names. With the way egui handles disabled elements, it seems impossible to add text to appear when hovering over the checkboxes which would have allowed to clarify the need to enable specialist for the class
  • The way in which the "Copy to all" button behaves with these changes is kind of unintuitive. I chose this behaviour since I expect it to be the most useful, because I would expect the button to be used when updating the stats for new gear. In this case, it would not make sense to copy specialist status and bonus stats, especially since it is not possible to have more than three classes as specialist at once
  • While the CrafterConfig crafter config struct can be deserialised from an older version without issue, a user must manually enable the specialist status for the relevant classes and readjust the stats after doing so

The addition of specialist checkboxes was previously requested and briefly discussed on the Discord server, with a tendentially negative evaluation on its usefulness when implemented in this way. I hope my way of implementing it, i.e. limiting the logic to the UI while keeping old functionality intact, alleviates most concerns with this approach. At the very least, this implementation can be used to test how this approach may effect the user's experience.

Preview:

specialist-checkbox-clip.mp4

@KonaeAkira KonaeAkira closed this Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants