-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Overhaul event mob selection #13710
Overhaul event mob selection #13710
Conversation
Create the SSghost_spawns subsystem which serves as the subsystem for polling candidates for a special role. On the outside it works the same as /proc/pollCandidates but unifies everything so that event mob candidacies are a consistent experience
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Objection.
Converting all "first come first served" ghost roles (e.g. terrors) to polling-based is not acceptable.
IIRC the reason some roles are first come first serve is because they quickly need a controller. Like if a terror spider spawns and doesn't do anything for 30 seconds because the poll is running, it might very well die before a player is picked. Does your system address that? |
That can be changed with a bit more code, unless its simply not wanted at all that terrors be polled. For example, poll ghosts X number of seconds before a spiderling is about to turn into a terror, and then the ghost can be put in control of the spider instantly. |
My main pet peeve with terror spider selection was that the only way (if I remember correctly) to take control is to click on a link in the chat. The problem with that is that you can easily miss the line and by the time you click, someone would have already clicked. |
Steelslayer:
dearmochi: |
I feel like we've had this discussion several times, but I'm still not convinced Terror Spiders should be first come first serve as long as the issues with polling can be solved. It is ultimately a very unfair system. |
With terror spiders polling may happen for example 30 seconds before spiderling transforms (watching spiderling instead of game just to play it is weird design) |
You can make proper tick boxes in your PR description
|
Ultimately I consider the goal of this PR to streamline (and improve) the polling process both visually and internally. However I'd like to address the points you've made to @SteelSlayer :
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some first initial stuff. Haven't checked the logic much yet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few very minor thing
@Kyep I'd like to (re-)direct your attention to the comment I've written in response to the points you've made to SteelSlayer. I believe that removing the first-come first-served basis on terror spider assignment would alleviate a lot of frustration that ghosts may have during a terror spider event for virtually no downsides. One could argue that the RNG element of polling is a negative, but it's precisely intended to make selection fairer and not just restrict it to the fastest ones. I haven't made anything related to that change as of yet - terror spider selection still operates the way it did before. All I would like is a definite yes or no from you based on my arguments before deciding if it should be part of the PR's scope. If it's a no, I'll remove it from the scope and submit my PR for review |
I know I had a voicechat discussion with Kyep regarding terror spiders. Pretty much I think we agreed that as long as (astute) players have a couple of second to manually click on a new spider to get into it before the icon for the polling shows up, and as long as the polling differentiates between the different spider types then it should be okay. Total poll time SHOULD be adjustable on a per type basis also. For example, spiders should have a low (10 seconds?) poll time, while others like ERT should have a longer one like 30sec-2min. @Kyep - Feel free to correct me, it was pretty late when we talked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved - so long as it doesn't affect terrors (or incorrectly say that it does).
There are some useful tweaks here, like showing the timer, that make the UI nicer to use.
I know I'm a bit late to the party, but I'd like it if the new mob selection system played a sound as well, so alt-tabbed ghosts would have some other indication that roles were available other than the byond icon flashing. |
One the requested changes are integrated, this can be merged. |
Package repositories are dead, travis failing is not your fault. Remind me in 1 hour to re-run. |
To-do List
/proc/pollCandidates
calls to new subsystem proc/proc/pollCandidatesWithVeto
What Does This PR Do
ghost_spawns
subsystem which serves as the subsystem for polling candidates for a special role. On the outside it works the same as/proc/pollCandidates
but unifies everything so that event mob candidacies are a consistent experience.SSghost_spawns.poll_candidates
, an alert is shown in the top-right corner of the screen to all ghosts with a timer. Clicking that alert signs the player up as a candidateWhy It's Good For The Game
Images of changes
-> ->
Alert gets a white outline when the player signs up for the poll. Time text turns red when there are less than 10 seconds left
Poll stacking in action - polls stack if they have the same question and role. Clicking an alert with stacked polls signs the player up for all of them
Changelog
🆑
tweak: Overhaul event mob selection to make it more consistent, more intuitive and less frustrating
/:cl: