Ensure Cryopods work as effectively on species with temperature transfer values such as Vulps (#452) #944

Merged
EchoOfNothing merged 2 commits from :entities/cryopods/vulpfix into master 2026-09-26 18:14:02 +00:00
Member

Short description

Cherry pick of https://github.com/ProjectOmu/OmuStation/pull/452
This PR Fixes the issue with Cryopods not being able to effectively cool-down species with temperature transfer values such as Vulperians, Trajans due to them taking forever to be cooled down.

This PR checks if the temperature transfer is not the default value, if its not it stores the value we have and sets it to the default until we eject the body from the cryopod.

Why we need to add this

Crypods should be usable on all species with the same efficiency,
You are stuck inside a super heated/frozen liquid gel filled with air, no way your fur can protect you from that.

Media (Video/Screenshots)

Inside a pod

image

Out of a pod

image

Cold dork

image

Checklist

Ingame Changelog

🆑 Quill

  • tweak: Cryopods can now cool down insulated species like Vulpkanins as well.
<!-- Link definitions, do not edit --> [guidelines]: https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html [ruleset]: https://rules.byrdstation.space/#h.vigrxrnffwji ## Short description Cherry pick of https://github.com/ProjectOmu/OmuStation/pull/452 This PR Fixes the issue with Cryopods not being able to effectively cool-down species with temperature transfer values such as Vulperians, Trajans due to them taking forever to be cooled down. This PR checks if the temperature transfer is not the default value, if its not it stores the value we have and sets it to the default until we eject the body from the cryopod. ## Why we need to add this Crypods should be usable on all species with the same efficiency, You are stuck inside a super heated/frozen liquid gel filled with air, no way your fur can protect you from that. ## Media (Video/Screenshots) ### Inside a pod ![image](/attachments/2147ffc3-2394-432d-ba66-ad629af6c6ff) ### Out of a pod ![image](/attachments/896c648a-96e4-482b-8863-bdd0ce5e9de2) ### Cold dork ![image](/attachments/9bf5c949-c760-4998-aeb2-46433edfd99f) ## Checklist <!-- Check boxes for faster reviewing of your PR --> - [x] I do not require assistance to complete the PR. - [x] I have verified that the changes work before posting/requesting review of my PR. - [x] I have added screenshots/videos of the changes, or this PR does not change in-game mechanics. - [x] I have read the [Pull Request and Changelog Guidelines][guidelines] and [Byrd Station's Contributor Ruleset][ruleset]. ### Ingame Changelog :cl: Quill - tweak: Cryopods can now cool down insulated species like Vulpkanins as well.
Lines 13-32
@ -0,0 +10,23 @@
/// Used to handle inserting species with temperature transfer thresholds,
/// by setting their thresholds to the default
/// </summary>
private void OnInserted(EntityUid uid, CryoPodComponent cryoComp, EntInsertedIntoContainerMessage args)
{
if (args.Container.ID != cryoComp.BodyContainer.ID)
return;
if (!TryComp<TemperatureComponent>(args.Entity, out var tempComp))
return;
// Ensure we have the component, it should be already on the Entity, but just in-case.
EnsureComp<InsideCryoPodComponent>(args.Entity, out var insideComp);
// Store the original threshold or mark it as null if it's already the default
if (!MathHelper.CloseTo(tempComp.AtmosTemperatureTransferEfficiency, 0.1f, 0.01f))
{
insideComp.OriginalAtmosTemperatureTransferEfficiency = tempComp.AtmosTemperatureTransferEfficiency;
tempComp.AtmosTemperatureTransferEfficiency = 0.1f;
}
else
insideComp.OriginalAtmosTemperatureTransferEfficiency = null;
}
Owner

Doesn't work on tajaran.

Doesn't work on tajaran.
Author
Member

Ah looks like this is yet another upstream bug, I'll fix that and then PR that to omu too I guess...

Ah looks like this is yet another upstream bug, I'll fix that and then PR that to omu too I guess...
Author
Member

I've applied the same fix goob applied to vulps, instead of setting TemperatureProtection values they set the atmosTemperatureTransferEfficiency value in the Temperature component.

I've applied the same fix goob applied to vulps, instead of setting `TemperatureProtection` values they set the `atmosTemperatureTransferEfficiency` value in the `Temperature` component.
QuillTheCreature marked this conversation as resolved
@ -14,3 +14,3 @@
public EntityUid? SleepAction;
}
}
Owner

Not a PR blocker, just a nitpik, but you don't really have to commit changes that change nothing like this.

Not a PR blocker, just a nitpik, but you don't really have to commit changes that change nothing like this.
Author
Member

Yeah that's from the initial PR: https://github.com/ProjectOmu/OmuStation/pull/452/files#diff-df9c147375d11807eb42334ef2481dfcdb3c5610ae4a86d821da252a62cc8d05

I think they added a new line to the end here. Some text editors do that automatically, I'll revert that change.

Yeah that's from the initial PR: https://github.com/ProjectOmu/OmuStation/pull/452/files#diff-df9c147375d11807eb42334ef2481dfcdb3c5610ae4a86d821da252a62cc8d05 I think they added a new line to the end here. Some text editors do that automatically, I'll revert that change.
QuillTheCreature marked this conversation as resolved
QuillTheCreature force-pushed entities/cryopods/vulpfix from bc1ba9ccf6
Some checks failed
Close PRs on master / run (pull_request_target) Has been skipped
Labels: PR / labeler (pull_request_target) Successful in 1m6s
Labels: Size / size-label (pull_request_target) Failing after 1m6s
CRLF Check / CRLF Check (pull_request) Successful in 1m49s
RSI Validator / Validate RSIs (pull_request) Successful in 1m12s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m22s
YAML Linter / YAML Linter (pull_request) Successful in 7m2s
Map file schema validator / YAML map schema validator (pull_request) Successful in 7m38s
Test Packaging / Test Packaging (pull_request) Successful in 16m34s
to 0641bc5e0e
Some checks failed
Labels: Size / size-label (pull_request_target) Successful in 3s
Labels: PR / labeler (pull_request_target) Successful in 3s
CRLF Check / CRLF Check (pull_request) Successful in 42s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m0s
RSI Validator / Validate RSIs (pull_request) Successful in 1m1s
YAML Linter / YAML Linter (pull_request) Failing after 4m53s
Map file schema validator / YAML map schema validator (pull_request) Successful in 7m15s
Test Packaging / Test Packaging (pull_request) Has been cancelled
2026-09-26 16:36:34 +00:00
Compare
QuillTheCreature force-pushed entities/cryopods/vulpfix from 0641bc5e0e
Some checks failed
Labels: Size / size-label (pull_request_target) Successful in 3s
Labels: PR / labeler (pull_request_target) Successful in 3s
CRLF Check / CRLF Check (pull_request) Successful in 42s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m0s
RSI Validator / Validate RSIs (pull_request) Successful in 1m1s
YAML Linter / YAML Linter (pull_request) Failing after 4m53s
Map file schema validator / YAML map schema validator (pull_request) Successful in 7m15s
Test Packaging / Test Packaging (pull_request) Has been cancelled
to a53d30d6a7
Some checks failed
Labels: PR / labeler (pull_request_target) Successful in 9s
Labels: Size / size-label (pull_request_target) Successful in 9s
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
CRLF Check / CRLF Check (pull_request) Has been cancelled
Test Packaging / Test Packaging (pull_request) Has been cancelled
RSI Validator / Validate RSIs (pull_request) Has been cancelled
RGA schema validator / YAML RGA schema validator (pull_request) Has been cancelled
2026-09-26 16:46:33 +00:00
Compare
QuillTheCreature force-pushed entities/cryopods/vulpfix from a53d30d6a7
Some checks failed
Labels: PR / labeler (pull_request_target) Successful in 9s
Labels: Size / size-label (pull_request_target) Successful in 9s
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
CRLF Check / CRLF Check (pull_request) Has been cancelled
Test Packaging / Test Packaging (pull_request) Has been cancelled
RSI Validator / Validate RSIs (pull_request) Has been cancelled
RGA schema validator / YAML RGA schema validator (pull_request) Has been cancelled
to 13cb8479fc
All checks were successful
Labels: PR / labeler (pull_request_target) Successful in 7s
Labels: Size / size-label (pull_request_target) Successful in 6s
CRLF Check / CRLF Check (pull_request) Successful in 35s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m1s
RSI Validator / Validate RSIs (pull_request) Successful in 1m4s
Map file schema validator / YAML map schema validator (pull_request) Successful in 7m38s
YAML Linter / YAML Linter (pull_request) Successful in 7m6s
Test Packaging / Test Packaging (pull_request) Successful in 15m5s
PR Changelogs / changelog (pull_request_target) Successful in 1m21s
2026-09-26 16:47:12 +00:00
Compare
EchoOfNothing left a comment

LGTM. Thank you for your contribution!

LGTM. Thank you for your contribution!
byrdbot referenced this pull request from a commit 2026-09-26 18:15:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Byrd-Station/Byrd!944
No description provided.