Commit Graph

44 Commits

Author SHA1 Message Date
deltanedas 1db178b632
scoopable ash and foam, solution transfer prediction (#25832)
* move SolutionTransfer to shared and predict as much as possible

* fully move OpenableSystem to shared now that SolutionTransfer is

* fix imports for everything

* doc for solution transfer system

* trolling

* add scoopable system

* make ash and foam scoopable

* untroll

* untroll real

* make clickable it work

* troll

* the scooping room

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 17:27:39 +11:00
Tayrtahn 4a83c36585
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No
2024-03-19 23:27:02 -04:00
nikthechampiongr 2b8415b378
Add logs to recycler gibbing and broadcasting. (#26008)
* Add logs to things

* Make the message log be saved as msg because I forgor before.

* Log fails when getting an entity that doesn't exist

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-03-12 03:57:05 -07:00
Nemanja a9e89ab372
Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek
2024-01-23 09:13:04 +11:00
Nemanja 2b01899d63
Make the material ejection control completely generic (#23308)
* Finish decoupling material ejection from lathes

* commented
2023-12-31 23:16:25 -08:00
Hannah Giovanna Dawson f850047341
Migrate Lathe Material Ejection Code to MaterialStorage (#23199)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage

The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.

* Fix some YAML references. Science!!
2023-12-30 20:08:33 -05: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
TemporalOroboros 7a77d6d5dd
Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
metalgearsloth 269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
Vasilis 909621ee5f
stasis bed and microwave qol(#21572) 2023-11-10 23:42:59 -07:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
ShadowCommander c20bf50f40
Fix sound on material reclaimer (#21030)
* Fix saw sound error on client

The sound tried to play using shared PlayPvs which doesn't work on client. PlayPredicted handles client and server.

Fixed NextSound not playing again while continuously gibbing items.

* Fix duplicate splat sound on Recycler gibbing
2023-10-15 23:30:35 -06:00
TemporalOroboros 0775ab6a14
Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-15 03:45:28 +11:00
deltanedas b7cff81587
Openable refactor (#19750) 2023-09-22 22:10:04 -04:00
Leon Friedrich e4ca6f4fb9
Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
DrSmugleaf 15c0211fb2
Refactor minds to be entities with components, make roles components (#19591)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2023-08-28 16:53:24 -07:00
Pieter-Jan Briers bf16698efa
Portable Generator Rework (#19302) 2023-08-25 11:40:42 -07:00
Nemanja 9946bd1f61
Sheet-meister 2000 (#16686) 2023-06-15 10:49:23 +10:00
eoineoineoin 3581db962c
Fix material reclaimer (recycler) making sound on round start (#16230)
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2023-05-08 10:39:32 +10:00
Nemanja dfc5bcdc12
Convert materials to use PhysicalComposition (#15414) 2023-04-29 14:53:41 +10:00
Nemanja 2d78c50f3e
fix material reclaimer sound issue (#15278)
* fix material reclaimer sound issue

* this, too
2023-04-10 16:30:33 -05:00
metalgearsloth aebe31cfde
Fix master (#15256) 2023-04-10 15:47:51 +10:00
Nemanja 57f2a768a0
Material Reclaimer (#14969)
* Material Reclaimer

* Fix this test

* autostack output, tweak volume, add upgrade examine

* whitelist AND blacklist support

why not

* trying so hard to get this fucking test to work

* EmoGarbage delves into MaterialArbitrageTest, never to return

* VV and restore cloth to glory

* make the system more robust

* even more stuff has composition; add blacklist for important items

* fix test fails

* convert recycling

* forgor :sadge:

* lol

* simply a modiCUM of doc commentary
2023-04-09 23:38:20 -05:00
Nemanja c2fd5665af
SpawnMultiple cleanup in stacksystem (#13441) 2023-01-11 15:03:18 -07:00
Nemanja 26786b5839
decouple material insertion visualization from lathes (#13242) 2023-01-08 13:36:50 +11:00
Leon Friedrich 1f5bae751f
MaterialComponent cleanup (#13326) 2023-01-07 14:36:32 -08:00
Rane fecd60e98a
Generalized material spawning (#12489) 2023-01-08 05:09:05 +11:00
Chief-Engineer 2a8e5d9096
Add machine logs (#13185)
* add material insert logs

* add lathe queue logs

* add grav gen power logs

* fix count

* replace SharedStackComponent with StackComponent and rm unused imports

* use TryComp

* fix import
2022-12-27 18:01:36 +01:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Kevin Zheng d431ea05b9
Prevent inserting into unpowered lathes (#12405)
Entities with MaterialStorageComponent should not accept materials if
they are supposed to be powered, and are not actually powered.

This fixes being able to insert ores into unpowered or unanchored ore
processors, among other issues.
2022-11-08 14:56:53 -06:00
Nemanja 08687468b9
fix material storage popup (#11798) 2022-10-09 11:16:10 -07:00
Nemanja 2e7dcb1ed8
Lathe Refactor and ECS (#11201)
* lathe and material storage refactor

* materialStorage ECS

it kinda sus tho

* beginning the lathe shitcode dive

* couple lathe visuals and lathe system

* lathe changes and such

* dynamic lathe databases

* rewrote internal logic

on to ui

* da newI

* material display clientside

* misc ui changes

* component state handling and various other things

* moar

* Update Content.Shared/Lathe/LatheComponent.cs

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

* first volley of sloth review

* more fixes

* losin' my mind

* all da changes

* test fix and other review

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-09-16 18:49:05 -05:00
Chris V 94a0bc92b7
Salvage mining, ore processing, and material clean-up (#7406)
* adding stuff cuz new computer

* removed unused materials

* remove unused materials and such, lathe things

* material volume no longer hardcoded

* fixed mining system

* add 5 stacks of materials, and add them to the ore processor

* fix copyright for ores and handdrill

* comma momma

* whyyyyy

* more fixes to make the yaml linter happy

* i should get my eyes checked

* silver proper

* more cleanup

* leftovers

* remove more references to material doors

* couldn't bear to be without bearhide

* added uranium, added more lathe recipes

* copyright fix, stack fix

* ore processor sprite and such

* ore processing some binches

* MaterialCotton removal

* 1 uranium ore means 1 sheet

* fix merge conflict? idk

* time to ketchup

* lathe recognizes material volume again

* yaml cleanup

* forgot to remove adamantine lol

* re-added diamond for now

* diamond stacks

* functional ore processor

* added ignoreColor to lathe visuals

* ore processor machine board

* add board to industrial tech and circuit printer

* provided lathes their whitelists

* fix wonky ore spawning, added insert sound to lathe, adjusted ore chance

* re-added ore processor

* typos and cleanup

* Update Content.Client/Lathe/LatheSystem.cs

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

* Update Content.Server/Lathe/LatheSystem.cs

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

* revert mapchange

* VV ignorecolor, pass entitymanager, move canceltoken to pickaxe, removed foreach from orespawn

* actually null canceltoken

* remove five-stacks, ore processor produces full stacks or single sheets/ingots

* VV proper

* adjust ore chances

* readd Cotton

* Update Content.Server/Mining/MineableSystem.cs

* tweaks

* Material is now dict (material, volume)

* removed unused property

* Space crystal -> space quartz

* forgor asteroid space quartz

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-04-28 20:41:04 +10:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
wrexbe 17db0775c8
Auto comp (#6416) 2022-02-02 14:35:40 +11:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Víctor Aguilera Puerto fe0414eda7 Lathes (#207)
* Recipe stuff.

* Lathe GUI and stuff

* god dammit

* Lathe menu works, yay.

* EventArgs henk

* Some work

* SS14 -> Robust

* More SS14 -> Robust

* Lathe materials

* Lathe works, Lathe GUI, Queue GUI, etc

too many changes to name them here

* Remove materials button, add ViewVariables and update lathe on connect

* Add Autolathe RSI

* Adds new recipes, fixes a few bugs.

* Remove unused ScrollContainers

* Use same delegate for spawn.

* Removes client-side LatheComponent in favor of BoundUserInterface

* Remove GetMaterial and TryGetMaterial

* Use auto-properties in a few places.

* Adds LatheDatabase, and a bunch of other changes

* Remove useless log.

* Remove lathetype from prototypes.

* Turns Storage, Lathe and Database into autoproperties

* Remove Hacked property from LatheRecipePrototype

* Remove unneeded dependency injection from components

* Refactors LatheDatabaseComponent to use ComponentState

* Refactors MaterialStorageComponent to use ComponentState

* Oopsie

* Another oopsie

* Last oopsie, I hope

* Fix missing Close call.
2019-04-26 15:51:05 +02:00
Víctor Aguilera Puerto 29caf4cf53 Fix the thing (#203) 2019-04-19 12:30:31 +02:00
Silver a18692bc46 Rename toolbox references from ss14 to robust 2019-04-15 21:11:38 -06:00
Pieter-Jan Briers 74b38c49fb
Materials system. (#84) 2018-07-27 17:11:58 +02:00