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

Disable join as xeno buried spawns when there is a queue #4502

Merged
merged 2 commits into from
Sep 30, 2023

Conversation

Drulikar
Copy link
Contributor

@Drulikar Drulikar commented Sep 25, 2023

About the pull request

This PR changes the logic of the Join as Xeno button to only offer joining as a buried larva if the last call of get_alien_candidates had no candidates. This means almost never will join as xeno offer buried spawns unless the queue was empty. Instead, hive cores ticking (basically they are the larva queue) and larva pops will be the avenue to join as a buried larva.

Also removes the ghost popup on hive surge if there is a queue. The messages ultimately wouldn't allow buried spawns regardless, but no point notifying ghosts if its not possible.

Explain why it's good for the game

Fixes #4498 and as I mentioned there, this was a possibility even before the larva queue system (when it would just randomly give larva to a ghost that's eligible rather than in time of death order). It did require you to know exactly when a stored larva is added to the hive and to be attempting join as xeno between hive core's processing windows, but since this action is hotkey-able, its pretty easy to just spam to force yourself into that window.

Testing Photographs and Procedure

Screenshots & Videos

Put screenshots and videos here with an empty line between the screenshots and the <details> tags.

Changelog

🆑 Drathek
fix: Join as xeno no longer offers buried larva spawns if there are larva queue candidates
/:cl:

@github-actions github-actions bot added the Fix Fix one bug, make ten more label Sep 25, 2023
…ey couldn't actually join, but no point notifying the disappointment)
@morrowwolf morrowwolf added this pull request to the merge queue Sep 30, 2023
Merged via the queue into cmss13-devs:master with commit 1bd5639 Sep 30, 2023
25 checks passed
cm13-github added a commit that referenced this pull request Sep 30, 2023
@Drulikar Drulikar deleted the Drathek_No_Buried_Join branch October 2, 2023 05:17
@private-tristan private-tristan mentioned this pull request Nov 17, 2023
3 tasks
github-merge-queue bot pushed a commit that referenced this pull request Nov 22, 2023
# About the pull request

Looking at the code again, #4502 is unintentionally eliminating the
buried larva grace period when there is no core. The first 30 minutes
should have a core be optional (because the hive is still being
established), but the queue requires a core (or nested bodies) to
dequeue players from the queue. So as soon as there is one player in
queue, buried spawns during the no-core grace period would be stopped.

This PR makes it so the queue will only prevent manual buried spawns
when there is a core.

# Explain why it's good for the game

Fixes a situation that needlessly hinders xeno start if the hive puts
off creating a core.

Also the logic was getting fairly complex here so the early returns
should make it more manageable.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl: Drathek
fix: Fixed buried larva spawn grace period at start of round if there is
a queue: Now join as xeno when there's a queue will only prevent buried
larva spawns if there is no core.
/:cl:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fix Fix one bug, make ten more
Projects
None yet
Development

Successfully merging this pull request may close these issues.

You can skip the larva queue
2 participants