* 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
* basic implementation
* minor fixes
* objectives temp commit
* proper onstart bind
* changes all conditions to be bound to a mind-instance
* oops
* oops v2
* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added
* minor fixes, adds greentext
* refactors incompatability to be defined by requirements
* fixes a wrong whitespace
* minor fix
* addressed reviews v1
* address reviews v2
Co-authored-by: Exp <theexp111@gmail.com>
* final sweep
* adds/refactors traitor&sss cvars
* Update Content.Server/Mobs/Mind.cs
* never trust github web
* adds datasets & makes codewords use them
* addresses exp's reviews
* addressed zumos reviews
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.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
* 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>
* Add verb to toggle flashlight
* Playing with hand-held light for hard hat
* ClothingEquippedPrefix will update players sprite when changed
* Make abstract prototype for hardhat and fixed hardhat orange sprites
* Fixed all other hard hats
* Fixed requested changes
* Restore prototype and sprites changes
* Nullables
* That's actually nullable
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* temp commit to save progress
* adds objectives
* refactors mind.addobjective a bit
* better names for my testobjectives which i'll remove later on anyways
* nullable errors
* some misc fixes
* no sorted or set, what was i thinking here?
* removes unused imports
* added commands
* fully implements stealcondition
* started uiwork
* moved prototypeicon to engine
* removes objective class & uiwork
* refactors ui to only update when opened
adds progresstexturerect
* adds some margin
* removes some testing code
* ignores objectiveprototypes on clientside
* fixes
* removes using statements for exp
* gets the job
* always show issuer
* locs & _
* giving commands some love
* Update Content.Client/GameObjects/EntitySystems/DoAfter/DoAfterBar.cs
Co-authored-by: Exp <theexp111@gmail.com>
* makes commands use new thingy
* string interpolation
* good catch exp
* loc'd
* linq gone
* runtime
* moves function from engine
* oopsie
* Update Content.Server/Objectives/Conditions/StealCondition.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* makes messages directed
* base call & validation
* shuffle once
* No? Money down!
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* makes conveyors to use machine linking & refactors machine linking a bit
* nullable errors
* temp commit, starting work on construction
* working recipies & graphs
* fixes crash
* makes items gravitate towards the center when on a conveyor
* makes conveyors take bool signal too
* ignores components clientside
* default arm
entitymanager
maxtransmitters
unsubscribe methods
* twowayLEVER
* _
* componentreference
struct
* yaml run
leverDefinitelyNotCopiedFromGirderNoNoNo dies today :(
* nullable
* no divide by 0
* making sloth happy
* space gone - happy?
* final fix
* yes
* adds item to lathe
* conveyor item -> conveyor assembly
* technology
* reviews ADRESSED
* Update Content.Shared/GameObjects/Verbs/VerbUtility.cs
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Align storage welders with door welders
* Spamming the button doesn't punish you.
* Requires lit welder to start
*
* Nulla-builda-buddy
* A certain smug in a bucket
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* #272 add bordered panel for effects bar
* #272 avoid mouse overlapping tooltip when near edges,
change tooltip colors to match mockups
* #272 WIP defining status effect states as YML and
sending them as encoded integers
* #272 refactor to use new alert system
* #272 refactor to use new alert system
* #272 fix various bugs with new alert system and update
alerts to have color
* #272 WIP
* #272 rename status effects to alerts
* #272 WIP reworking alert internals to avoid code dup
and eliminate enum
* #272 refactor alerts to use
categories and fix various bugs
* #272 more alert bugfixes
* #272 alert ordering
* #272 callback-based approach for alert clicks
* #272 add debug commands for alerts
* #272 utilize new GridContainer capabilities for sizing of alerts tab
* #272 scale alerts height based on
window size
* #272 fix tooltip flicker
* #272 transparent alert panel
* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip
* #272 adjust styles to match injazz mockups more, add cooldown info in tooltip
* #272 alert prototype tests
* #272 alert manager tests
* #272 alert order tests
* #272 simple unit test for alerts component
* #272 integration test for alerts
* #272 rework alerts to use enums instead
of id / category
* #272 various cleanups for PR
* #272 use byte for more compact alert messages
* #272 rename StatusEffects folder to Alerts,
add missing NetSerializable
Flashlights were calling dirty EVERY TICK so this just means they only call it when absoluetely necessary which saves a lot.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Put the damage in the windows
* add crack overlays
* Window cracking
* glass related sounds
* let's use a valid state
* run optipng on these for posterity
* Examine damage descriptions
* add "Constructible" to dictionary
* Downmix stereo effects to mono
* breaking and knocking
* Add shard etc. sprites
* shard inhands
* more sprite wrangling
* Expand destructiblecomponent drop system + implement it for windows
* Shard descriptions
* Random sprite component
* no nullbabby
* Random destroysounds
* random offset on destructible drops
* fix fucked yaml
* sound collections
* random pitch for knocking
* Localization
* hascomponent
* better spawnondestroy
* missed one
* Refactor battery/powercell assets and add new ones.
* committing before I fuck things up
* slot component doned I think
* dictionary update
* Fixes
* Moving flashlight to powerslotcomponent
* har har i am using the message tubes
* Better documentation comment
* Reverting this overengineered garbage.
* Off with ye I said
* Examine texts.
* Some minor fixes to IDE complaints
* slot size from yaml
* Ignored component + removing a useless typo entry
* Making stunbatons use this
* Handle the message and remove some unnecessary dirtiness
* actionblocker checks
* remove unused file
* remove updatevisual
* make these nullable
* make these nullable too
* Unrename sprite folder
* check itemcomponent on insertion
* Use SendMessage over Owner.SendMessage
* Add support for auto-recharging batteries, an auto-recharging cell, and make flashlight status update correctly if one is inserted in it.
* get rid of public fields which are Bad
* add a description for the stun baton while i'm in here
* one more public field
* Add the blinky animation to the atomic cell
* Fix the charge indicator being STUPID
* better comments
* this is a better function
* add pause for flashlight, remove unnecessary imports from battery
* potato battery copyright link
* WHO DID THAT
* mr clean has come
* Random pitch
* pausing
* round to nearest levels
* Body bags!
* Morgue Trays and the Crematorium!
Reorganised body bags to be under Morgue, not Medical
* Fix. Things outside of EntityStorageComponents now use the Try*Storage() not just *Storage() methods - Allows mobs to be trapped in a morgue/crematorium whose tray can't open.
* Fix tests. Modernise component dependency and nullability.
* Update Content.Server/GameObjects/Components/Morgue/MorgueTrayComponent.cs
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>