Commit Graph

190 Commits

Author SHA1 Message Date
Leon Friedrich
e4ca6f4fb9 Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
TNE
52ef8f9b70 Allow drag-and-drop insertion of reagents into the ChemMaster (#19796)
* Add DumpableSolutionComponent

Separates out the component from "DrainComponent" that allows one to drag a bucket/any reagent container onto a drain/sink/toilet to empty it and allows other reagent containers to reuse the code effortlessly.

* Give the ChemMaster 4000 the DumpableSolution Component

Allows drag and dropping solutions into the ChemMaster much like you used to be able to do exclusively with drains. This also allows dumping jugs into them.
2023-09-04 15:53:13 +03:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Leon Friedrich
28a5e32f5e Add prototype serialization tests. (#18458)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-08-06 12:47:45 +10:00
MisterMecky
1b4d4f8c35 Add chemical scanning goggles (#18373)
* add chemical scanning goggles

* add prototype and textures

* .ftl stuff

* add lathe, recipe, research stuff

* missing description

* emo review

* remove static method + newlines

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2023-08-01 15:57:22 -04:00
Leon Friedrich
385b587cfc Validate prototype ids in c# fields (#18224) 2023-07-30 03:34:51 +10:00
metalgearsloth
fbf1d476f2 Component ECS (#17991) 2023-07-13 20:20:46 +10:00
Topy
b85c902189 Added sink (#14348) 2023-06-30 18:10:47 -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
deltanedas
f5d2b0e284 only show flavor above 0.1u (#17169)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-06-07 14:29:23 +10:00
Nemanja
b9fb66f005 Chem guidebook (#17123)
* im good at atomizing. welcome to half-finished chem guides.

* wagh

* e

* save work

* aa

* woweee UI

* finishing the last of it

* don't actually update the engine :(

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2023-06-04 15:45:02 -05:00
Kara
04c975534b Recognizable chemicals (#16761) 2023-05-24 16:08:05 -07:00
Slava0135
0a9bb5024f Add space glue (#16355) 2023-05-15 01:35:10 +10:00
Leon Friedrich
0c4002bbd3 Make Reactions conserve thermal energy (#16190) 2023-05-13 13:10:32 +10:00
Leon Friedrich
a372daadb2 Remove server-side sprite references from chem master (#15888)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-04-29 19:27:14 +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
metalgearsloth
317a4013eb Puddles & spreader refactor (#15191) 2023-04-10 15:37:03 +10:00
Kara
e7e9be0073 Reagent interactivity (pt. 1) (#15130)
* Puddle slippy

* spillable melee

* splash spilling!

* splat melee sound

* p
2023-04-06 16:20:48 -05:00
DEATHB4DEFEAT
c02dd02c34 uichange Chemmaster (#14237) 2023-04-05 16:55:14 -06:00
Leon Friedrich
3dbd581382 Fix MovespeedModifierMetabolism state handling (#15084) 2023-04-03 13:31:00 +10:00
Leon Friedrich
19277a2276 More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
keronshb
ec739c24da DoAfter Refactor Fixes (#14278)
* Doafterfixes

* Injector blocker
2023-02-25 23:33: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
c3e6ac2563 Fix ScaleSolution() (#13630) 2023-01-22 01:35:12 +11:00
Visne
c6d3e4f3bd Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Leon Friedrich
84e7525ea4 Fix solution visuals (#13456) 2023-01-14 11:21:15 +11:00
Leon Friedrich
466384b081 Solution rejig (#12428) 2023-01-12 14:41:40 +11:00
metalgearsloth
455939afc1 Call reload protoypes on admin changes (#13160)
* Call reload protoypes on admin changes

Fixes NPCs not working after engine change.

* Also chems

* other fixes
2022-12-24 15:31:11 -06:00
Rane
8613d40aa1 Scale other needed metabolism reagents (#12005)
Closes https://github.com/space-wizards/space-station-14/issues/7434
2022-12-21 06:51:49 -08:00
Timothy Teakettle
c046666578 adds the ability to "mix" solutions (reactions caused by using an item on a solution holder) (#13015)
* everything for mixing aside from yaml changes

* add recipe and canmix to bottles and the holy mixer tag to the bible

* fixes as a result of testing

* remove unused usings

* remove emptylines that are not required

Co-authored-by: 0x6273 <0x40@keemail.me>

* more empty line removal!

Co-authored-by: 0x6273 <0x40@keemail.me>

* add single space between if statement and condition

Co-authored-by: 0x6273 <0x40@keemail.me>

* fixes indentation on TryGetMixableSolution

* raise new AfterMixingEvent after attempting to mix a solution

* before mixing event and attempt get mixable solution event

* update reaction tests to be a beaker that can be mixed, and then pass a mixer component in to simulate mixing

* make two more beaker types mixable, add attribute for mixing feedback

* bible mix message

* mixing feedback on success

* updates test to use SpawnEntity over new as per feedback

Co-authored-by: 0x6273 <0x40@keemail.me>
2022-12-19 22:05:02 -06:00
Paul Ritter
3884c4d3db serv4 + submodule update (#12740)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-11-27 19:25:55 +01:00
DrSmugleaf
7fbc2608e8 Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
corentt
f9bf24f903 Price of food depends on its nutritional capacity (#11752)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
fixes https://github.com/space-wizards/space-station-14/issues/11464
2022-11-15 22:51:30 +11:00
0x6273
a2e6ab2d07 Cap ChemMaster label length (#12260)
* Cap ChemMaster label length

* Reroll for green checkmark
2022-10-28 12:43:59 -05:00
Rane
ee10581e88 scale reagent damage when under metabolism rate (#11578) 2022-10-09 12:40:49 -07:00
metalgearsloth
600c0e3255 Fix a few warnings (#11576) 2022-10-04 14:24:19 +11:00
0x6273
0c24f8b69b ReagentDispenser ECS (#11418) 2022-10-03 17:57:32 -07:00
Illiux
71e46de0fc Rework the ChemMaster's output handling (#11207)
* Fix doc comment on FitsInDispenserComponent

It's clearly intended to be a doc comment, but wasn't.

* Allow the ChemMaster to accept canisters and bottles

* Give the ChemMaster an output container slot

* Tweak ChemMaster UI layout

* Make more ChemMaster UI tweaks

* Update ChemMaster SpinBox max handling

* Rework the ChemMaster

* Apply suggestions from code review

Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>

* Implement PR feedback

* Switch ChemMaster to a tabbed UI layout

* Rename Amount to Dosage for clarity

* Replace Amount with Dosage in messages

* Clarify dose in UI

Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
2022-09-14 19:10:12 -05:00
Alex Evgrashin
385a52c390 Remove IItemStatus (#11055) 2022-09-10 23:53:17 -07:00
Flipp Syder
3cfa00e91c Flavor profiles (#10991)
* flavor profiles

TODO: every single flavor! yeah!!!

* adds basic localization, and flavors/lastFlavor values for when you get the flavor profile message

* multiple and single flavor messages

* start on flavor localization, multiple flavors in localized flavors

* flavor prototypes

* a few more flavors, descriptions on what each section of the flavor file should be doing

* localization for flavor profiles in drink/food system

* adds an event that allows a flavor profile list to be transformed base on the user entity

* raises it on the food entity too

* changes a field in flavor, adds some more flavors, starts adding flavor prototypes

* adds basic flavors to several entities, and consumable drinks, renames flavor field to 'flavors'

* changes call ordering in flavorprofile, adds flavor to ignored components server-side

flavor is really just a popup message, and those are all processed server-side

* fixes where food tried to get the flavor of the user instead of the food

* single flavors will now get the localized string

* getting the flavor message now ensures that flavors are deduplicated

* makes flavor processing more strictly unique bu making everything hashsets

* yeah, that could just not have distinctby now

* adds flavorprofile directly to food base instead for generic food taste

* FlavorProfileModificationEvent now passes a hashset of strings and not flavorprototypes

* flavorprofilesystem now broadcasts the flavor profile modification event

* adds more flavors to the flavor profile loc file

* skips a flavor, if the flavor string is null/empty

* adds some more flavors, adds generic medicine flavor to medicinal chemicals

* more food flavors, adds flavors to swallowing

* adds some cocktails to the set of flavor profiles

* regenerates flavor prototypes

* adds flavor type to all flavors, adds whitespace between variants

* adds more flavors, adds flavors to several chemicals and food items

this is the part that took the longest

* changes backup flavor message

* spelling mistake

* more flavors, and flavors on food

* readds all the type fields, whoops

* fixes localization strings for forcefeeding food/drink

* fixes multiple flavor profile

* adds flavor limit for flavors

* makes that fetch the cvardef instead
2022-09-08 18:14:49 -05:00
0x6273
0c8e52c163 ChemMaster ECS (#11052) 2022-09-05 22:06:47 -07:00
Kara
63b147e111 Chem entity nerf (#11037) 2022-09-05 18:43:04 -07:00
Paul Ritter
f77aff7b94 prototype composition (#9979) & updates submodule
* prototype composition

* a

* fixes build

* fixes test

* updates submodule

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2022-08-01 14:39:37 +02:00
Leon Friedrich
c7ad6b709e Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
metalgearsloth
2b6c352aff Jetpacks (#9023)
* Movement acceleration

* tweaks

* Weightless refactor coz fuck it

* CCVars

* weightless movement tweaks

* Some cleanup while I'm here

* dorkpacks

* thanks fork

* fixes

* zoomies

* toggles

* hmm

* yamls

* b

* so true

* Effects refactor

* namespace

* review
2022-06-24 17:44:30 +10:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Alex Evgrashin
860db943e1 Reagents localization (#7916)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-12 21:06:01 +10:00
Paul Ritter
f12b9fd511 abstract prototype id validation (#7519) 2022-04-15 14:34:28 -07:00