Skip to content

Conversation

@FaintSpeaker
Copy link
Contributor

@FaintSpeaker FaintSpeaker commented Jan 11, 2026

About the PR

Supermatter draft pr

To Do list as of 2026-01-17:

  • Light Flickering Game Rule
  • Make a variant of Mass Hallucinations Game Rule for use with Supermatter Delams
  • Extract the hallucinations on witnessing the supermatter out of SupermatterSystem
  • Reorganize SupermatterSystem partials
  • Reorganize the various thresholds out of cvars
  • Update the Supermatter Console
  • Finish documentation
  • Testing & Media recording

Ports the following PRs:

Things I did not port, or did not enable during porting

  • No supermatter sliver objective
  • No supermatter shard shaped pet (also known as "Suppy") for engineering
  • The supermatter spiders event (can only happen after delam) is not in use.
  • The supermatter changeling event (can only happen after delam) does not exist.
  • The artifact node that creates a supermatter is not implemented

General Changes and Additions

  • A new FlickeringLightsRule has been added that causes lights to blink with a percentage chance, with support for StationEvents. Ghosts are unable to Boo the lights while they are blinking.
  • The ThavenMoodUpset rule now supports optionally changing the global shared mood, as well as optionally refreshing individual moods. The current Thaven Mood Upset event has not changed.
  • A new Entity Effect has been added that refreshes a Thaven's personal moods for a specific entity.
  • A new Entity Effect has been added that applies the Ion Storm system to a specific entity.
  • The Psychological Soothing mechanic from the Supermatter has been extracted into a new pair of components and a respective EntitySystem. Now anything with PsychologicalSoothingReceiverComponent can be soothed, and anything with PsychologicalSoothingProviderComponent can be soothing. The receiver can only be soothed once per interval, and supports pausing and prediction.
  • The "Gives Hallucinations On Viewing" mechanic from the Supermatter has been extracted into a new component and respective EntitySystem. Any entity can now have the GrantComponentsOnObservationComponent, which grants any observing mobs the grant list of components once per interval. This system is predicted, and supports pausing.
  • The Variation Pass denylist is now tag-based instead of component based. This is purely because I didn't like that the variation pass was creating an active SupermatterComponent (it caused issues if I were to mark any datafields as required.)

The following changes to the supermatter have been made:

Delamination Changes

  • Delaminations are no longer hardcoded, and are now represented by prototypes. An example of a new delamination using our Glimmer system was added, but was not assigned to any of the supermatter prototypes. Delaminations can specify requirements based on Min/Max Moles, Min/Max Power, Min/Max Glimmer, and it may specify a list of Gasses and a minimum Mole count for each.
  • Delaminations are evaluated in order, and will use the first one it finds. If none are valid, a default is used. If the default delamination is not valid, it willy simply delete the supermatter on delamination without any other effects.
  • Delaminations can have any number of GameRules which will be Started at the moment of delamination. Note: These game rules are ran as-is, and as such may not always target the same map as the Delamination.
  • Delaminations can have any number of MobEffects, which will be applied to any Mobs not inside of lockers on the same map as the delamination.
  • Delaminations can have any number of SupermatterEffects, which are applied to the Supermatter that delaminates.
  • Delaminations are now event-based and are partially predicted on the client.
  • The preferred Delamination is now chosen when integrity hits 0%, instead of being updated every atmos tick after the delamination started. This means that the supermatter will no longer say "Tesla ball formation imminent" and then explode. This also means that admins and curators can use VV to edit the PreferredDelamination datafield, and it will use that delamination the next time a delamination event starts. The preferred delamination will be cleared if the supermatter subsequently recovers from delamination.

Supermatter System Changes

  • The Supermatter System has been split into a SharedSupermatterSystem and respective client/server systems.
  • The Supermatter Component uses field deltas and AfterAutoHandleStateEvent on the client to refresh client-side details, such as the sprite, lighting, and ambient sounds.
  • Ghosts examine text for the supermatter is now predicted.
  • The side effect of creating lightning when the supermatter is overcharged, or damaged, has been extracted to a new subsystem and component. This is not predicted, because lightning doesn't support prediction.
  • Redundant fields in the SupermatterComponent have been removed where possible

Why / Balance

Technical details

Media

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Breaking changes

break the supermatter curse

Changelog
🆑 Honeyed_Lemons_, Darkmajia, AftrLite, TheGrimbeeper, FaintSpeaker

  • add: The Supermatter Crystal is now available to CentComm officials in this sector.

Darkmajia and others added 29 commits January 8, 2026 08:48
…r-for-dummies

adds supermatter for dummies, written by darkmajia
…itoring-console

supermatter monitoring console + further supermatter adjustments
…ustments

supermatter processing adjustments + console fix
* my endless toil

* kicking my own ass for this
THE ENDLESS TOIL PART 2 - more supermatter adjustments, delam expansion pack
* SM Delam light flickering effect

* Paracusia notif plus fixes

* alphabetized
* SM will not get to exactly 0 gas by absorbing due to float, add epsilon to fix this

* comment

* use mathhelper.closeto

* Update SupermatterSystem.Processing.cs
…M-stationwide-destruction

Artifact can create Supermatter for station wide destruction
…es can be calculated from the mixture. Replace `absorbedGas` with using `mix` directly.
…ues calculated every frame, and fix some member names
@github-actions github-actions bot added the size/XL Over 1024 lines label Jan 11, 2026
@github-actions github-actions bot added the Changes: Audio Changes any audio files label Jan 11, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 11, 2026

RSI Diff Bot; head commit 4dbd581 merging into 454ef86
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Effects/portal.rsi

State Old New Status
portal-yellow Added

Resources/Textures/Structures/Machines/computers.rsi

State Old New Status
supermatter-0 Added
supermatter-1 Added
supermatter-2 Added
supermatter-3 Added
supermatter-4 Added
supermatter-5 Added
supermatter-6 Added
supermatter_keys Added

Resources/Textures/_Impstation/Mobs/Aliens/smspider.rsi

State Old New Status
smspider-dead Added
smspider-moving Added
smspider Added
smspideroc-moving Added
smspideroc Added

Resources/Textures/_Impstation/Objects/Misc/book.rsi

State Old New Status
smfordummies Added

Resources/Textures/_Impstation/Structures/Power/Generation/Supermatter/supermatter.rsi

State Old New Status
supermatter-glow-delam Added
supermatter-glow-emergency Added
supermatter-glow Added
supermatter-psy Added
supermatter Added

Resources/Textures/_Impstation/Structures/Power/Generation/Supermatter/supermatter_sliver.rsi

State Old New Status
icon Added

Edit: diff updated after 4dbd581

@Bonktrauma
Copy link
Contributor

Curse..

FaintSpeaker and others added 27 commits January 10, 2026 23:52
…he idea of networking or predicting anything this god forsaken system touches
… add a new GameRule entity for shuffling all moods on the station.
…s event. delamination effects are now fully prototype driven.
…w component system that can be used to grant any component to any mob observer.
…nding some extensive testing.

this commit is a little large. oh well.
…ract (server and client don't do anything differently)
…ion, some cleanup, and some improvements to documentation.
…'t think its worth it to get into that right now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: Audio Changes any audio files Changes: C# Changes any cs files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an rsi Changes: UI Changes: YML Changes any yml files size/XL Over 1024 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants