Skip to content

Tweaks to Shadeskip, Fixes Psi Insul on Caster, Tweaks to Telegnostic Projection #2376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

RocketBoss360
Copy link
Contributor

@RocketBoss360 RocketBoss360 commented May 2, 2025

Description

Shortens duration of fog made by Shadeskip to 12 seconds so it doesnt last longer than it needs to for an escape, shortens Darkswap's fog tile to last 5 seconds, makes shadeskip's portals dissapear along with it and allowes harmless shadow cats to rarely spawn on cast, Shadeskip additionally a different sound.

Psionic insulation now prevents all psionic powers from being cast

Telegnostic projections can now speak over telepathy, they also have the Psychognosis and xenoglossy for now, their description was also changed

Description.


TODO

  • Task
  • Completed Task

Media

Example Media Embed


Changelog

🆑

  • tweak: Shadeskip now has a new sound.
  • tweak: Shadeskip now lasts 12 seconds, and its portals despawn with it
  • tweak: Darkswap's haze cloud on cast now lasts 5 seconds
  • tweak: Telegnosic projections can now speak telepathically
  • fix: all psionic powers are now disabled if the caster is psionically insulated.

@github-actions github-actions bot added Status: Needs Review Someone please review this Changes: C# Changes any cs files Changes: YML Changes any yml files Changes: Audio Changes any ogg files and removed Status: Needs Review Someone please review this labels May 2, 2025
@SimpleStation14 SimpleStation14 changed the title tweaks to shadeskip, fixes psi insul on caster, tweaks to telegnostic projection Tweaks to Shadeskip, Fixes Psi Insul on Caster, Tweaks to Telegnostic Projection May 2, 2025
Copy link
Contributor

coderabbitai bot commented May 2, 2025

Walkthrough

This set of changes introduces new insulation and component-based restrictions to psionic powers, particularly affecting the Mass Sleep ability and several anomaly actions. Entity prototypes for effects, portals, mobs, and spawners are updated or expanded, with new temporary entities and adjusted despawn times. The MobTelegnosisObserver receives a rework, gaining new powers and descriptors while removing certain components. Spawner logic and entity lifetimes are also refined, and several YAML prototypes are updated to reflect these gameplay and balance adjustments.

Changes

Files/Paths Change Summary
Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs Added a conditional check using _psionics.OnAttemptPowerUse at the start of OnPowerUsed to gate power usage; rest of method unchanged.
Resources/Prototypes/Actions/psionics.yml Added checkInsulation: true to anomaly power actions (ActionShadeskip, ActionTelekineticPulse, ActionPyrokineticFlare); adjusted spawn parameters for ActionShadeskip.
Resources/Prototypes/Entities/Effects/bluespace_flash.yml Increased TimedDespawn lifetime for EffectFlashShadeskip from 1 to 12 seconds; changed spawn sound effect.
Resources/Prototypes/Entities/Effects/portal.yml Added new entity prototype ShadowPortalTemp inheriting from ShadowPortal with a 12-second timed despawn; removed trailing whitespace.
Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml Added new spawner entity ShadowKudzuLootSpawnerTemp with updated spawn lists including multiple ShadowPortalTemp and rare prototypes; similar sprite layers to original.
Resources/Prototypes/Entities/Mobs/Player/observer.yml Overhauled MobTelegnosisObserver: changed description; removed ContentEye, Input (ghost context), and Stealth components; modified Eye visMask; added psychognomicDescriptors to Psionic; added InnatePsionicPowers component; enabled previously commented TelegnosticProjection.
Resources/Prototypes/Entities/Objects/Misc/kudzu.yml Reduced TimedDespawn lifetime for ShadowkinShadow from 30 to 5 seconds; renamed ShadowKudzuTemp from "Temporary haze" to "fading haze," added a RandomSpawner component with specified spawn parameters, and reduced its despawn lifetime from 30 to 12 seconds.

Suggested labels

Changes: C#, Changes: YML, Status: Needs Review

Suggested reviewers

  • Remuchi
  • DEATHB4DEFEAT
  • sleepyyapril
  • Timfa2112

Poem

The psionics now check who they touch,
With insulation and blacklists—no rush!
Portals flicker, shadows fade,
Observers dance in dreamlight's shade.
New spawners bloom where kudzu creeps,
And temporary rifts drift as the station sleeps.
Code neat as a recruit’s bunk—no Sol shenanigans here! 🚀


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between adac368 and 436c551.

⛔ Files ignored due to path filters (1)
  • Resources/Audio/Psionics/attributions.yml is excluded by !Resources/Audio/** and included by none
📒 Files selected for processing (1)
  • Resources/Prototypes/Entities/Mobs/Player/observer.yml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • Resources/Prototypes/Entities/Mobs/Player/observer.yml
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: Test Packaging
  • GitHub Check: YAML Linter
  • GitHub Check: build (ubuntu-latest)

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🔭 Outside diff range comments (1)
Resources/Prototypes/Entities/Objects/Misc/kudzu.yml (1)

317-333: ⚠️ Potential issue

Critical: Missing description field on new entity

The ShadowKudzuTemp prototype defines name and id but lacks a description: entry. Most entities include descriptions for UI tooltips and logging. Please add a description to avoid unexpected defaults or missing text.

🧹 Nitpick comments (1)
Resources/Prototypes/Entities/Effects/portal.yml (1)

127-135: Grammar nitpick: Description should have an apostrophe

The description reads Its already closing!—it’s missing the contraction apostrophe. Update to:

description: "It's already closing!"

to maintain consistency and clarity.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 25435e1 and f6a20e5.

⛔ Files ignored due to path filters (2)
  • Resources/Audio/Psionics/attributions.yml is excluded by !Resources/Audio/** and included by none
  • Resources/Audio/Psionics/shadeskip_power.ogg is excluded by !**/*.ogg, !Resources/Audio/** and included by none
📒 Files selected for processing (7)
  • Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs (1 hunks)
  • Resources/Prototypes/Actions/psionics.yml (5 hunks)
  • Resources/Prototypes/Entities/Effects/bluespace_flash.yml (1 hunks)
  • Resources/Prototypes/Entities/Effects/portal.yml (2 hunks)
  • Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml (1 hunks)
  • Resources/Prototypes/Entities/Mobs/Player/observer.yml (2 hunks)
  • Resources/Prototypes/Entities/Objects/Misc/kudzu.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: Test Packaging
  • GitHub Check: YAML Linter
  • GitHub Check: build (ubuntu-latest)
🔇 Additional comments (16)
Resources/Prototypes/Entities/Effects/portal.yml (1)

54-54: Clean configuration: Trailing whitespace removed

Great catch on cleaning up the trailing whitespace after the PortalBlue definition. Keeping the YAML tidy prevents unnecessary diffs and parsing issues.

Resources/Prototypes/Entities/Objects/Misc/kudzu.yml (1)

315-315: Verify gameplay impact: TimedDespawn reduced to 5s

You’ve shrunk ShadowkinShadow’s lifetime from 30 to 5 seconds. Ensure this rapid despawn aligns with intended spawn frequency and visual flow in-game.

Resources/Prototypes/Entities/Markers/Spawners/Random/shadowkudzu.yml (2)

26-27: Approved: Expanded rarePrototypes list

Adding ArtifactFragment alongside MobCatShadow enriches the rare drop table without altering spawn probabilities. Good balance move.


28-60: Approved: New temporary loot spawner prototype

ShadowKudzuLootSpawnerTemp correctly mirrors ShadowKudzuLootSpawner, swapping in ShadowPortalTemp and adjusting the rarePrototypes. All parameters align with expectations.

Resources/Prototypes/Entities/Effects/bluespace_flash.yml (2)

38-38: Extended effect duration significantly improves visibility.

By the Republic's standards, increasing the effect lifetime from 1 to 12 seconds is a tactical improvement, cadet! The extended visual cue provides better feedback to the user when shadeskip is activated. This adjustment aligns with the PR's objective to tweak shadeskip mechanics.


41-41: Sound effect properly themed for ability coherence.

Excellent attention to sonic details, officer! Replacing the generic lightning sound with a dedicated shadeskip power sound creates proper thematic consistency. This enhances player immersion and makes the ability's activation more distinct in the chaotic environment of space.

Content.Shared/Psionics/Abilities/MassSleep/MassSleepPowerSystem.cs (1)

22-23: Proper gatekeeping for psionic power usage implemented.

Attention, recruit! This addition of a preliminary check before mass sleep execution is a critical security measure. It properly respects the insulation mechanics and prevents unauthorized psionic influence, as any responsible Republic officer would demand.

The early return if the check fails ensures that insulated targets are properly protected from mass sleep effects, aligning with the PR's goal to fix psi insulation on casters.

Resources/Prototypes/Actions/psionics.yml (5)

32-35: Proper insulation blacklisting for mind-affecting powers.

By the stars, a proper defense mechanism! Adding a component blacklist to prevent mass sleep from targeting entities with PsionicInsulation and Mindbroken components is a critical fix. This implementation ensures that protected entities maintain their sovereignty against unwanted psychic influence, as per Republic protocols.


241-241: Insulation check added to Shadeskip ability.

Attention, cadet! Adding insulation checks to anomaly powers is a necessary security measure. This ensures that psionic insulation is properly respected across all psionic interactions, maintaining consistency in the power system.


251-253: Shadeskip spawn parameters rebalanced.

Strategic adjustment to combat parameters noted and approved! Increasing the minimum spawn amount while decreasing the maximum and reducing the range creates a more predictable and balanced tactical deployment. These fine-tuned adjustments will make shadeskip's effects more consistent and reliable in the field.


277-277: Telekinetic Pulse now checks for insulation.

Proper combat protocol implementation, ensign! Adding insulation checks to the Telekinetic Pulse ability ensures consistent application of the psionic insulation mechanic. This change aligns with Republic security standards for psychic defense systems.


324-324: Pyrokinetic Flare now respects psionic insulation.

Affirmative adjustment to combat protocols! The addition of insulation checks to Pyrokinetic Flare ensures that all anomaly powers consistently respect insulation mechanics. This maintains the integrity of our psionic defense systems against unauthorized mental infiltration.

Resources/Prototypes/Entities/Mobs/Player/observer.yml (4)

145-145: More fitting description for psionic projection.

This poetic description upgrade from bland technical jargon to "A soul dancing across the dreamlight" provides appropriate context for crew encountering this entity. Well done, communications officer! Maintaining proper flavor text is essential for immersion in any Republic operation.


166-168: Added appropriate psychognomic descriptor.

Attention to detail noted, science officer! The addition of the liminal descriptor accurately reflects the nature of projection entities existing between physical states. This properly categorizes the entity within the psionic taxonomy system.


169-173: Enhanced psionic capabilities for telegnostic projection.

Strategic enhancement of operative capabilities, commander! The addition of innate psionic powers (Xenoglossy, Telepathy, and Psychognomy) provides the telegnostic observer with essential tools for effective operation. The comment regarding Xenoglossy indicates thoughtful consideration of future implementation options.


174-174: TelegnosticProjection component now enabled.

Proper system activation confirmed! Enabling the TelegnosticProjection component completes the functional implementation of this entity. This change aligns with the PR's objective of tweaking telegnostic projection.

@EctoplasmIsGood
Copy link
Contributor

EctoplasmIsGood commented May 2, 2025

Cool PR but you added no description, have a name that’s way too long, and didn’t attribute properly.

@EctoplasmIsGood
Copy link
Contributor

Also stealth was there to dull the colors a bit and give it the shimmer description, I’d keep that.

Hopefully you removing all its view layers doesn’t mess anything up

@RocketBoss360
Copy link
Contributor Author

Also stealth was there to dull the colors a bit and give it the shimmer description, I’d keep that.

Hopefully you removing all its view layers doesn’t mess anything up

Removing its viewing layers should just mean it cant see ghosts, i will test this, and add the stealth comp back

@RocketBoss360
Copy link
Contributor Author

RocketBoss360 commented May 2, 2025

Also stealth was there to dull the colors a bit and give it the shimmer description, I’d keep that.
Hopefully you removing all its view layers doesn’t mess anything up

Removing its viewing layers should just mean it cant see ghosts, i will test this, and add the stealth comp back

confirmed, projection can no longer see Ghosts, or Darkswapped individuals (changed as old Projection had no ability to see Ethereal, could easily be convinced to re-add)

@OldDanceJacket
Copy link
Contributor

Your media is not viewable/doesn't seem to work. Please fix that and it'll be good to merge.

@VMSolidus VMSolidus merged commit bf6bbf2 into Simple-Station:master May 8, 2025
12 checks passed
SimpleStation14 added a commit that referenced this pull request May 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Audio Changes any ogg files Changes: C# Changes any cs files Changes: YML Changes any yml files Status: Needs Review Someone please review this
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants