Skip to content

Disable olfactory implant for shadekins - #5935

Open
Sparlight wants to merge 1 commit into
ss14Starlight:starlight-devfrom
Sparlight:olfactory-implant-shadekin
Open

Disable olfactory implant for shadekins#5935
Sparlight wants to merge 1 commit into
ss14Starlight:starlight-devfrom
Sparlight:olfactory-implant-shadekin

Conversation

@Sparlight

@Sparlight Sparlight commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Short description

Disables olfactory implant for shadekins.

Why we need to add this

The BUI hook was busted, and while I've fixed that, it's been brought to my attention that shadekins don't actually respirate.
Respiration - at least given the intended design of the olfactory implant - is a requirement for smelling.
Further, the scent system was designed with respiration in mind; using internals is meant to disallow partial smellers from detecting scents. Shadekins can bypass that path altogether.

Media (Video/Screenshots)

Checks

  • I do not require assistance to complete the PR.
  • Before posting/requesting review of a PR, I have verified that the changes work.
  • I have added screenshots/videos of the changes, or this PR does not change in-game mechanics.
  • I affirm that my changes are licensed under the MIT License and grant permission for use in this repository under its conditions.

Changelog

🆑 Sparlight

  • remove: Shadekins can no longer use the olfactory (smell) implant. They can't breathe to begin with.

@Sparlight
Sparlight requested a review from a team September 2, 2026 02:55
@github-actions github-actions Bot added size/S S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. Changes: No C# Changes: Prototypes S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Sep 2, 2026
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Team

Run ID: f812b63a-f708-4aa6-ad53-d4c70784233c

📥 Commits

Reviewing files that changed from the base of the PR and between cf67992 and 4dac178.

📒 Files selected for processing (2)
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/shadekin.yml
  • Resources/Prototypes/_Starlight/Surgery/surgeries.yml

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Summary

Summary

Disables nose-implant surgery for Shadekins. Both implantation and extraction now blacklist Shadekin.

This prevents Shadekins from using the olfactory implant despite not respirating. It preserves the scent system’s respiration-based restrictions.

The Shadekin prototype also adds the scent-sniffing user interface binding through ScentSniffBoundUserInterface.

Risk areas

  • Shadekins can no longer receive or remove nose implants through surgery.
  • The added UI binding may expose scent-sniffing controls even though Shadekins do not respirate. The interaction should remain consistent with the implant and scent-system restrictions.

Guideline gaps

  • The diff does not show a Starlight ownership comment.
  • The diff does not show localization changes for the added user interface binding.

Walkthrough

Shadekin now expose the scent-sniffing interface. Nose implant extraction and implantation surgeries exclude Shadekin through species blacklists.

Changes

Shadekin behavior updates

Layer / File(s) Summary
Scent-sniffing interface
Resources/Prototypes/_Starlight/Entities/Mobs/Species/shadekin.yml
BaseMobShadekin binds ScentSniffUiKey.Key to ScentSniffBoundUserInterface.
Nose implant surgery restrictions
Resources/Prototypes/_Starlight/Surgery/surgeries.yml
SurgeryExtractNoseImplant and SurgeryImplantNoseImplant add Shadekin to their species blacklists.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 4dac1

This change prevents Shadekins from receiving or extracting the olfactory implant, matching their non-respiratory design. No actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: starlighthost

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely summarizes the main change: disabling olfactory implants for shadekins.
Description check ✅ Passed The description directly explains the change and its rationale, including shadekins' lack of respiration and the scent system restrictions.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Content + Integration Test Results

Tests 📝 Passed ✅ Failed ❌ Duration ⏱️
1697 1677 0 13m 12s

🎉 No failed tests in this run.

Github Test Reporter by CTRF 💚

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

Labels

Changes: No C# Changes: Prototypes S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant