Commit Graph

188 Commits

Author SHA1 Message Date
Dora
53dc27cb1e Adding sorting to chem master (#34763)
* Adding sorting to chem master

* Chem Master can now sort based on following categories
 - Alphabetical
 - Quantity
 - Time Added to Machine

* Sorting is disabled by default and persist in the machine for everyone

* Removed some pointless code from Chem Master's UI

* Changed None and Time Added's text to reflect what they do better

* Minor adjustments to the code requested by maintainers
2025-02-27 12:19:52 +01:00
Leon Friedrich
1c315ba033 Remove Entity<T> data-fields (#34083) 2025-01-11 21:22:29 +01:00
ScarKy0
62f5a31c4a Syringe gun! (#32112)
* Init testing

* copyright

* oops

* Tracking the embed entity uid

* testing stuff for gradual injection

* work

* weh

* god save me

* bleh

* Yippee!

* Again

* Mini syringe ammo

* cleaning up

* mini syringes have a texture for fill amount

* -3 cool points :(

* hitboxes

* init cleanup

* much needed fixes

* Fixes
2024-10-23 00:03:42 +11:00
IProduceWidgets
550c423181 Clean up solution regen and drain comps (#29777)
* clean up solution regen and drain comps

* Tape applied.

* Update Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* remain entity

* That has to be a rogue test fail.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2024-09-19 12:17:13 +10:00
Tayrtahn
89a9f07c3a Add a system for modifying entity names without causing conflicts (#27863) 2024-06-16 15:38:53 -04:00
Nemanja
a47c5561a9 add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!
2024-04-19 19:20:30 -04:00
Tayrtahn
d0d12760a8 Combine solution injection systems; Fix embeddable injectors (#26268)
* Combine injection systems

* Update Content.Server/Chemistry/EntitySystems/SolutionInjectOnEventSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-01 14:39:34 +11:00
Plykiya
f192d7901f Hyposprays Draw from Jugs (#25544)
* Hyposprays Draw from Jugs

* Fix last onlyMobs usage in yml

* Some Suggested Changes

* Remove unnecessary datafield name declarations

* Remove unnecessary dirtying of component

* Same line parentheses

* Added client-side HypospraySystem

* Cache UI values and only updates if values change

* empty line

* Update label

* Label change

* Reimplement ReactionMixerSystem

* Remove DataField from Hypospray Toggle Mode

* Change ToggleMode from enum to Bool OnlyAffectsMobs

* Add DataField required back since it's required for replays...?

* update EligibleEntity and uses of it

* Add user argument back

* Adds newline

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Guard for dirty entity

* Adds summary tag

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-03-30 14:59:16 +11:00
Tayrtahn
f0dfe3f6fb Fix tranq rounds injecting when reflected (#26141)
* Fix tranq rounds injecting when reflected

* Cleanup using directives

* Remove FixtureId from component
2024-03-16 00:57:15 +11:00
deltanedas
550612a37f fishops nerf real (#25148)
* refactor ops

* inherit dna and fiber when fish hydrated

* :trollface:

* kid named finger

* :trollface:

* move rehydrating to shared :trollface:

* nobody noticed the popup being missing all this time

* method ops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-03-05 14:13:50 +11:00
Pieter-Jan Briers
e00f74505c Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
2024-02-26 14:36:19 +11:00
Pieter-Jan Briers
6d8be538c9 Predict Injector (syringes), cleanup (#25235)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.
2024-02-14 16:05:01 -07:00
deltanedas
55dbe26019 predict egg cracking + refactor (#25028)
* move stuff to server and some refactoring

* update spikables to not use triggering

* add Delete bool just incase

* a new egg

* mom can we have webedit. no, we have webedit at home

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-02-08 17:24:24 +11:00
Nemanja
a9e89ab372 Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek
2024-01-23 09:13:04 +11:00
0x6273
7a7d0017b5 Use old reagent dispenser beaker slot ID (#24209)
Change the slot ID back to what it was to keep old map saves with an item in the slot loading correctly.

This also fixes the "You can't put this in the dispenser!" message not appearing when inserting an item without FitsInDispenserComponent because the whitelisted slot name wasn't changed.
2024-01-17 17:30:30 -08:00
Kevin Zheng
9394a26245 Add limited-reagent dispensers (#23907)
* Add limited-reagent dispensers

* Add empty versions for all dispensers

* Fix lint

* Set initial window size so all buttons are visible

* Simplify logic, add parenthesis

* Use localized name for initial labels

* Adjust button style

* Avoid touching items before MapInit

* Remove pre-labeling

* Reduce diff

* Clean up YAML

* Fix test

* Really fix test

* Document

* Adjust based on review

* Add labels for obnoxiously long bottles

---------

Co-authored-by: AWF <you@example.com>
2024-01-17 16:43:48 -05:00
nikthechampiongr
ef132c8a7b Fix tranquiliser shells not working (#23886)
* Fix tranquiliser darts not working

Fixes a bug introduced by 9f47079d02 which
was made to stop the fly-by fixture from triggering the system. This was
done by checking whether the fixture was hard. Apparently the
projectile's fixture is never hard as well. The change just makes it so
that check only succeeds when the fixture is a fly-by fixture.

* Remove something that I think is redundant

* Remove random using directive that somehow appeared.

* Address Review

* Adress Review 2

* Put the appropriate fixture ids
2024-01-10 18:02:37 -05:00
metalgearsloth
9f47079d02 Fix remote solution injection (#23429)
Checks if its own fixture is hard so the fly-by fixture can't also proc it.
2024-01-03 18:57:36 +11:00
TemporalOroboros
d23c8d5c19 Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse
938d6d9945 Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
TemporalOroboros
d75e743dd7 Solution Entities (#21916)
* 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>
2023-12-28 17:58:14 -08:00
Psychpsyo
6a18bdc023 Soapy Water & Edible Soap (#20364)
* soap reagent and soapy water

* make soapy water recognizable

* Fix tile cleaning bug

CleanDecalsReaction was able to take more than the reactVolume it was given.

* make soapy water an evaporating reagent

* Tile reactions when mopping

* Fix indescribably soap flavor

* Adjust soap flavours

Soap and soapy water now taste clean and syndie soap tastes like punishment.

* Better soap numbers & DeleteOnSolutionEmpty

* Changed TrashOnEmpty to TrashOnSolutionEmpty

* Last TrashOnSolutionEmpty change

* Fix merged code not compiling

* Requested changes.
2023-10-31 13:39:12 -07:00
Nemanja
0670b56205 A return to foam (foam rework) (#20831) 2023-10-27 13:52:11 +11:00
TemporalOroboros
0775ab6a14 Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-15 03:45:28 +11:00
deltanedas
e911c9e516 Rename SmokeDissipateSpawnComponent to SpawnOnDespawnComponent (#20782) 2023-10-10 22:34:51 -08:00
DrSmugleaf
9bcf67753a Replace string data fields with LocId where relevant (#20883) 2023-10-10 23:06:24 -04:00
Leon Friedrich
2d71eec6f9 Remove AllComponentsOneEntityDeleteTest (#19965)
* Remove AllComponentsOneEntityDeleteTest

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2023-09-09 19:35:05 -05:00
Vasilis
2446c6a37b Hypo can inject solutions back into beakers (#19877)
* Inject to beakers

* Stop fighting in my pr

* Review
2023-09-07 09:49:02 -07:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
deltanedas
00bae110e1 move hot plate item placement stuff into its own system (#18923)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-08-19 17:37:19 -07:00
forthbridge
5fc7f21853 Add Spaceshrooms (#17092)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-08-02 00:10:48 +10:00
metalgearsloth
fbf1d476f2 Component ECS (#17991) 2023-07-13 20:20:46 +10:00
Arendian
ec58d2e716 Syndicate sponge for uplink (#17841)
* Syndicate sponge for uplink

* Fix yaml error

* Made changes mentioned in review

* Made changes according to reviews
2023-07-09 13:24:30 -06:00
Chief-Engineer
1960dd2620 Revert "Add chem solution atmos heating and cooling (#17854)" (#17871)
This reverts commit 03d6b0ced7.
2023-07-06 23:53:19 -05:00
0x6273
03d6b0ced7 Add chem solution atmos heating and cooling (#17854) 2023-07-06 18:18:56 -07:00
themias
53e9bc8236 Fix metamorphic glass name mispredict (#16550) 2023-06-30 18:57:28 -04:00
0x6273
fcb6516cee Hotplate overhaul (#17586)
* Hotplate overhaul

- Beakers are now placed on top of the hotplate instead of itemslot.
- Hotplate LED now only lights up if it's heating something.
- More comments/xmldoc.
- Some other minor tweaks.

* Actually remove the beaker slot
2023-06-24 14:09:24 -04:00
Nemanja
98481fb9a2 Spray Nozzle & Backpack Water Tank (#16133) 2023-05-06 11:50:09 +10:00
MisterMecky
57cb533e9c Add strange pills, RandomFillSolutionComponent (#15067) 2023-05-02 00:43:31 +10:00
Nemanja
823c8204c9 Simplifying Machine Upgrading (#15802) 2023-04-29 13:23:49 +10:00
EnDecc
0f90548600 Advanced Mop is now More Advanced + SolutionPurge Component (#15532)
Co-authored-by: Arimah <arimah42@gmail.com>
2023-04-23 20:17:21 +10:00
deltanedas
24f7b6ffc5 experimental welder fuel regeneration (#15475)
* solution regeneration system

* experimental welding tool regenerates 1u of fuel every second

* pro

* use a solution

* added -> generated

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-04-18 10:27:05 -04:00
deltanedas
27bdc5d4b5 prevent nettles from injecting through hardsuit (#14895)
* prevent nettles from injecting through hardsuit

* pro

* better

* pro

* pro

* noob

* inject popup

* caution

* )

* ;

* 💀

* 💀

* scaf + bomb suit immune to nettle

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-04-10 19:19:43 -07:00
metalgearsloth
317a4013eb Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
deltanedas
0663211bd0 refactor rehydration (#14707) 2023-03-24 16:00:38 +11:00
keronshb
9ebb452a3c DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
deltanedas
98b02b3d97 make emagged marker component (fixed version of #13867) (#14096)
* The all-in-one hacking solution
The thinking man's lockpick
The iconic EMAG

* emagged medbay's stasis bed

* left med, emagged sec' apc

* went back to chem, emagged the dispenser

* emagged the fax while i was there

* had a donut while waiting for emag to charge

* i broke into the bridge then announced 'mandatory johnson inspection in medical'

* get system instead of dependency

* feedback

* net suggestion

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* use EnsureComp and import NetworkedComponent

---------

Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-02-18 19:03:06 -06:00
0x6273
ffaa7a96fe ECS SolutionTransfer, move to shared (#14156)
Removes the last bit of logic from the comp, moves it to shared, and
fixes a bunch of deprecation warnings in the system.
2023-02-18 19:01:05 -06:00
Moony
cc0c516e02 Improves bartending with some tweaks. (#14169)
* Improves bartending with some tweaks.
- Glasses got resprited and now support fill levels.
-

* New glass type and improve shotglass visuals.

* oobsy

* fixes

* get flasked

* flask

* flask

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-02-18 19:00:31 -06:00
Leon Friedrich
466384b081 Solution rejig (#12428) 2023-01-12 14:41:40 +11:00