[IMP Port] Visitor Specific Species#1
Open
honeyed-lemons wants to merge 6 commits intosyndicate-ss14:masterfrom
Open
[IMP Port] Visitor Specific Species#1honeyed-lemons wants to merge 6 commits intosyndicate-ss14:masterfrom
honeyed-lemons wants to merge 6 commits intosyndicate-ss14:masterfrom
Conversation
…522) * Allow non-roundstart species to roll midround * Allow non-roundstart species to roll midround * oops forgot some comments * i forgot * Reimplement blacklist. i hate expression lambdas. * randomChance * add ungu (cherry picked from commit 046df23e45e19e59f453fe0f4d8aba4d85c046fe)
hivehum
previously requested changes
Mar 14, 2026
mqole
requested changes
Mar 16, 2026
| throw new ArgumentException("Could not get random humanoid settings"); | ||
|
|
||
| var profile = HumanoidCharacterProfile.Random(prototype.SpeciesBlacklist); | ||
| var profile = HumanoidCharacterProfile.Random(prototype.SpeciesBlacklist, false); // MACRO |
Contributor
There was a problem hiding this comment.
Suggested change
| var profile = HumanoidCharacterProfile.Random(prototype.SpeciesBlacklist, false); // MACRO | |
| var profile = HumanoidCharacterProfile.Random(prototype.SpeciesBlacklist, false); // MACRO, added false |
|
|
||
| // TODO: This should eventually not be a visual change only. | ||
| public static HumanoidCharacterProfile Random(HashSet<string>? ignoredSpecies = null) | ||
| // MACRO start, extensive changes. |
| // TODO: This should eventually not be a visual change only. | ||
| public static HumanoidCharacterProfile Random(HashSet<string>? ignoredSpecies = null) | ||
| // MACRO start, extensive changes. | ||
| public static HumanoidCharacterProfile Random(HashSet<string>? speciesBlacklist = null, bool? characterCreation = true) |
Contributor
There was a problem hiding this comment.
Suggested change
| public static HumanoidCharacterProfile Random(HashSet<string>? speciesBlacklist = null, bool? characterCreation = true) | |
| public static HumanoidCharacterProfile Random(HashSet<string>? speciesBlacklist = null, bool? characterCreation = true) // MACRO visitor species: add charactercreation |
|
|
||
| var species = random.Pick(prototypeManager | ||
| .EnumeratePrototypes<SpeciesPrototype>() | ||
| .Where(x => ignoredSpecies == null ? x.RoundStart : x.RoundStart && !ignoredSpecies.Contains(x.ID)) |
Contributor
There was a problem hiding this comment.
comment out instead of deleting
macro start above this line, note that its for visitor species
Comment on lines
+234
to
+235
| ) | ||
| .ID; |
| if (characterCreation == true) | ||
| return x.RoundStart; | ||
| return random.NextFloat() < x.RandomChance && x.RandomViable; | ||
| }) |
|
|
||
| return RandomWithSpecies(species); | ||
| } | ||
| // MACRO end |
Comment on lines
+110
to
+114
| /// <summary> | ||
| /// Whether or not the species is available for randomization. | ||
| /// </summary> | ||
| [DataField] | ||
| public bool RandomViable { get; private set; } |
Contributor
There was a problem hiding this comment.
name of this bool is kind of vague. what does 'randomization' mean in this context?
maybe rename or include in the comment whether or not youre talking about in game or character creation?
Contributor
|
this pr does also include breaking changes inthat species can now be toggled on or off for visitor exclusive roles i believe |
hivehum
previously requested changes
Mar 16, 2026
Contributor
hivehum
left a comment
There was a problem hiding this comment.
test message to see if i got github relay working
portfiend
added a commit
to portfiend/macrocosm
that referenced
this pull request
Mar 21, 2026
* Costume Bundles + Rearrange AutoDrobe (#1903) This PR adds "costume bundles", a storage item for full costumes in a single bag. Many items in the AutoDrobe have been replaced with their respective costume bundles. You can also equip costume bundles in loadouts. In addition, the AutoDrobe's stock has been completely rearranged, ideally to make things more intuitive. Clown / mime / musician stuff first, then costume bundles, then everything else (roughly grouped by item slot category). Halloween feature. Also, the AutoDrobe's stock was very messy and unintuitive and I felt it was good of a time as any to clean up. New base entity for costume bundles, and then individual bundle prototypes for each costume. Some non-clothing entity prototypes were given a `CostumeItem` tag to allow them to be inserted into costume bundles. Many individual items in AutoDrobe and the theatrical performance crates were replaced with bundles; ultimately, nothing should be actually "lost". Also, rearranged AutoDrobe. A new loadout category, "Costumes", with many costume bundles. You get one. Some bundles have playtime requirements - namely the jester, circus clown, and musician bundles. Added a stupid C# check to prevent a debug assert error related to attempting to set ContainerHeld's fill status before the container has been initialized. No inhands sorry I'm tired Costume bundles: <img width="744" height="616" alt="image" src="https://github.com/user-attachments/assets/2c69b214-4020-46cb-a282-284363c8bbe9" /> Loadouts: <img width="964" height="603" alt="image" src="https://github.com/user-attachments/assets/ada069de-abd6-4c91-8e7b-94628c9d07f6" /> Rearranged AutoDrobe: <details> <summary>Click to expand</summary> <img width="350" height="915" alt="image" src="https://github.com/user-attachments/assets/4c74b69c-cb17-405a-a230-5a0ce96228df" /> <img width="343" height="901" alt="image" src="https://github.com/user-attachments/assets/36ed6de4-d0c7-4c7c-aec5-e5ac4f053e7d" /> <img width="347" height="918" alt="image" src="https://github.com/user-attachments/assets/efc6072f-e503-4929-a2ae-0f43071f43ee" /> <img width="349" height="913" alt="image" src="https://github.com/user-attachments/assets/02fd95b7-e1be-4073-b119-f1125a118a4b" /> <img width="343" height="907" alt="image" src="https://github.com/user-attachments/assets/0a55bac2-4bc2-477d-94cf-e5e1ab5321f4" /> <img width="334" height="965" alt="image" src="https://github.com/user-attachments/assets/47e8d31e-6f25-4f14-9eac-ed8609d14c7f" /> </details> Theatrical Performances Crate: <img width="542" height="507" alt="image" src="https://github.com/user-attachments/assets/514e1daa-ffd6-4828-8447-8d4929e79281" /> <!-- Confirm the following by placing an X in the brackets [X]: --> - [x] I have read and am following the [Pull Request and Changelog Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html). - [x] I have added media to this PR or it does not require an ingame showcase. - [x] I have tested any changes or additions. - [x] I can confirm this PR contains no AI-generated content, and did not use any AI-generated content. <!-- You should understand that not following the above may get your PR closed at maintainer’s discretion --> Only thing is the massive restructure of AutoDrobe inventory and mild rearrangement of the contents of the theatrical performances crate - may cause annoying merge conflicts later **Changelog** :cl: - add: Many individual costume parts in the AutoDrobe and theatrical performances crate have been replaced with "costume bundles", a storage item for costume parts specifically. - tweak: The AutoDrobe's inventory has been majorly consolidated and rearranged. The items inside are sorted by clown, mime, and musician items first, then costume bundles, then everything else. - add: You can now take a costume bundle in your loadouts - find it under Items! You know, in case an occasion that necessitates bringing your own costume arises. * comment out missing costumes * out * this oen actually exists * add costume bundles to autodrobe * and then i rearranged the shit * forgot we on den lol * document costume bundles * add comment * more comments * replace StorageFill with EntityTableContainerFill * replace monkey/performer suits with bundles in theatrical performances crate * summary commment for job costumes * use StorageFillVisualizer instead of ContainerHeld * remove redundant costume icons * i ficked it
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
Port of impstation/imp-station-14#3522.
Allows species to be declared non-roundstart and still be randomly generated for vistor shuttles and random ghostroles and such
Why / Balance
Well, you see, Macrocosm is going to have species that are non roundstart yet still want to be playable in game via ghost roles. This is good i think.
Technical details
Added two new datafields to the species component and modified the Random function in HumanoidCharacterProfile fairly extensively.
Media
Does.. not really need media? I can guarantee this is tested, however.
Requirements
Breaking changes
N/A
Changelog
🆑