[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
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
🆑