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

Refactor job assignment code to improve job distribution variety #18879

Merged
merged 10 commits into from May 16, 2024

Conversation

Sovexe
Copy link
Contributor

@Sovexe Sovexe commented May 13, 2024

About the PR

  • Changes job assignment to be player preference driven rather than attempting to fill out each role in a random order
  • refactors a lot of duplicated garbage into a single massive trash pile
  • moves some globals/global logic to the job_controls datum, mostly just to reduce the number of pointlessly global procs

Why's this needed?

  • The current job assignment system attempts to randomly fill out a role entirely before going onto the next. This means that we'd often get entirely full roles while others were empty, despite both roles being equally desired by players

Changelog

(u)Sovexe
(*)Refactored job assignment code. Jobs variety should improve overall. Unless this change breaks everything.

@Sovexe Sovexe added C-Bug A bug that impacts usage of a feature C-Code-Quality Cleans up code, refactors things to be more readable or intuitive C-Experimental Involves changes that are a WIP and will require testing, feedback, and additional modification. C-Rework Reworks a feature A-Internal Deals with major internal, generally non-player facing code - e.g. types A-Respawning Deals with (re)spawning of mobs. Roundstart, latejoin, events... labels May 13, 2024
@github-actions github-actions bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 13, 2024
@goonstation-issuebot goonstation-issuebot added the S-Testmerged [Dev Only] Testmerged for extended testing (applied by bot) label May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Internal Deals with major internal, generally non-player facing code - e.g. types A-Respawning Deals with (re)spawning of mobs. Roundstart, latejoin, events... C-Bug A bug that impacts usage of a feature C-Code-Quality Cleans up code, refactors things to be more readable or intuitive C-Experimental Involves changes that are a WIP and will require testing, feedback, and additional modification. C-Rework Reworks a feature size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants