Prevent partial smellers from detecting cloaked entities - #5557
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughSummaryVulpulkanin partial scent perception no longer detects scent markers emitted by cloaked entities. The server records cloaking state on new and merged scent markers. The client hides partial-perception markers when Notable changes
Risk areas
Guideline gapsNo concrete gap is visible from the available PR context. WalkthroughScent markers now record whether their source was cloaked when emitted or merged. Partial perceivers hide markers marked ChangesScent cloaking
Estimated code review effort: 2 (Simple) | ~10 minutes Sequence Diagram(s)sequenceDiagram
participant SourceEntity
participant ScentSystem
participant ScentMarkerComponent
participant ScentTrackingSystem
SourceEntity->>ScentSystem: Provide stealth visibility
ScentSystem->>ScentMarkerComponent: Store WasCloaked
ScentMarkerComponent->>ScentTrackingSystem: Synchronize marker state
ScentTrackingSystem->>ScentTrackingSystem: Hide marker for Partial perceivers
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Content.Shared/_Starlight/Scent/Components/ScentMarkerComponent.cs`:
- Around line 32-35: Replace the `//` comment above the public `WasCloaked`
field in `ScentMarkerComponent` with a `/// <summary>` XML documentation block
that preserves its description of whether the emitter was cloaked at emission
time.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 9ce2040e-8e9e-46ef-863c-0de5ca5d0823
📒 Files selected for processing (3)
Content.Client/_Starlight/Scent/Systems/ScentTrackingSystem.csContent.Server/_Starlight/Scent/Systems/ScentSystem.csContent.Shared/_Starlight/Scent/Components/ScentMarkerComponent.cs
|
damn coderabbit fussy over proper xml docstring summaries, it's fixed now |
|
Added missing media, ready for review |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Content.Server/_Starlight/Medical/Surgery/OrganSystem.cs`:
- Around line 76-98: Remove the functional organ implantation and extraction
changes from this PR, including the fresh component creation and removal logic
in the relevant surgery lifecycle methods. Revert these methods to their
pre-change behavior and leave the organ lifecycle work for a separate change,
keeping this PR limited to cloaked scent perception.
- Around line 76-98: Track the fresh components successfully added by each organ
during installation, rather than relying only on component types. Update
OnFunctionalOrganExtracted to remove and update only those recorded instances,
preserving pre-existing body or other-organ components; maintain the existing
EntityManager lifecycle operations and clear the tracking data after extraction.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: bb9f52e6-4439-48ac-a221-53e5a3374a58
📒 Files selected for processing (1)
Content.Server/_Starlight/Medical/Surgery/OrganSystem.cs
|
aw hell I put this on the WRONG branch, this was meant for the olfactory implant branch |
This reverts commit 6682d59.
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Content + Integration Test ResultsSummary:
Failed Tests:No failed tests ✨ Github Test Reporter by CTRF 💚 |
80bfcbb

Short description
Make partial smellers (vulpkanins) unable to detect cloaked entities using stealth.
This was an unintended feature for partial smellers.
Why we need to add this
The scent system was designed to do things like catching cloaked entities. I want scent perception to be a strong pull to the future K9 implementation.
However, giving this to vulps has presented periodic balance concerns when it comes to this.
Recently, I've noticed umbrae vampires and other cloaked antags being immediately outed by their scent trail by vulpkanin security. That's not exactly what we want out of the scent system. It's okay for the K9 to do because there's gonna be like one of them and their ability set will be limited. But for anyone to roll vulp and invalidate the entire stealth kit is unhealthy.
Media (Video/Screenshots)
2026-08-08.09-12-01.1.mp4
Checks
Changelog
🆑 Sparlight