* Adds gibbing
* Adds adminbused absurd-damage foamblade
* Sane parts
* BaseOrgan -> BaseMechanism
* Do not do random offset on shared, fix killing oneself with click attacks
* BaseMechanism -> BaseHumanOrgan -> *stuff*
* Account for prediction, again
* Add gibbing sound
* Added bool _placeCentered to check if an entity must be placed at mouse position or center of the PlaceableSurface (+ offset) when dropped.
* private variables formatted to camel case
* Use EqualsApprox in the setter for PositionOffset
* -Changed client-side SurfaceComponent to camelCase
-Added placeCentered and positionOffset to PlaceableSurfaceComponentState
-Getter and setters for placeCentered and positionOffset client-side
* Update Content.Client/GameObjects/Components/PlaceableSurfaceComponent.cs
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Add "_" to private vars name
* Made YAML properties camelCase
* Add "_" to private vars name
* Call Dirty() when IsPlaceable,PlaceCentered and PositionOffset are changed.
* Removed Dirty() from client.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Moves ContainsReagent from SolutionContainer to Solution
GetMajorReagentId from SOlutionContainer to Solution
Makes capability checks use HasFlag
Moves Solution Color calculation from SolutionContainer to Solution
Replaces SolutionContainerCaps.NoExamine with CanExamine
Misc SolutionContainer.Capabilities yaml cleanup
* Moves IReactionEffect from server to shared
* Moves ReactionPrototype from server to shared
* Moves SolutionValidReaction from SolutionContainer to ChemicalReactionSystem
* Moves PerformReaction from SolutionContainer to ChemicalReactionSystem
* Moves CheckForReaction from SolutionContainer to ChemicalReactionSystem
* Removes unused SolutionContainer methods
* Removes now-unused GetMajorReagentId from SOlutionContainer
* ChemicalReactionSystem comments
* Replaces usage of SolutionContainer.ContainsReagent and replaces it with SolutionContainer.Solution.ContainsReagent
* ChemicalReactionSystem ProcessReactions
* Moves ExplosionReactionEffect to shared, comments out server code, TODO: figure out how to let ReactionEffects in shared do server stuff
* Fixes SolutionContainer.CheckForReaction infinite recursion
* Moves IReactionEffect and ExplosionReactionEffect back to server
* Moves ChemicalReactionSystem and ReactionPrototype back to server
* Uncomments out Explosion code
* namespace fixes
* Moves ReactionPrototype and IReactionEffect from Server to Shared
* Moves ChemicalReactionSystem from Server to Shared
* ChemicalReaction code partial rewrite
* Moves CanReact and PerformReaction to Solution
* Revert "Moves CanReact and PerformReaction to Solution"
This reverts commit bab791c3ebd0ff39d22f2610e27ca04f0d46d6b8.
* Moves ChemistrySystem from Server to Shared
* diff fix
* TODO warning
Co-authored-by: py01 <pyronetics01@gmail.com>
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]
Sorry about this, Saphire.
* Clothing & Gender fields: Add UI [FALLBACK II]
* Clothing & Gender fields: Actually apply gender
* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt
Couldn't import actual prototypes because of a change to IDs
* Clothing & Gender fields: Add innerclothingskirt field to everything
* Clothing & Gender fields: Jumpskirts now work
* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]
* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]
* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
* my IDE keeps wanting to change this so....
* Add item actions integration test, fix bug where empty item action
dict was left in SharedActionsComponent state
* bigger hotbar arrows
* nice wide hotbar pagination hitboxes
* add ability to switch hotbar loadout
via keybinds
* always highlight on drag over
of actions hotbar
* dont rely on content entity for integration test
* AvoidCollision if collided entity is the one that the character is buckled to
* Attempt to PreventCollision after the player is unbuckled but still colliding with StrapComponent
* Moved PreventCollide to the Shared script.
* Add WakeBody to keep updating the physics collision while being on a collidable strap component.
* Addressed some of metalgearsloth's suggestions:
- Made EntityBuckledTo,IsOnStrapEntityThisFrame and DontCollide not virtual
-Made EntityBuckledTo nullable
-Don't call update on Paused BuckleComponents
-Removed EntityBuckledTo variable declaration in BuckleComponent because it's not needed anymore
-Call TryUnbuckle if (!IsOnStrapEntityThisFrame && DontCollide) to set BuckledTo entity to null.
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting again :P
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Formatting
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Renamed variable EntityBuckledTo to LastEntityBuckledTo
* As per DrSmugLeaf suggestion: Added [ComponentDependency] to the Body variable.
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Cleanup surgery classes
* Add DoAfter to surgery
* Consolidate doafter, break on user and target move
* Ignore biological surgery data component on the client
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Use a stringbuilder for surgery descriptions
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Traitor Deathmatch: Add the preset [Rebase onto factors line]
* Traitor Deathmatch: Being a human head or other not-quite-fully-animate object counts as dead. [ROFL]
* Traitor Deathmatch: Add redemption machine (but it doesn't work) [ROFL]
* Traitor Deathmatch: Map in redemption machines [ROFL]
* Traitor Deathmatch: Make the rounds end properly [ROFL]
* Traitor Deathmatch: PDA redemption works [ROFL]
* Traitor Deathmatch: New redemption machine sprite ( @Tomeno )
* Traitor Deathmatch: Get rid of redundant using
* Traitor Deathmatch: Change scoring, prevent redeeming your own PDA, fix bug where PDAs are not tagged with their owner names
* Traitor Deathmatch: Better messages, change cvar name, don't count ghosts for spawnpoint selection
* Added atmos sprites from CEV-Eris
* Moved canister sprites to appropriate dir
* Removed unnecessary sprites, edited canisters prototype
* Created Gas Canister UI and release pressure buttons
* Changed GasMixture's pressure calculation (convert liters to cube meters)
* Added relabeling Canisters
* Reverted changes on GasMixture
* Changed my name in the credits
* Added valve opening on canisters
* Change canister visual state when connected to a port
* Added nullable to SharedGasCanisterComponent
* Replaced nullable contexts
* Changed again nullable annotation context
* Moved name in the credits to correct alphabetical order
* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)
* Canisters: Stop crashes when canisters leave atmosphere
* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)
* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air
* Canisters: If in an airblocked tile, do NOT release gas
* Scrubbers: Fix typo leading to them not connecting properly.
* Revert manual changes to credits file (sorry!) (1/2)
This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.
* Revert manual changes to credits file (sorry!) (2/2)
This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.
* Canisters: Apply @Zumorica 's reviews
* Canisters: Add missing localization as suggested by PJB
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Canisters: Pressure lights!
* Canisters: Light is now unshaded.
* Canisters: Now using IActivate
* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)
* Canisters: Refactor how their layers are added to be more like ApcVisualizer
* Canisters: Clean up of the tile invalidation/air release logic
* Canisters: Some gas canister window improvements
* Canisters: Clean up release pressure change button label code
Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* More Construction Pieces: Default construction targets
* More Construction Pieces: Unfinished particle accelerator will tell you how to finish it
* More Construction Pieces: Construction system actually pathfinds any-to-any
* More Construction Pieces: Verb to begin deconstruction of an object
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable
* Copy sound logic to destructible component for now
* Fix typo
* Fix prototype error
* Remove breakable component damageable reference
* Remove breakable construction reference
* Remove ruinable component
* Move thresholds to individual components and away from damageable
* Add threshold property to damageable component code
* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states
* Being alive isn't normal
* Fix not reading the id
* Merge fixes
* YAML fixes
* Grammar moment
* Remove unnecessary dependency
* Update thresholds doc
* Change naming of thresholds to states in MobStateComponent
* Being alive is once again normal
* Make DamageState a byte
* Bring out classes structs and enums from DestructibleComponent
* Add test for destructible thresholds
* Merge fixes
* More merge fixes and fix rejuvenate test
* Remove IMobState.IsConscious
* More merge fixes someone please god review this shit already
* Fix rejuvenate test
* Update outdated destructible in YAML
* Fix repeatedly entering the current state
* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test
* Update saltern
* Start work on upgradeable machines.
* Upgradeable machines work
* Component requirements for upgradeable machines
* Better container handling
* Remember to not push submodule updates in your PRs, kids!
* Refresh parts after building a machine.
* NetSync false
* Address some reviews, fix some bugs
* Nullable stackhelpers dependencies
* Use container helper method to delete all entities in containers
* Nullable string in AddContainer
* Better examine for machine frame and construction in general
* Machine breakage
* Nullable node
* nullable GraphPrototype
* Re-save saltern for autolathe parts
* Fix SaveLoadSave
* Initial
* More
* Pissed in a cup
* Cleansup some gunk I accidently committed
* More fuckups
* Added third gender option
* Applied review
* Fixed changed storage
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Atmos Debug Overlay: Add a way of showing blocked directions
* Atmos Debug Overlay: Adjustable modes client-side
* Atmos Debug Overlay: Fix atvrange help text
* Atmos Debug Overlay: More flexible and clear gas ID specification
* Pulling: Migrate critical pull state from PullController to SharedPullableComponent, fixing two bugs in the process
Bug 1: PullController can be just summoned for no reason when the verb is queried
Bug 2: PullController keeps it's own independent pull state which can (and will) go out of sync (See https://github.com/space-wizards/space-station-14/issues/2619 )
* Pulling: Fix issues with previous commit (or possibly in general?) causing transferring a pull to cause alerts to go wrong
The primary problem is that there is one "pulling slot" for a puller, so SharedPullableComponent needs to stop the existing pull.
* Pulling: Remove debug logs (whoops)
* Update usages of ! is with is not
* Content.IntegrationTests commit
* Content.Server commit
* Content.Shared commit
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* commit skeleton reagent grinder component
* add reagentgrinder bounduserinterface, add suffix to grinder yml, add reagentgrinder sprites
* implement much more of the grinder ui functionality
* get more use out of hasbeaker bool
* complete wiring up most of the chamber/beaker UI controls
* remove whitelist prototype id. add grindable tag component
* add juiceable component
* rename boolparam to be clearer
* more juice
* add some juice reagents and apply them to their drink prototypes
* re add glassyellow
* implement juicing and results
* add time delay to grindjuice
* add reagent grinder visualizer, add reagent grinder sounds, fix some yaml errors too
* interface has clear indication of currennt operation, and busy status
* add ReagentGrinder to Client ignnored components
* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Shared/Kitchen/SharedReagentGrinderComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* implemennt sloth changes
* fix isbusy
* Disable grind/juice buttons if there's nothing to grind or juice, also some misc fixes
* unsubscribe from messages on remove + fix xmlcomment
* fix bounding box
* Add these to dictionary
* Add these to client ignore
* Whitespace and unneeded import fixes
* tommy's toes
* Where'd these newlines come from
* power
* improve bounding box
* Check power better & show contents when beaker is ejected
* check power here
* Disable eject buttons when running
* improve comments
* readwrite for viewvars on work time and capacity
* Address most of Sloth's reviews
* Make this cleaner
* add grindablecomponent to motherfucking everything
* Fix reviews
* some more null suppressions
* remove unused random field
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
Co-authored-by: namespace-Memory <66768086+namespace-Memory@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* SIMD atmos
* Moles will always be a multiple of four.
* Component dependencies for grid atmos.
* Let's optimize allocations while we're at it!
* Inline this
* A bunch of atmos optimizations
* Fix crimes against atmos
* Microsoft moment
* Remove nuget.config
* do not reference Robust.UnitTests in Content.Benchmarks as it's unneeded.
* Revert "Remove nuget.config"
This reverts commit 872604ae6a51365af4075bb23687bd005befd8ac.
* Gas overlay optimization and fixes
* Lattice is now spess
* minor atmos tweaks