Group Howl Event - #5453
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:
📝 WalkthroughWalkthroughThe change adds the ChangesFull Moon Howl Event
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant FullMoonHowlRule
participant StationData
participant StationMapEntities
participant NavigationBeacons
participant MatchingRecipients
FullMoonHowlRule->>StationData: resolve target station and main grid
StationData-->>FullMoonHowlRule: return valid station data
FullMoonHowlRule->>StationMapEntities: filter entities by station map and eligible species
StationMapEntities-->>FullMoonHowlRule: return matching recipients
FullMoonHowlRule->>NavigationBeacons: find enabled beacon location
NavigationBeacons-->>FullMoonHowlRule: return beacon text or localized fallback
FullMoonHowlRule->>MatchingRecipients: send announcement and howl sound
🚥 Pre-merge checks | ✅ 5 | ❌ 3❌ Failed checks (3 warnings)
✅ 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: 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/GameTicking/Rules/FullMoonHowlRule.cs`:
- Around line 63-67: Move the eligible species out of the predicate in
FullMoonHowlRule and into a DataField collection on FullMoonHowlRuleComponent;
configure that collection with Vulpkanin and ProtoVulp in the FullMoonHowl
prototype, then have the rule check humanoid.Species against the
component-provided collection instead of hardcoded values.
In `@Resources/Locale/en-US/_Starlight/station-events/events/fullmoonhowl.ftl`:
- Line 2: Update the station-event-fullmoonhowl-default-location localization
fallback to use a location-neutral value such as “the station” instead of “Bar,”
ensuring recipients are not directed to a facility that may not exist.
🪄 Autofix (Beta)
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 (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 8f13b2c2-c79c-426d-a549-f0b18a890b43
📒 Files selected for processing (5)
Content.Server/_Starlight/GameTicking/Rules/Components/FullMoonHowlRuleComponent.csContent.Server/_Starlight/GameTicking/Rules/FullMoonHowlRule.csResources/Locale/en-US/_Starlight/station-events/events/fullmoonhowl.ftlResources/Prototypes/GameRules/events.ymlResources/Prototypes/_Starlight/GameRules/passiveevent.yml
|
This is hella cute <3 |
… to once per shift
|
as a corgi gamer I am requesting that MobCorgi and its descendants also get this :godo: |
|
I agree, any sentient canine should also get this |
…iff, etc). not borgi
…enoborgis can't howl
|
Works for borgis, vulps, protovulps, corgis, dog-based pets. It checks your InventoryComponent SpeciesID. if vulp, dog, or puppy, you get invited to the howl. This also includes xenoborgis which can't howl, unfortunately. |
|
Decided to let ghosts hear it too, for observer and admin purposes. Admins would get the event notification but not its location. |
00e332b

Short description
Adds an infrequent, calm random event that encourages all Vulpkanins, Proto-Vulpkanins, and dog-based animals to gather in a random location and howl together.
Why we need to add this
Vulp flavor, and mostly harmless. This event selects a random beacon on the station's main grid (so, excludes ATS) and sends a message to all Vulpkanins and Proto-Vulpkanins that they want to howl there. All vulps on the same map as the station's main grid will receive the message.
This is 100% vibe coded, but that doesn't mean untested.
Originally based on having the Vulpkanin/ProtoVulp species proto, but there was great demand to have it include Corgis, McGriff, etc. so I also gave the event to anyone with the DogEmotes tag. However, Borgis don't have that tag and if you give it to them, they lose a bunch of other emotes. Then I based it on the InventoryComponent Species, which basically catches all the dog-adjacent player-controllable entities, but is also not how that component is supposed to be used, so it might break in the future.Suggestion thread: https://discord.com/channels/1272545509562777621/1533226265505562784
Media (Video/Screenshots)
Checks
Changelog
🆑 Ohelig