Commit Graph

263 Commits

Author SHA1 Message Date
Tayrtahn
2935e5bd78 Remove all obsolete BatteryComponent method calls (#25871)
Removed all obsolete, non-ECS method calls to BatteryComponent
2024-03-06 16:34:50 +11:00
metalgearsloth
05a2ddff1c Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a
2024-02-11 14:19:45 +11:00
Ed
498ad2d5d7 Lock Anomaly generator to research access (#24464)
* small patch

* fix

* remove garbage

* fix

* moved to shared events

* fix

* LocId

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-02-01 19:45:24 +11:00
Pieter-Jan Briers
b029d05620 Fix chemical fuel generator division by zero (#24793)
This would happen when they run out of fuel.
2024-02-01 14:36:41 +11:00
SpeltIncorrectyl
5d2ddc0d8b Adds signal control to portable generators (#24157)
* added signal control to portable generators

* added documentation

* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs

* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype

* made GeneratorSignalControlComponent nicer

* implemented auto-revving

* added back necessary dependency

* can't send do-after event manually

* repeat now works with auto revving

* fixed

* removed vv

* stopping generating when it is revving now makes it stop revving

* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* used resolve instead of TryComp

---------

Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-01-29 15:56:29 +01:00
Pieter-Jan Briers
f855cb2b00 Make PACMANs a little better (#24604)
* PACMAN generators show network load/supply.

This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).

* Buff JRPACMAN to 8 kW.

Shifted all power values up by +3 kW.

They're frequently too weak to power even single rooms so they deserve a buff.

* Change unit format helpers number format.

Always displays one digit of precision. This avoids jumping around when a value is changing live.
2024-01-26 21:53:43 -05:00
Nemanja
a9e89ab372 Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek
2024-01-23 09:13:04 +11:00
Nemanja
691c3d55b8 Allow chemical-fueled generators to use multiple reagents (#24258)
multi-reagent generators
2024-01-20 17:25:52 -08:00
Nemanja
b3014e6cb3 machine parts + power cell resprite (#23913)
* machine parts + power cell resprite

* logic fix
2024-01-10 23:06:01 -07:00
Nemanja
c861b66a47 Turbo Recharger (#23723)
turbo charger
2024-01-08 00:15:13 -07:00
AJCM-git
9c522c8b19 UseDelay + ItemCooldown merge (#22502) 2024-01-03 21:33:09 -04: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
chromiumboy
1de682e23f Power monitoring console overhaul (#20927)
* Prototyping whole station wire map

* More prototyping

* Added icons for the different power distributors and toggleable cable displays

* Power cable layouts are now only sent to the client when the power monitor is open

* UI prototyping

* Power monitors can now see the sprites of distant entities, long entity names are truncated

* Updated how network devices are added to the player's PVS

* More feature prototypes

* Added source / load symbols

* Final prototype! Time to actually code it properly...

* Start of code clean up

* Continuing code clean up

* Fixed UI appearance

* Code clean up complete

* Removed unnecessary changes

* Updated how power values are calculated, added UI warnings for power sinks and power net checks

* Updated how power values are calculated again, added support for portable generators

* Removed unnecessary files

* Map beacons start toggled off, console map now works outside the station, fixed substation icon

* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected

* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap

* Updated the colors/positions of HV cables and SMESes to improve contrast

* Fixed SMES color in map legend

* Partially fixed auto-scrolling on device selection, made sublists alphabetical

* Changed how auto-scroll is handled

* Changed the font color of the console warning messages

* Reduced the font size of beacon labels

* Added the station name to the console

* Organized references

* Removed unwanted changes to RobustToolbox

* Fix merge conflict

* Fix merge conflict, maybe

* Fix merge conflict

* Updated outdated reference

* Fixed portable_generator.yml

* Implemented a number of requested changes, move bit masks to a shared component

* Navigate listings via the navmap

* First attempt at improving efficiency

* Second attempt at optimization, entity grouping added for solar panels

* Finished solar panel entity joining

* Finished major revisions, code clean up needed

* Finializing optimizations

* Made requested changes

* Bug fix, removed obsolete code

* Bug fixes

* Bug fixes

* STarted revisions

* Further revisions

* More revision

* Finalizing revisions. Need to make RT PR

* Code tidying

* More code tidying

* Trying to avoid merge conflicts

* Trying to avoid merge conflicts

* Removed use of PVS

* Improving efficiency

* Addressed a bunch of outstanding issues

* Clear old data on console refresh

* UI adjustments

* Made node comparison more robust. More devices can be combined into one entry

* Added missing component 'dirty'
2023-12-24 17:07:41 +11:00
Kara
bc1f8b0e40 Convert atmos device events to ref events (#22843) 2023-12-21 17:48:18 -08:00
Kot
9e03d7cc3e fix: ExtensionCableSystem to be consistent (#22745)
* fix: Use manhattan distance for extension cable system

* fix: Changed my mind
2023-12-20 16:43:46 -07:00
Leon Friedrich
477327f952 Atmos scaling cvar changes (#22501) 2023-12-15 14:02:21 -08:00
metalgearsloth
7ada1c6674 Update content to new ParallelManager (#21813) 2023-11-29 11:00:12 +11:00
metalgearsloth
78b76eefd2 Bandaid TEG shutdown (#21876)
Power moment
2023-11-27 14:24:12 -07:00
metalgearsloth
269c93245d Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11: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
deltanedas
b6a8f5e780 Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-25 23:57:23 +11:00
metalgearsloth
46a3076ecb Predict tile-prying (#21167) 2023-10-24 00:20:33 +11:00
DrSmugleaf
f560f88eb5 Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
TemporalOroboros
414701dd3b Swaps HV/MV/LV scaling to supply power scaling (#20880) 2023-10-18 14:04:47 -07:00
DrSmugleaf
a136616531 Replace Component.OnRemove with ComponentRemove event subscriptions (#21072) 2023-10-17 19:35:36 -07:00
TemporalOroboros
0775ab6a14 Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-15 03:45:28 +11:00
chromiumboy
535b013f63 SMES and substation require power cells as machine parts (#20344)
* Initial commit

* Balancing and tweaks
2023-10-12 12:06:03 -04:00
Leon Friedrich
86fa8ae180 Remove IoC resolves in BaseNetConnectorNodeGroup and friends (#20333) 2023-09-19 22:44:49 +10:00
metalgearsloth
d5bd1c6f86 Predict StorageComponent (#19682) 2023-09-11 21:20:46 +10:00
metalgearsloth
99b77bc2d3 Remove lights compref (#19531) 2023-09-11 19:18:06 +10:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
deltanedas
24810d916b ninja 2 electric boogaloo (#15534)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-10 16:20:27 +10:00
Leon Friedrich
2d71eec6f9 Remove AllComponentsOneEntityDeleteTest (#19965)
* Remove AllComponentsOneEntityDeleteTest

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2023-09-09 19:35:05 -05:00
deltanedas
f2669b5771 Clean up APCs (#19841)
While here, fix an issue where APCs don't update the UI state after a load change.
2023-09-05 13:19:43 -08:00
Leon Friedrich
e4ca6f4fb9 Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
Leon Friedrich
af79f369ae Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
metalgearsloth
279674c0b3 Revert "Make lights dim under low power" (#19708) 2023-09-01 09:47:30 +10:00
Pieter-Jan Briers
bf16698efa Portable Generator Rework (#19302) 2023-08-25 11:40:42 -07:00
DrSmugleaf
35107f7c2b Fix component generic usages where IComponent would not be valid (#19482) 2023-08-24 20:10:55 +10:00
Kevin Zheng
f8bdfd6d26 Make lights dim under low power (#19317)
* Make lights dim under low power

* Slightly more dramatic curve
2023-08-22 20:29:10 -05:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Kara
1e65eea905 Fix some TEG code conventions (#19259) 2023-08-17 11:50:41 -07:00
Nemanja
b8250f9601 entity storage tweaks (#19182) 2023-08-15 16:49:30 -06:00
Kevin Zheng
d7fa5b73c3 Remove atmos device dependency on game timer (#18847) 2023-08-13 16:42:12 +10:00
Nemanja
98fa00a21f Borgs (#18136)
* Laws

* positronic brain and PAI rewrite

* MMI

* MMI pt. 2

* borg brain transfer

* Roleban support, Borg job (WIP), the end of mind shenaniganry

* battery drain, item slot cleanup, alerts

* visuals

* fix this pt1

* fix this pt2

* Modules, Lingering Stacks, Better borg flashlight

* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.

* sprotes

* no zombie borgs

* oh fuck yeah i love a good relay

* charger

* fix the tiniest of sprite issues

* adjustable names

* a functional UI????

* foobar

* more modules

* this shit for some reason

* upstream

* genericize selectable borg modules

* upstream again

* holy fucking shit

* i love christ

* proper construction

* da job

* AA borgs

* and boom more shit

* admin logs

* laws redux

* ok just do this rq

* oh boy that looks like modules

* oh shit research

* testos passo

* so much shit holy fuck

* fuckit we SHIP

* last minute snags

* should've gotten me on a better day
2023-08-12 16:39:58 -05:00
Pieter-Jan Briers
a242af506e Adds the thermo-electric generator (#18840)
* Basic TEG start.

Connects via node group.

* Basic TEG test map

* Sensor monitoring basics, TEG circulator flow

* Basic power generation (it doesn't work)

* More sensor monitoring work

* Battery (SMES) monitoring system.

* Sensor monitoring fixes

Make it work properly when mapped.

* Test map improvements

* Revise TEG power output mechanism.

Now uses a fixed supplier with a custom ramping system.

* TEG test map fixes

* Make air alarms and pumps open UI on activate.

* Clean up thermo machines power switch.

Removed separate Enabled bool from the component that always matched the power receiver's state.

This enables adding a PowerSwitch component to give us alt click/verb menu.

* TEG but now fancy

* Make sensor monitoring console obviously WiP to mappers.

* Vending machine sound, because of course.

* Terrible, terrible graph background color

* Examine improvements for the TEG.

* Account for electrical power when equalizing gas mixtures.

* Get rid of the TegCirculatorArrow logic.

Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.

Thanks Julian.

* Put big notice of "not ready, here's why" on the sensor monitoring console.

* TryGetComponent -> TryComp

* Lol there's a HideContextMenu tag

* Test fixes

* Guidebook for TEG

Fixed rotation on GuideEntityEmbed not working correctly.

Added Margin property to GuideEntityEmbed

* Make TEG power bar default to invisible.

So it doesn't appear in the guidebook and spawn menu.
2023-08-12 15:41:55 -05:00
Vasilis
eda7e744a3 Spilling liquids no longer exposes true identify (#18505)
* mama i did it by myself!

* wait how does this fix it? what???

* oops
2023-07-31 19:15:17 -04:00