Skip to content

Handle inverted requirements correctly and update UI - #128

Merged
portfiend merged 1 commit into
TheDenSS14:masterfrom
Dirius77:invert-traits
Aug 4, 2026
Merged

Handle inverted requirements correctly and update UI#128
portfiend merged 1 commit into
TheDenSS14:masterfrom
Dirius77:invert-traits

Conversation

@Dirius77

@Dirius77 Dirius77 commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

About the PR

Made it so that the Inverted setting in requirements applies to their CheckRequirements logic instead of just their reason text. Fixes #127

Also updated the trait UI to grey out and disable traits your requirements don't match for.

Why / Balance

Bugfix + UI Clarity

Technical details

It's a bool. Changed SetInvalid to a more generic UpdateAppearance function that handles the different appearances now.

Test plan

I used the traits from the blood PR to test this, but:
Try to select a trait you can't.
Select one you can.
Switch to a species that wouldn't be able to select that trait.
Verify that you can still UNselect it.

Media

2026-07-08_19-17-57.mp4

Requirements

  • I have read and am following the Macrocosm Pull Request Conventions.
  • I have tested this pull request and written instructions on how to test it.
  • I have added media to this PR or it does not require an in-game showcase.

Licensing

  • All code in this pull request can be licensed to MIT.
  • (OPTIONAL) I give permission to seeing this feature upstreamed to Macrocosm in the future.

Breaking changes

Changelog

@portfiend
portfiend merged commit 6febc7f into TheDenSS14:master Aug 4, 2026
16 checks passed
portfiend pushed a commit that referenced this pull request Aug 10, 2026
portfiend added a commit that referenced this pull request Aug 10, 2026
* Update README.md with new links. (#2)

* Update README.md with new links.

* Update README.md with Princess-Cheeseballs' provided links.

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>

* Removed an extra space.

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>

* Update actions_changelog_rss.py with the new domain.

* Update stylesheet.xsl

* Update SECURITY.md

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>

* fix (#14)

* Switch RT submodule to new repo (#19)

* Remove toggle action from winter coat (#24)

* i think i got them all

* minor cleanup

* init (#13)

* Bugfix: Moproach/spider solution regeneration (#41)

* moproach/spider solutions with recharge

* mop mop mop roach

* more straightforward moproach solution inheritance

* Adds temperature protection to scarves (#47)

* Adds temperature protection to scarves

* YAML conventions say specific stuff is better at the bottom

* Remove scream action, replace with emote action (#55)

* no mroe screaming

* if your angry and you know it scream with action grant! *clap clap*

* emote action is more generic now

* use flag instead

* Revert "if your angry and you know it scream with action grant! *clap clap*"

This reverts commit 7c40ee48

* screaming im screaming im screaming

* reversed oops

* Fix handheld grinders (#50)

* fix

* TEST!!!!!!!!!!

* comment

* what

* im so silly

* explosion!!!!!

* i hate tests

* those can be asserts too

* i hate tests

* Replace all uses of System.Random with IRobustRandom, resolve all System.Random warnings. (#32)

* Remove all uses of System.Random

* Use IRobustRandom in BinomialNumberSelector.Get

* Remove remaining ToolRefinableSystem S.Random inst

* Arcade sprite fixes & metadata cleanup (#40)

* arcade sprite & metadata cleanup

* 4 space meta.json

* Bring cargo order menu to the front when selecting a new item

* Bugfix: Remove infinite board dupe in television/telescreen construction graphs. (#42)

* Fix telescreen/wallmount TV dupe

* fix tagged icons

* Initial commit (#3)

* Fix blankline after games rules (#77)

Annoyed me.

* Fix illegible FileNotFoundError occurrences when git isn't in path. (#6)

* Update git_helper.py

* Update git_helper.py

* Update git_helper.py

* Make borgs not RR (#84)

* Cargo integration tests update (#18)

* Updated Cargo Integration Tests

* usings

* revert NoCargoOrderArbitrage

* unneeded ;

* .

* review requests

* review requests v2

* Move server_fans.ogg to a SoundCollection (#82)

* quieter server fans

* Restore individual parameter fields

* Document Client, Server, and Shared files in folders starting with "K". Except microwaves. (#91)

* document the entire owl

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Can cancel orders from the console you placed it on (#11)

* Make `InteractionTest` inherit from `GameTest` (#90)

* Make InteractionTest inherit from GameTest

* Convert MousetrapTest to use some GameTest features

* Document stubbed Setup method

* LoadTestMap now sets TestMap like CreateTestMap

* Maybe fix?

* Oh, derp

* Fix approval section on order labels always being "Self" (#15)

* Fixed label bug

* review request

* Add FixturesComponent to BaseWallmount (#81)

* BUI template (#57)

* Remove tasers from security locker fills (#67)

* Ambient Music fixes and tweaks (#28)

* reorganize yml

* medical and engineering marker components and mass marking

* bed

* increase cooldown

* did i leave that in

* Renames all EntitySystem "ProtoMan" instances (#100)

* Remove "ProtoMan" instances

* guess we're caching gases now

* Microoptimize Vector2i.Offset (#103)

* microopt offset
works on my machine award

* tweaks

* Fix event horizons using negative radius (#105)

Not even valid why is it NEGATIVE just use ZERO!

* Fix ItemGridPiece using invalid sprite bounds (#102)

It inverted bottom and top.

* Atmos category in the construction menu (#94)

* commit

* move on over

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>

* Space Law Revision (#1)

* Update SpaceLaw.xml

* Update SLCrimeList.xml

* Update SpaceLaw.xml to reflect AJCM-git's suggestion.

* fixed (#128)

* Directional arrow (#118)

* arrow

* yoink orginal arrow rsi

* done

* fixes

* i just learnd about ignored components

* Update Content.Client/DirectionalArrowIndicator/DirectionalArrowIndicatorComponent.cs

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* customArrows

* docs

* more docs

* teg and blue arrow

* misc

* fixes

* remove color

* imma dummy

* meta

* soon to obsolete

* class not partial

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Update RT to 277.2.0 (#138)

* Refactor RecipeManager to use LINQ and PrototypesReloaded (#49)

* small refactor RecipeManager and fix prototype reloading

* wait... why is that here?

* maybe?

* Add section to link to space-wizards PR URL to PR template (#143)

* Construction menu recipe history (#8)

* Bugfix: Fix DrawDepth subfloor gap width, add gap for mapping subfloor layers (#70)

* Hide artifact effects from spawnmenu (#149)

* [FIX] Make slices of food fill out the space where the whole food used to be instead of dropping onto the floor (#160)

* Add NU1900 to WarningsNotAsErrors (#171)

* Removed duplicate function from solutions refactor in pricing system (#164)

* Hide virtual items in cryoUI (#175)

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Add Integration test for ExpireIdCardComponent (#162)

Co-authored-by: Josh Greenslade <joshua.greenslade@onyxinsight.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>

* Remove Staff of Entrance from Magic Event Spell (#114)

* fix atmosphere system protoman

* Revert "Update README.md with new links. (#2)"

This reverts commit dffabf7.

* Revert "Switch RT submodule to new repo (#19)"

This reverts commit 1000a7b.

* Revert "Add section to link to space-wizards PR URL to PR template (#143)"

This reverts commit 48201fc.

---------

Co-authored-by: Rem <GitRem@grifton.lol>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: riccardi48 <39341154+riccardi48@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Jessica M <jessica@jessicamaybe.com>
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
Co-authored-by: Minerva <218184747+mnva0@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Kyle Tyo <akikai297@gmail.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: rumaks <me@rumaks.xyz>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: ThatGuyUSA <thatguyusa123@gmail.com>
Co-authored-by: InsoPL <lukasz.lindert@protonmail.com>
Co-authored-by: AndrewFenriz <78079974+AndrewFenriz@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Vladislav Suchkov <20380250+murolem@users.noreply.github.com>
Co-authored-by: korczoczek <danielkorczok@gmail.com>
Co-authored-by: B_Kirill <153602297+B-Kirill@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: JoshGreenslade <joshgreenslade@gmail.com>
Co-authored-by: Josh Greenslade <joshua.greenslade@onyxinsight.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Rami <ramialanbagy@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants