Commit graph

50 commits

Author SHA1 Message Date
Samuka
4c65a777a8
Xenoborg crystal (#45105)
* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* feedback popups

* Minor tweaks

* better to understand

* better now?

* double the amount of power per crystal

* ajust power levels

* make modules cost more

* update guidebook with new values

* add popup back

* i love solving merge issues

* remove readonly

* use Transform

* predict verb

* only do stuff if both comps are present

* newline

* fix popup

* remove string.empty

* better voltage comment

* remove indentation from comment

* comment

* break the extractor

* fix comp

* change to protected

* add a client system

* make the component with the biggest name ever

* fix the anchor fail message popup

* kill this thing

* update the proto

* revert changes to PowerNetSystem

* ops

* make it spawn some gas when it explodes

* can't discharge

* comment was wrong

* swap order of components

* set examinable to false

* examine text

* rename AnchorableSystem to SharedAnchorableSystem

* rename file and make it abstract

* server side anchor system

* ops

* client anchor system

* use server anchorable system in server

* use battery visuals

* use a helper method

* revert changes to anchorable system

* new system

* new line

* ops, not used

* ops

* fix battery visuals

* set CableDeviceNode as not enabled

* set setting on map init

* enough feedback for the mothership

* new line

* locale changes

* locale changes to SharedPowerNetworkBatteryChargerVoltageTogglerSystem

* change name (again)

* update comments

* add event

* raise a event

* use events

* use a method instead of just raising the event

* more subscriptions to the voltage change event

* update locale stuff

* upgrade voltage toggler system with stuff from the power switch system

* replace power switch with voltage toggle in generator window

* replace power switch with voltage toggle in SharedPortableGeneratorSystem

* replace power switch with voltage toggle in power sensor

* KILL POWER SWITCHABLE COMPONENT AND SYSTEM

* replace power switch with voltage toggle in PortableGeneratorSystem

* replace all PowerSwitchable for VoltageToggler in the prototypes

* nullable switch text

* not required anymore

* mistake with the yml

* fix some issues with locale

* opposite

* i don't have words

* only use delay if it has the delay comp

* revert this change

* revert this change

* revert this change

* revert this change

* add color

* comment

* use another component

* fix the alert not showing

* generic comp for powernetwork battery and power consumer

* rename events

* fix proto

* make it less efficient

* change how it displays the rogue power thingy

* Comp is evil

* comment

* use resolve

* loc id

* error

* one line

* move this stuff to the voltage toggler system

* revert changes to PowerNetConnector

* revert changes to NodeContainerSystem

* revert changes that mess with PowerSupplierComponent

* revert changes to SharedBatterySystem

* revert changes to server BatterySystem

* revert changes to PowerMonitoringConsoleSystem

* remove whitespace

* guess it was 2 lines

* remove this from PowerNetworkBatteryComponent

* PowerConsumerBatteryCharger

* remove charging behavior from power sink system

* add new component to power sink

* extractor now uses power consumer comp

* update PowerDeviceVisuals.Powered for power consumers that are recieving power

* use PowerDeviceVisuals.Powered instead of BatteryVisuals.Charging

* PowerConsumerBatteryChargerEfficiencyVoltageTogglerComponent

* change values

* Orks micro balance

* me when i forget to change the actual value

* change values in the guidebook

* use a event

* move efficiency to the powerconsumer component

* ops

* revert this random change

* remove mapinit

* move to one line

* remove try comp

* update event

* this is important

* use a entity table

* only one line

* use the entity table

* use the current body crusher proto

* update guidebook

* say that it changes the efficiency

* Improve guidebook wording.xml

Co-authored-by: korczoczek <danielkorczok@gmail.com>

* remove random whitespace

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* style stuff

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* make AnchorOnlyOnStationComponent networked

* better wording

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Prettier

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* fix stack text

* give option to be anchored on any station member

* use 4 spaces

* use stuff from the other PR

* revert this change

* remove power toggle things

* idk

* use a update loop

* revert locale changes about the voltage toggler

* remove mentions of voltage toggling

* ops

* fix proto

* remove white line

* revert this

* move efficiency to PowerConsumerBatteryCharger

* revert rider suggestion

* custom sprite for extractor flatpack

* use a new enum

* make it destructible

* cleanup

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: korczoczek <danielkorczok@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-08-13 00:49:37 +00:00
Chris V.
15d3647a31
Fix powered devices reporting as powered when Load is 0 (#43879)
* fix powered devices reporting as powered when Load is 0

* add small power load and draw to reagent grinder

* add small power load and draw for centrifuge and electro...thingy

* remove unhelpful comment

* clean up to make things more clear

* cleanup code for readability, maintaining current functionality
2026-05-27 05:00:36 +00:00
Eveloop
22a547c7c8
Use dependency injection for EntityQuery<T>s in Content.Server (#43566)
* Replace usages of EntityQuery with dependency injected ones in Content.Server

* Remove unused EntityQuery dependencies

* Restore CheckPressureAndFire override method

* Revert EntityQuery refactor changes to DisposalTubeSystem.cs & DisposableSystem.cs

* Infer Transform/Metadata directly instead of passing (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Resolve RA0049, RA0051 errors (#43479)

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-17 15:59:37 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
ScarKy0
f89fdaa935 Revert "Xenoborg extractor (#42796)"
This reverts commit 7f15e77954.
2026-03-17 00:02:36 +01:00
Samuka
7f15e77954
Xenoborg extractor (#42796)
* verb category

* voltage toggle comp

* move stuff

* add simple prototype

* implement verb action

* switch expression

* fixed the node not updating

* charge the battery

* fixed battery not charging

* spawn on battery level system

* finally works

* swap commentary position

* can only anchor the extractor on the station

* popup message for trying to anchor outside of station

* default placement for unanchored version

* ops

* fix body type

* commentary

* update visuals of power consumer

* add custom sprite

* fix light layer not changing

* xenoborg circuit

* fix xenoborg circuit

* add tag

* add hand to hold xenoborg circuits

* move to material

* add xenoborg circuit material

* add recipe to mothership core

* add a hand to hold circuits to the mothership core

* to not confuse

* update

* ops

* another ops

* update mothership

* update guidebook

* update values

* more info

* fix stack

* can store xenoborg circuits

* description

* also update description

* circuit -> crytal

* not modified from anything

* update description

* Revert "update mothership"

This reverts commit 84974c56afadac2a99ed2a166244a668d83fff48.

* update empty label

* small update to sprite

* not necessary code

* remove empty line

* color

* make it explode when destroyed

* change values

* update sprite

* update sprite

* make it eletrified

* flavor text

* simplify to only use charge

* subscribe to event

* new line

* remove popup

* no need for the setter

* no longer networked

* feedback popups

* Minor tweaks

* better to understand

* better now?

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-02-28 00:55:09 +00:00
slarticodefast
3266c94eac
Unify BatteryComponent and PredictedBatteryComponent (#41867)
* unify

* cleanup and merge conflicts

* floating points

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-19 18:18:12 +00:00
slarticodefast
7155d0d291
Cleanup BatterySystem (#41298)
* cleanup

* fix fixtures

* this belongs into the next PR

* review

* misc

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-11-08 20:55:02 +00:00
chromiumboy
499dde1ec1
Bug fix for APCPowerReceiverBattery (#40188)
Initial commit
2025-09-07 16:52:27 +02:00
Nemanja
ab201b6e82
Stasis bed cleanup and bugfixes. (#38762)
* Stasis bed sent to shed

* Code Review

* Code Review 2
2025-07-06 02:59:31 +02:00
metalgearsloth
df2257cd92
Predict gasthermomachines (#33837)
* Predict gasthermomachines

* despawn

* smellby
2025-05-13 21:49:43 +10:00
Pieter-Jan Briers
290bffceec
Make pow3r validation logic available on release (#36075)
I want to run this on live servers. It's behind a power_validate command, it still doesn't automatically get ran outside debug otherwise.
2025-03-25 10:02:39 -07:00
metalgearsloth
1d004f4945
Sentry review (#35424)
Co-authored-by: chromiumboy <chromium.boy@gmail.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
2025-02-24 00:57:27 +11:00
chromiumboy
066c773965
Sentry turrets - Part 2: Basic prototype (#35031) 2025-02-24 00:39:44 +11:00
metalgearsloth
afd0618a60
Station AI (#30944)
* Station AI overlay

* implement

* Bunch of ports

* Fix a heap of bugs and basic scouting

* helldivers

* Shuffle interactions a bit

* navmap stuff

* Revert "navmap stuff"

This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.

* AI wires implemented

* Fix examines

* Optimise the overlay significantly

* Back to old static

* BUI radial working

* lots of work

* Saving work

* thanks fork

* alright

* pc

* AI upload console

* AI upload

* stuff

* Fix copy-paste shitcode

* AI actions

* navmap work

* Fixes

* first impressions

* a

* reh

* Revert "navmap work"

This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.

# Conflicts:
#	Content.Client/Silicons/StationAi/StationAiOverlay.cs

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes
2024-08-28 10:57:12 +10:00
metalgearsloth
a89d4c750b
Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-25 22:18:42 +10:00
Cojoke
b57174007c
Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used
2024-07-18 20:22:23 -04:00
Kevin Zheng
d5019cee96
Add CVar to disable pow3r parallel processing (#28488)
* Add CVar to disable pow3r parallel processing

* Cache CVar value

* Fix pointyhat

* Move all CVar-ing to Content.Server
2024-06-04 16:54:22 +02:00
ShadowCommander
e2bf127323
Move ApcPowerReceiverComponent Powered state to shared (#28206)
* Try syncing powered state to client

For some reason the client is not receiving the ApcPowerReceiverComponentState, so it's not working.

* Fix powered state not syncing to client

The client PowerReceiverSystem was abstract, which prevented it from
running initialize.

* Flip check so that it runs bigger checks first

PowerDisabled skips the others.
NeedsPower skips the receiving check.

* Disallow changing Powered manually

* Move Powered update to PowerReceiverSystem

* Move appearance to event subscription

* Move metadata component to AllEntityQuery

* Cleanup

* Move Powered update back to PowerNetSystem

It's easier to use the EntityQueries and it dosen't need to be updated
anywhere else.

* Put appearance updating back

* Move IsPowered to shared

* Simplify IsPowered

* Cleanup

* Remove duplicate PowerChangedEvent

PowerChangedEvent on ProviderChanged doesn't seem to be needed
PowerChangedEvent gets raised by in update if the power state changes
after a new provider is connected
2024-05-30 16:46:22 +10:00
metalgearsloth
7ada1c6674
Update content to new ParallelManager (#21813) 2023-11-29 11:00:12 +11:00
DrSmugleaf
f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
DrSmugleaf
a136616531
Replace Component.OnRemove with ComponentRemove event subscriptions (#21072) 2023-10-17 19:35:36 -07: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
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
metalgearsloth
b478d5326b
Remove component.Initialize calls (#18230) 2023-07-26 22:37:52 +10:00
Leon Friedrich
5b09ee3102
Use AllEntityQuery<> In power systems (#15336) 2023-04-14 12:45:02 -07:00
metalgearsloth
6fa9104ad7
Update content for pause event changes (#12970) 2022-12-14 11:55:51 +11:00
Leon Friedrich
eebb31493c
Parallelize BatteryRampPegSolver (#12351) 2022-11-09 12:43:45 +11:00
Leon Friedrich
e29dc8c785
Power struct enumerators (#12396) 2022-11-07 03:33:56 +11:00
metalgearsloth
0b38589728
Raise power events by ref and not broadcast (#11923)
Also some other minor stuff.
2022-10-14 23:08:15 -05:00
metalgearsloth
8905996cfc
Make raiselocalevent not broadcast by default (#8998) 2022-06-22 09:53:41 +10:00
Leon Friedrich
2777d2ef64
Update PowerChangedEvent (#7503)
* Update PowerChangedEvent

* Comments
2022-04-13 23:50:42 +10:00
mirrorcult
ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
metalgearsloth
aaea5dd2d8
Fix Sloth's power crime (#6443) 2022-02-02 13:10:31 -07:00
Vera Aguilera Puerto
0a71b62305 Fix build.
I HATE STATIC I HATE STATIC I HATE STATIC
2021-12-08 13:07:24 +01:00
Vera Aguilera Puerto
c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
b835bea086 Inline GetComponent 2021-12-03 11:55:25 +01:00
20kdc
44f5f15790
Power-reading multitool (#5046)
* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.

* Multitool can read power when you examine a cable with the multitool held.

* Multitool power reading: Condense storage information

* power-sensing multitool: Fix ToolSystem ref.

* Power-reading multitools: Fix misuse of GetComponent
2021-10-29 14:42:18 +02:00
Vera Aguilera Puerto
ed3bf94a3b
Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Kara D
d3751ee706
whoops 2021-09-29 17:34:34 -07:00
metalgearsloth
8365e8d52c
Event for PowerNetBattery CurrentSupply changing (#4570)
I re-used AmbientOnPowered but maybe that was lazy; I was doubtful anything would ever have ApcPowerReceiver and PowerNetBatteryComponent.
2021-09-29 17:09:16 -07:00
metalgearsloth
ad783396f8
Update CloseTo to CloseToPercent (#4708) 2021-09-29 20:07:01 +10:00
Vera Aguilera Puerto
0be5ff829b
Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Pieter-Jan Briers
73e4946e27 Pow3r goes brrr with generational IDs. 2021-07-31 02:50:23 +02:00
Pieter-Jan Briers
8c362fcd9b Use non-directed event for powernet battery sync.
Most of the CPU time in the power system was sending these events.
2021-07-29 16:55:09 +02:00
Visne
b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Pieter-Jan Briers
103bc19508
Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
DrSmugleaf
ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Renamed from Content.Server/GameObjects/EntitySystems/Power/PowerNetSystem.cs (Browse further)