* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality
* Flashes and Flashbangs use the same code now (the Flashable path because it's better)
* Ported sprites from eris
* Added yml
* lid open/close logic
* interactivity
* Working on new secret stash component
* Object will drop on destruction
* Can get item and examine message
* Reagent container and some cleaning
* Moved potted plant to stash
* New base prefab
* Now you can deconstruct toilet
* Small fixes
* Fixed unknown components errors
* Fixed grammar errors
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Now use prob
* More grammar
* Update Content.Server/Construction/Conditions/ToiletLidClosed.cs
Aaaaaaaa
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* No delays
* Amazing sound design
* Moved sound to mono
* Toilet viz
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Code is ready but item now spawning
* Prototype of SeveralExplosive component
* Remaked to FlashExplosiveComponent using
* Done. But i feel myself retarted
* Remaked. Looks good
* Full loaded prototype added
* Throwing in progress. Fatal error is here
* I forgot about shared
* Sloth refactor
* Delayed spawning and fix crashes
* Full clusterbang code.
* Removed useless variable and tuned delay
* Delete wrong in CreamPiedComponent
* Now yaml is code quality followed
* Reworked to GetLevel with bugs
* Never forget resources, guys
* RoundToLevels added. Now it works.
* New textures and sloth refactor is returned
* Now it's TryGetComponent
* Visualizer maximum fix and look fix
* Logging and no max and min check
* Removed max grenades sending
* vizualizer is better now
* GrenadesMax removed
* grammar, checks, NextFloat and no more try catch
* Unused using removed
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* 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>
* 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>
* 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>
* 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>