* ready
* oop forgot the HUD stuff
* woooo examinable generalized tooooo
* oop I forgot to rename the files
* bungled the merge, I guess
* this is called hubris
* Verin's comments
* PR comments
how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?
also changed a few spots to my beloved
```
functionInvocation(
one
param
per
line
)
```
```
* Satiation effect condition now with ADDED FUNCTIONALITY?? :o
* tfw you trust the markov chain recommendation because long generic type names are tough q-q
* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH
* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.
* centralize satiation constants
* other small comments
* The enum is dead.
But at what cost?
* oop
* like 12 more ooperses
* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor
* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)
* serialization has bested me :agony:
also PR comments
* never trust the auto merge :agony:
* literally just this
* force engine back to master because idk why it's different
* fix randomness and update master
* submodule fuckery
* fall before my might
* okay I ran the linter, ARE YOU HAPPY??
* cursed ovis, trouble me no more
* protoman stuff
* inb4 linter bonks me
* break non-critical stuff from the main satiation proto
* 
inb4 this breaks something somewhere lmao
* my two greatest PRs COLLIDE
I wonder why robust says it's changed :hmmclueless
* sanity is at an all-time low
* serialization, I guess
* I don't believe you
* field deltas on class \w*satiation\w*components
* PR comments
* 我做泥團子 😔
* doc + kill one property that's trivially accessible after the threshold caching changes
* fixes
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* part 1
* second pass
* final fix
* last fix i swear
* an even bigger genius
* regex missed this
* should be all of em?
* oops
* yeah
* Revert "should be all of em?"
This reverts commit 4dd54d1b9a76977b4cf8d6008358e4dacdee6eb1.
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Mind Role Entities wip
* headrev count fix
* silicon stuff, cleanup
* exclusive antag config, cleanup
* jobroleadd overwerite
* logging stuff
* MindHasRole cleanup, admin log stuff
* last second cleanup
* ocd
* minor cleanup
* remove createdTime datafield
* now actually using the event replacement I made for role time tracking
* weh
* prevent borgs from using locks
* e
* bru
* a
* blacklist borgs and robotics console
* frogro
* add IsAllowed to EntityWhitelistSystem
* use IsAllowed
* move thing to new LockingWhitelistSystem
* :trollface:
* review
* use renamed CheckBoth in locking whitelist
* remove unused stuff and add more to doc
* Use target entity instead to remove self check
* Rename to _whitelistSystem
* Add deny lock toggle popup
* Prevent duplicate checks and popups
* Fix wrong entity in popup when toggling another borg
* Make new event
* Update comment to user for new event
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>