Limit all survivors to the same limit - #12980
Open
Drulikar wants to merge 2 commits into
Open
Conversation
fira
approved these changes
Aug 24, 2026
|
|
||
| // Count all current_positions | ||
| var/exisiting_positions = 0 | ||
| for(var/other_surv_type in typesof(/datum/job/civilian/survivor)) |
Member
There was a problem hiding this comment.
other might be a misnomer if you re-count them all with typesof
Comment on lines
+37
to
+39
| if(!base_job) | ||
| stack_trace("/datum/job/civilian/survivor is not present in GLOB.RoleAuthority.roles_by_path!") | ||
| return 0 |
Member
There was a problem hiding this comment.
roles_by_path is built on typesof() so that pretty much can't happen. up to you, just my 2cents, but letting it crash on the line below is probably good enough
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About the pull request
This PR does a couple things:
set_spawn_positions(it doesn't need a retval)This means that
cmss13/code/game/jobs/job/civilians/other/survivors.dm
Lines 28 to 29 in 86fa762
is respected for all survivors such that if the population only allows 3, its only 3 (rather than 3 + 0-2). No longer should it be possible to see 10 survivors in a single round.
Explain why it's good for the game
During lowpop previously survivors could nearly double their intended count which is undesired.
Testing Photographs and Procedure
Procedure
1 normal + 1 synth (min 2) -> both spawned, one is synth1 normal + 1 synth (min 1) -> only one spawned
2 normal (min 1) -> only one spawned
2 normal (min 2) -> both spawned
2 co (min 2) -> only one spawned
1 co + 1 synth (min 2) -> both spawned, one is synth
1 co + 1 synth (min 1) -> only one spawned
(When I say min 1 I mean changing
spawn_positions = clamp((floor(count * SURVIVOR_TO_TOTAL_SPAWN_RATIO)), 2, 8)tospawn_positions = clamp((floor(count * SURVIVOR_TO_TOTAL_SPAWN_RATIO)), 1, 8))Changelog
🆑 Drathek
balance: Synth and CO survivors now respect the normal survivor limit
/:cl: