Redo Changeling Identity Networking + New Objective#43673
Merged
slarticodefast merged 13 commits intospace-wizards:masterfrom Apr 26, 2026
Merged
Redo Changeling Identity Networking + New Objective#43673slarticodefast merged 13 commits intospace-wizards:masterfrom
slarticodefast merged 13 commits intospace-wizards:masterfrom
Conversation
46 tasks
|
you stole my fucking bit |
slarticodefast
requested changes
Apr 25, 2026
…ty-data-+-objective
Merged
via the queue into
space-wizards:master
with commit Apr 26, 2026
f6eeb88
11 of 12 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

About the PR
Rewrote the changeling identity networking to work a new datatype instead of a dictionary.
Made changelings unable to devour a body that has been recently devoured by another changeling (or themselves).
Open as draft because this is very reviewable, just need to clean up, add docs and add an objective using the new API.
Why / Balance
Allows for easier keeping track of unique identities and similiar without needing to track several seperate lists.
Technical details
New ChangelingIdentityData. We manually network it from Server to Client with the relevant information regarding an identity.
Then all checks are just made using that via previous or new API.
Media
2026-04-21.18-26-36.mp4
Requirements
Breaking changes
ChangelingIdentityComponentno longer raisesAfterAutoHandleStateEventon itself. The functionality has been moved to aComponentHandleStatesubscription. This also means the component is manually networked.ChangelingIdentityComponent.ConsumedIdentitiesnow uses a new data definitionChangelingIdentityDatainstead ofDictionary<EntityUid, EntityUid?>. Specific items can be retrieved using the new API.ChangelingDevourSystem.HasDevouredhas been renamed toHasIdentity.Changelog