* What sitting on code does to a branch + no mo owner v2
* Replacing ViewVariables with AutoNetworkedField + Missed One V2
* Removing Virtual Methods & Renaming ForensicsSystem to SharedForensicsSystem (Also made it abstract) V2
* IProduceWidgets Review Changes & some of my own V2
* Lil Cleanup V2
* Part 1 of Review Changes (Only thing left is the BUI stuff and the constructor) V2
* It now WORKS!!! (Still needs the BUI and constuctor changes, ill figure it out later)
* Test (Removal of ServerSide VomitSystem.cs)
* Ok...
* Moved System BloodstreamSystem.cs to SharedBloodstreamSystem.cs & deleted client BloodStreamSystem.cs to make SharedBloodstreamSystem.cs sealed. (No Unregistered errors)
* Prediction
* Fix?
* No mo log error?
* Revert "No mo log error?"
This reverts commit 50c15a3deab6af9dffd7baed45820bae5558e41f.
* Constructor going up
* No ForensicScannerBoundUserInterface.cs (It doesnt wanna scan anymore but it doesnt crash)
* For Conflicts
* Guh
* Yea
* Organization & no ErrorHell (maybe)
* Dirtying
* Dirtying take 2
* Revert "Dirtying take 2"
This reverts commit 5735012e21f43808db3ae010fce268eac24d0583.
* the dirties dont do much here
* For Conflict
* Readded
* Another Conflict Commit Fix
* Conflict Fix Thrice
* Empty Space
* Keep it simple
* Add it back in
* Move BloodstreamSystem stuff thats causing the error back to system. This'll prob fix the conflict
* Conflict fix?
* Trust the fix
* Looked at other prediction PR's, they had better code.
* To not mix up the system in client
* Removing Conflict
* For conflict
* For the conflic fix, will be removed later
* Scuffed Fix
* Removal & Adding the Decouple
* Took some HEAVY pointers from SirWarocks work. The Roadblock has been CLEARED, DOAFTERS WORK NOW!!
* Cleanup & Optimizing, mostly comps.
* More Optimization, most of this is just imported Warock Code, his QOL included. Did not want to remove SolutionDNA's tho, mostly due to a Log.Debug in OnPrint.
* Forgot that the Print Refreshes, more of Warocks work.
* Removing Loc.GetString
* All of BloodStream to Shared, hopefully no errors.
* Sketchy Dirty Removed
* Removed Timer.Spawn, added FrameUpdate cause anything else only updated when the window opened, & a bit of cleanup.
* No mo Mispredict
* GenerateDnaEvent Predicted
* Forgot the user
* I knew it was real, bloodstutter is REAL and now GONE.
* Cant dirty NewEntityBloodData due to potential stutter, so its safer to put it all back into server. again...
* Clearer
* Thank you leahcat, no more identity leak.
* Routine Maintenance
* sealing the class
* it checks for this now?!
* While im here, FileScope Namespaces & removing unused namespaces
* Update Attribute Type (SirWarock Import), it works and is much easier to read.
* Forever Fixing Conflicts
* Readonly Genocide & Partial Maxing
* LGTM, BloodstreamSystem moved to SharedBloodstreamSystem!
* Sohn
* If OG Github back push this commit
* One Billionth Commit Fix
* Removed client/server stuff
* Made implicit
* NewLine & comment on why AutoGenCompState is true
* Updatin the rest of the Popups to use Entity
* I think that's what they meant? It looks cleaner at least.
* Mass Attribute for LocalEvents that are safe to change.
* Putting it back as abstract
* maybe?
* Guhh, rolling back empty client/server of BloodStream
* Removed Client/Server BloodstreamSystems, changed access modifier from protected to private, & renamed SharedBloodstreamSystem to BloodstreamSystem
* From Protected to Private
* Removed comment & made it explicit on what changed to true
* Guh, hopefully thats all of it...
* Forgot
* Review
* Test Push
* Line 316 in SharedForensicsSystem was causing the errors, better to play it safe
* Review Changes
* Update Content.Shared/Forensics/Events.cs
Co-authored-by: Whatstone <166147148+whatston3@users.noreply.github.com>
* The only thing SolutionDNAs does is search and clears itself. I see no reason to keep it
* The print.disabled didnt properly disable when cleared. So ill just use the old if check
* Figured out the rest of the SubscribeLocalEvents and networking BloodData cause its fully in Shared
---------
Co-authored-by: Whatstone <166147148+whatston3@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>
* add sounds
* change _active to BurningComponent
* play sound when lighting and snuffing a cigar
* network it
* mono
* attribution
* doc
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fire extinguishers now put out candles
This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.
Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.
Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.
* Extinguishing items is now relayed to held/worn items
This means held candles get extinguished too.
Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.
* Add helper functions for subscribing to relayed events.
Use these in FlammableSystem
* Make extinguishers work on cigarettes too
A bunch of renaming to make the rest of my code work with SmokableComponent
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem
* guap
* More fixes
* Wait you can do that?
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class
* Switches over to the Solutions.Solution Solution
* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions
* Switches over to the Containers.XYZ namespace
* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods
* Start using SolutionSystem for Solution manipulation
* EnumerateSolutions
* Move TryGetMixableSolution
* Move EnsureSolution to Server
* Create Solution Entities
* Stop using obsolete solution system methods
* Fix prototype component tests
* Add using ..Audio.Systems; back
* Wrap solution container slots in ContainerSlots
* Actually add the slot to the solution container map
* Dirty SolutionContainerComponent when ensuring solutions
* Revert namespace changes
* Remerge SolutionSystem and SolutionContainerSystem
* SolutionContainerManagerComponent refactor
* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release
* Readd examine reagent sorting
* Fix errors
* Poke tests
* Fix solution names not being applied
* Fix WoolyComponent including statement
* Fix merge skew
* Fix compile errors
* Make reactions use solntities
* Reindent solution class namespace
* Field attribute changes
* AutoGenerateComponentState for SolutionContainerComponent
* SolutionContainerComponent -> ContainedSolutionComponent
* ref ReactionAttemptEvent
* Denetwork preinit solutions
* Misc 1
* Nullable TryGetSolution out vars
* Cache associated solutions
* Fix merge skew
* Use explicit regions in SharedSolutionContainerSystem.Capabilities
* Add debug assert
* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent
* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName
* SolutionComponent doc comments
* Implicit DataField names and property purge
* ReagentEffect DataField names
* Local variables for readability
* Sort using statements + Entity<T> event handlers
* Fix compile erros
* Fix compile errors
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.
* actually compiles
* Remove commented out code
* funny bracket
* Move archived moles, temperature from GasMixture to TileAtmosphere.
* WIP customizable map default mixture
still VERY buggy
* broken mess
aaaaaaaaaaaaa
* Fix lattice, etc not being considered space
* visualization for "IsSpace"
* help
* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Holy SHIT it compiles AGAIN
* Fix AtmosDeviceSystem crash at shutdown
* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.
* Use space instead of gasmixture immutable for heat capacity calculations
* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.
* Fix roundstart tiles not processing
* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs
Changed Files tab is so large I can't commit both suggestions at once mfw
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Convert StomachBehavior to a component/system + rejig body namespaces
* test
* slightly more namespace changes
* remove
* Hello?????
* fuck you github test runner
* reviews
* oobsy!
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list