* change solution from 1u max to 600u max
* Added in a helper method to BloodstreamSystem to account for changing the BloodRefreshAmount. Added datafield to ZombieComponent to store the original BloodRefreshAmount on UnZombify. Added a tag 'CannotRegainBlood', that applies in Bloodstream's TryModifyBloodLevel, to account for Saline or other reagents directly modifying blood level.
* we properly use a bool this time and not a tag
* should probably remove a tag that's unused. makes sense why test failed
* remove the tag causing the errors. i forgot the second spot.
* remove unneeded reference to TagSystem, scale new BloodReferenceSolution to the previous MaxVolume
* set the hardcoded 600 back to a 1 for scaling purposes
* removed MetabolizerComponent from organs of zombies during Zombify
* 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>
* stub
* Revert "stub"
This reverts commit c1204b88d3ae1bbdca2deeb075a9dd0d6c529326.
* PoC
* As a successful member of society with a stable unflinching psyche and limitless drive, natural affinity for finance and domination, you have been selected, no, you have been effortlessly guided by divine (biological) trauma towards this moment. The gates of destiny fling open, and once again you're left standing on pulsating nothingness. A strobing headache of the soul.
* i feel bad
* Revert "PoC"
This reverts commit fafafac77f9cbd62497376c70e078e0155cb7ef6.
---------
Co-authored-by: nomdéraisonnablementlong <you@example.com>
* initial visual nubody
* oops overlay
* im so pheeming rn
* conversion...
* tests
* comeback of the underwear
* oops eyes
* blabbl
* zeds
* yaml linted
* search and visible count constraints
* reordering
* preserve previously selected markings colors
* fix test
* some ui niceties
* ordering
* make DB changes backwards-compatible/downgrade-friendly
* fix things again
* fix migration
* vulpkanin markings limit increase
* wrapping
* code cleanup and more code cleanup and more code cleanup and more code cleanup and
* fix slop ports
* better sampling API
* make filter work + use the method i made for its intended purpose
* fix test fails real quick
* magic mirror cleanup, remove TODO
* don't 0-init the organ profile data
* remove deltastates
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Creates TemperatureDamageThresholdsComponent
* Obsolete TemperatureComponent fields
* Use TemperatureDamageThresholdsComponent
Moves all the uses of the relocated TemperatureComponent fields to use the TDTC versions
* Removes the obsolete TemperatureComponent fields
* Update YAML definitions
* Update doc comments
* Split TemperatureSystem
Creates TemperatureDamageSystem and moves the damage handling from TemperatureSystem
* Cull unused using statements
* Use component-based damage tick scheduling
* Fix temperature damage processing
Check was inverted resulting in things never starting to take temperature damage
* Poke tests
* Add TemperatureDamageThresholds to new prototypes
* Move TemperatureDamageThresholdsComponent to Shared
Parity with TemperatureComponent
* While I'm here
Fixes warning regarding obsolete ProtoId validator attribute
* Fix YAML errors
* Fix merge errors
* Rename TemperatureDamageThresholdsComponent -> TemperatureDamageComponent
* Use ContentHelpers.RoundToLevels for temperature alerts
* Fix YML
* A fuckton of cleanup
* working cleanup
* fix
* misc additions
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* merged chemical into bloodstream
* changed injectable to bloodstream
* separated bleeding and direct blood removal
* removed blood gain from protein
* reduced blood gain from saline
* rejuvenating fills to reference volume
* fixed blood regulation
* red mead requires stirring to make
* reverted accidental line deletion
* cleared the skeletons from the closet
* additional routing
* field rename for xeno
* removed mention of chemstream and field rename for asteroid mobs
* minor optimizations
* Revert "reduced blood gain from saline"
This reverts commit de26fd1c0d99f3019fe7dd1451a50230cc90f058.
* Revert "removed blood gain from protein"
This reverts commit 7a1648caf39fe26406db73c2a5afa389b82c612f.
* removed unused component fetch
* dead check mini refactor
* eventized blood exclusion
* quick fix
* Pain
* Commit of doom
* COMMIT
* renamed bloodMaxFactor to MaxVolumeFactor
* addressed floating point error
* returned vomiting chemicals
* blood reagent always skips the flush
* no need to mention blood reagent
* fixed passing blood flush
* adadsafasfasfassfasf
* whoops
* merge fixed injectors
* Revert "adadsafasfasfassfasf"
This reverts commit 0a5313a68dd6484d36d28d08930c76851b72ae38.
* simplify reagent removal
* enabled foreign blood transfusion
* Revert "COMMIT"
This reverts commit 19abd679cd7761ebd47bb242bd644176a3006a42.
* simplified reagent removal when modifying blood level
* removed misleading coment since the changes
* documented MetabolismExclusionEvent
* fixed negative negative modification of blood level
* fixed hypervolemia not normalizing
* constrainted blood modification
* returned bloodpack stop on fully healed
* forgot to stage this
* band aid for diona blood
* swapping GetReagent with GetPrototype
* optimize blood filtering
* multiplicative multi reagent blood level calculation
* removed unused stuff
* optimized blood calculation a tiny bit
* added per reagent blood regulation
* optimized (referenceVolume + bloodReagents) into referenceSolution
* polished coded to proper function
* forgot to stage rootable system change
* clean up, unnecessary GetBloodLevel call
* rename method name to TryAddToBloodstream instead of Chemicals
* placed overfill safety
* cleanup and final touches
* final touch
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Update DamageableSystem to modern standards
* DamageContainerId -> DamageContainerID with lint flag
* Replace strings with protoids
* Make CVar subscription declarations all consistently whitespaced
* ChangeDamage -> TryChangeDamage, cope with C# jank
* Revert event signature changes
* Restore a comment
* Re-add two queries
* Init the queries
* Use appearanceQuery in DamageChanged
* Use damageableQuery in TryChangeDamage
* Use damageableQuery in SetDamageModifierSetId
* Final cleanup, fix sandboxing
* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage
* Re-organize DamageableSystem
* first big fuck you breaking change.
* THATS A LOT OF DAMAGE!!!
* Fix test fails
* test fixes 2
* push it
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* LOCKED THE FUCK IN
* Forgot this little fella
* Crying
* All entity effects ported, needs cleanup still
* Commit
* HEHEHEHAW
* Shelve for now
* fixe
* Big
* First big chunk of changes
* Big if true
* Commit
* IT BUILDS!!!
* Fix LINTER fails
* Cleanup
* Scale working, cut down on some evil code
* Delete old Entity Effects
* Accidentally breaking shit by fixing bugs
* Fix a bunch of effects not working
* Fix reagent thresholds
* Update damage
* Wait don't change the gas metabolisms A
* Cleanup
* more fixes
* Eh
* Misc fixes and jank
* Remove two things, add bullshit, change condition to inverted
* Remove unused "Shared" system structure
* Namespace fix
* merge conflicts/cleanup
* More fixes
* Guidebook text begins
* Shelve
* Push
* More shit to push
* Fix
* Fix merg conflicts
* BLOOD FOR THE BLOOD GOD!!!
* Mild cleanup and lists
* Fix localization and comments
* Shuffle localization around a bit.
* All done?
* Nearly everything
* Is this the end?
* Whoops forgot to remove that TODO
* Get rid of some warnings for good measure...
* It's done
* Should make those virtual in case we want to override them tbqh...
* Update Content.Shared/EntityEffects/Effects/Botany/PlantAttributes/PlantDestroySeeds.cs
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
* Fix test fails real
* Add to codeowners
* Documentation to everything
* Forgot to push whoops
* Standardize Condition names
* Fix up metabolism a little as a treat
* review
* add IsServer checks
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
* crossing the pond
* share some station records
* share some criminal records
* single system
* comments
* minor touchups
* I always forget this part
* requested changes
* revert predicted spawn
* requested changes
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
* I did it right
* Update Content.Server/Zombies/ZombieSystem.Transform.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Extracts magic strings from Tag calls
When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!
* Adds missing libraries
* Remove not yet implemented TagSystem changes
* Fix tag spelling error
Genuinely surprised there was only 1!
* Styling and proper type changes
* Styling
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* cloning refactor
* cleanup and fixes
* don't pick from 0
* give dwarves the correct species
* fix dna and bloodstream reagent data cloning
* don't copy helmets
* be less redundant
* 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
* Syndicate thief, spy, medic
* Fixes description for nukies
* update description for uplink
* Implement the radial menu
* forgot these were necessary to push lol
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Do not wake up NPC if there is still a mind attached.
This became apparent with diona nymphs (?) and slime gyras (?). This caused players that disconnected while a nymph, gyras or other npc to resume their NPC behavior. Which I would call unwanted. This fixes that.
* Zombies become AI anyway
* Update Content.Server/NPC/Systems/NPCSystem.cs
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix hotkey
* Fix container changes
* oop
* Fix multi-pulling
* Move alerts cleanup.
* pulling fixes
* move faction prototype to shared
* move faction exception and member stuff to shared
* fix breaking changes for random stuff
* move pettable friend stuff to shared
* mostly fix
* final fixy
* dragonops
* final fixy II
* use querys and fix warpspeed fish (probably)
* fixer
* Rrrr!
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix reptilians pulling after being zombiefied
Now being zombefied removes ability to pull objects, regardless of if
the entity could pull without using their hands.
Fix#23043
* Apply changes from review