Skip to content

Let borg modules exclude other modules#43282

Open
korczoczek wants to merge 3 commits intospace-wizards:masterfrom
korczoczek:module_goes_in_the_square_hole
Open

Let borg modules exclude other modules#43282
korczoczek wants to merge 3 commits intospace-wizards:masterfrom
korczoczek:module_goes_in_the_square_hole

Conversation

@korczoczek
Copy link
Contributor

About the PR

Added functionality for borg modules to define modules they are incompatible with, as in they won't install if certain modules are already installed.

Demonstrated by making the regular laser and heavy laser modules mutually exclusive, though i will leave labeling the rest of the modules to the discretion of the xenoborg workgroup

Why / Balance

Resolves #43090
Needed functionality for restricting xenoborgs to a single weapon module only

Technical details

Added fields to BorgModuleComponent for defining what the module's type is and which types it is incompatible with
Added an extra check during module insertion to see if the chassis contains am incompatible module
Added extra examine text for modules which are incompatible with other modules
Made the Laser and Heavy Laser modules incompatible as a showcase

Media

2026-03-17.21-16-27.mp4

Requirements

Breaking changes

Changelog

@PJBot PJBot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/S Denotes a PR that changes 10-99 lines. labels Mar 17, 2026
@slarticodefast
Copy link
Member

Huh, didn't we have another PR for this already?
Let me try to find it.

Also probably should have #41586 merged first.

@korczoczek
Copy link
Contributor Author

That's strange, i could've sworn i couldn't install duplicate modules during testing, but now i'm unsure

And also too cozy under me covers to check it again

@arenaconspiracy
Copy link

arenaconspiracy commented Mar 17, 2026

Not quite a duplicate, but superceded by #42574 which achieves this and more.

Edit: nevermind, it actually NECESSITATES 2 modules of the same kind be present to swap them out, so this actually conflicts with #42574 , which achieves the opposite.

@korczoczek
Copy link
Contributor Author

I wouldn't say it conflicts with the other pr per say, as both module exclusivity and the ability to upgrade the default modules are features requested by the silicon/xenoborg workgroup

For this pr i opted to make the two laser weapon of the heavy xeno exclusive to one another, mostly because in contrast to crewborgs xenos can actually eject all their default modules from the get go.

If anything the other pr doesn't go far enough imo, the modules should switch out automatically when an "upgraded" module gets installed instead of just letting you remove the old one manually

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/S Denotes a PR that changes 10-99 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Borgs need module blacklist / whitelist

4 participants