Skip to content

Survivors now grant half a larva on permadeath but no extra on burst - #13037

Open
Drulikar wants to merge 8 commits into
cmss13-devs:masterfrom
Drulikar:survivor_larva_on_permadeath
Open

Survivors now grant half a larva on permadeath but no extra on burst#13037
Drulikar wants to merge 8 commits into
cmss13-devs:masterfrom
Drulikar:survivor_larva_on_permadeath

Conversation

@Drulikar

@Drulikar Drulikar commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

About the pull request

This PR does the following:

  • Survivors now grant 0.5 larva (using a config value) on perma death if they aren't a chestburst and the round_time is under 1 hour
  • Survivors no longer can grant extra larva on burst
  • Set default config for extra nested bursts to 0.5 to match live server config
  • Fixed the issurvivorjob define not accounting for CO survivor
  • Fixed chestbursting and gibbing not triggering the undefib signal
  • Unified all the different send signals of COMSIG_HUMAN_SET_UNDEFIBBABLE to one helper proc
  • Role authority now sets up survivor jobs just based on type rather than hardcoded to 3 different survivor jobs
  • Added a survivor spawner to USS runtime just for testing

I wanted to reduce the number of stored_larva based on how many survivors spawned, but if all xeno slots are filled you'd have 0 stored_larva to take away, and being in a stored_larva deficit would be kinda silly. Also survivors aren't in the precount so its not like I can take away xeno slots either and I would rather not change that aspect too.

Explain why it's good for the game

Currently we are seeing survivors have a massive impact on initial xeno population if a majority end up captured. This should make it where whether they get capped or not has less of a variable impact (old range was either 0 or 1.5 larva per survivor on death, now its 0.5 or 1.0 per survivor on death). Also, tying permadeath to additional larva gives more incentive for survivors to actually survive (at least for the first hour) and should punish xenos less for engaging them but failing to capture them.

Testing Photographs and Procedure

Screenshots & Videos Tested spawning as xeno -> Job is xenomorph (despite faction being survivor) so doesn't use the new survivor logic checking for death so no larva on death (should have chest burst set anyways) image

Tested spawning as survivor, getting infected, killed, and embryo expires -> grants death partial larva
Tested spawning as survivor, getting infected, killed, and embryo bursts -> grants no death partial larva
Tested spawning as survivor, getting infected, killed, and embryo is already larva (but not auto bursted yet) when perma'd -> grants no death partial larva
Tested spawning as survivor, getting infected, killed, permas, and embryo incorrectly expires later somehow (extended its TOD check) -> grants death partial larva (enters into grant_larva_on_embryo_delete signal handler)
Tested spawning as survivor, getting infected, killed, permas, and embryo incorrectly matures into larva later somehow (extended its TOD check) -> grants no death partial larva (enters into grant_larva_on_embryo_delete signal handler but early returns on the chestburst check)
image

Changelog

🆑 Drathek
balance: Survivors no longer grant extra bursts on nested capture but grant 0.5 larva on permadeath (if they didn't chestburst and its within the first hour of the round)
code: Role authority now sets up survivors in a loop based on type rather than hardcoded for each kind of survivor job
code: All previous calls to send COMSIG_HUMAN_SET_UNDEFIBBABLE now utilize a helper proc set_undefibbable instead
config: Default config for nested extra bursts set to the value live has it at
fix: Fixed chestbursting and gibbing not triggering the undefib signal
fix: Fixed the issurvivorjob define not considering a CO survivor job (shouldn't change any behavior since orbit menu would fallback to faction_group)
maptweak: Added a survivor spawner to USS runtime so its possible to spawn as a normal survivor there
/:cl:

@Drulikar
Drulikar requested a review from Nanu308 as a code owner August 27, 2026 07:23
@github-project-automation github-project-automation Bot moved this to Awaiting Review in Review Backlog Aug 27, 2026
@cmss13-ci cmss13-ci Bot added Mapping did you remember to save in tgm format? Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Config drag and drop Fix Fix one bug, make ten more size/M Denotes a PR that changes 50-199 lines, ignoring generated files. labels Aug 27, 2026
@Drulikar Drulikar added the Needs Testing Need to test it on the guinea pigs (production server) label Aug 27, 2026
@Drulikar

Copy link
Copy Markdown
Contributor Author

Possible things I see needing to be done depending:

  • Do have survivors in precount (so this technically will make the marine count look larger) but take away a xeno position for every 2?
  • Push out the late join marine/xeno ratio more from 15minutes
  • Adjust the marine/xeno ratio

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Aug 29, 2026
@cm13-github

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

…_permadeath

# Conflicts:
#	code/modules/mob/living/carbon/human/death.dm
@cm13-github cm13-github removed the Merge Conflict PR can't be merged because it touched too much code label Aug 29, 2026
@cm13-github

Copy link
Copy Markdown
Contributor

Conflicts have been resolved. A maintainer will review the pull request shortly.

@antlersss

Copy link
Copy Markdown
Contributor

Code LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Config drag and drop Fix Fix one bug, make ten more Mapping did you remember to save in tgm format? Needs Testing Need to test it on the guinea pigs (production server) size/M Denotes a PR that changes 50-199 lines, ignoring generated files.

Projects

Status: Awaiting Review

Development

Successfully merging this pull request may close these issues.

3 participants