* Update Can Sizes, Fill cans with correct reagents, rename brownstar reagent to its can name starkist
* Update drinks.yml
* add energy drink
* Update soda.yml
* Potato Juice
* Fix Yaml
* Add energy drink to vending
* basics & visuals
* pneumatic cannon works perf
* loc + popups
* gas tank does stuff + queue changes
* updates
* b
* forcefeeding
* inhand
* crafting!
* pie cannon now is a pneumatic cannon
* oopy
* fix for entman + verbs
* pie
* change for tools
* actual
* combat mode + better sounds
* reviews
The latter is very useful for any special machine cleanup that needs to happen when a machine is deconstructed.
The former will be useful for so many things!
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
- The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
- This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
- This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
- This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes#4892 and fixes#4857
Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
* Fix APC placement type
* Fix wall tags.
* Change wall light placement to match how it actually is now
* Change spawn-entity wall light snap mode
Separate commit so it can be nixed out for JREV
* Default switch placement mode to SnapgridCenter
* Remove WireNet node group from cables
Implement extension cable components and system
Remove connection over distance logic from ApcPower... components
* Add extension cable components to prototypes
* Implement ApcNetwork
Implement ApcNetSwitch
* Fix ignoredComponents.cs
* Add friend attribute to new components
* Add construction graph for a light switch
* Address reviews
* Fix broken test
* Move ConnectionType enum to DeviceNetworkComponent
Change netId data definition to use the ConnectionType enum values
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
* Walls
* Airlocks mostly ported
* Disposal Unit
* Tiles
* Lighting
* Catwalk
* Windows
* Some vending machine work
* More Vending Machines
* Rest of vending machine sprites ported
* Fixes to vending machines
* Tables (This took a lot of work)
* Fixes low walls being required for window smoothing
- Also replaces window damage visualization
* Plasma Window
* APC
* SMES + Reorganized parts.yml
* Furniture and Organization and Removed Shelf
* Renamed seats.yml to chairs.yml
* Dispensers
* Lazy-fixed the glass airlocks
* Don't need this no more
* Tilez
* blue circuit my fucking beloved
* Switches lights to cev one
* Conveyors and Switch
* Reorients lights
* !ALERT! MAP CHANGES !ALERT!
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* Removed useless loc and added inhands for some lamps
* Adds a ton of inhands to the game
* Actually adds the pill inhand
* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Made the cloning machine pod constructable
* Added everything like I did but with the Medical Scanner
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
* adds an overdose metabolism with sensible default settings
* adds the compoenents for the run fast part of meth
* not sure what I changed here but I trust my past self to not fuck up for once
* adds basic meth recipe
* correctly names comething
* I really should've checked my spelling before making this pr
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast
* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"
This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.
* tweak
* tweak
* git's gitting on my nerves
* some small tweaks
* don't need these anymore
* makes some stuff required
* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit
* extremely minor change
* removes overdose, because however it's gonna be done, it's definitely not my way
* i should really double check every key I press
* hm
* sigh, I should be more thorough with looking at error messages.
* beenus
* gay sex is gay
* this one goes out to bingo
* reviews
* not sure why status lifetime description wasn't being commited
* Update MovespeedModifierMetabolism.cs
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* adds VV to component variables
* rebalances meth, and makes the completely unrealistic recipe properly work now
* meth effects should go away now or something do you think I test these changes before pushing??
* ah yes, orginization
* adds proper recipe and prequisite chemicals
* fixes linter hopefully
* Update chemicals.yml
* a
* starts working on prediction
* thing
* predmiction??
* changes thing
* does it properly
* uses timespan instead of timer
* uses dif timers and adds a system
* updates robust and tweaks a small thing
* Fixes
* "Fix" prediction
* starts changing the timer to timespans to avoid icky on timer end
* okay fixes the check thing but now meth is broken and I don't know why
* fixes predicition (partially)
* Delete ContentNetIDs.cs
whoops
* some changes advised by sloth
* certified scalycode fix right here
* moves resettimer to the metabolism to make it less oop stinky
* moves resettimer to the metabolism to make it less oop stinky
* gamin
* when the is
* updates mth colour to be accurate because I forgot
* abc hard ok
* everything should be up to date now
* makes MovespeedModifierMetabolism ECS and cleans up some other stuff
* does a fixy wixy
* fix thing
* Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth"
This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.
* Revert "Revert "Merge branch 'master' of https://github.com/space-wizards/space-station-14 into meth""
This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.
* fix hopefully
* updates metabolism to works with mirror's fancy new system
* updates yaml + tweaks
* bruh
* yaml moment
* :yaml moment
* Revert " :yaml moment"
This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.
* 99th commit yay, also I need to not do this
* removes something that I don't need
* makes system work with this and gets rid of unnesescary check
* make the update only work on active components
* oops
* Cleanup
* alphabetise this shit
* Touchup
* Woops stupid alloc by me
* Nerf nyoom for now
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>