Commit graph

53 commits

Author SHA1 Message Date
Whatstone
2f3cedbf78
APC: add visual states for breaker trips, power delivery (#44127)
* APC: breaker/channel state

* Remove unfilled param tags

* revert ApcLockState.LogWidth change

* Remove local trigger var (unneeded)

* Fix blue pixel in channel-disconnected.png

* clown ops

* DataField attribute cleanup, 4-space meta.json

* Denser APC meta.json

* APC visuals: lock is kill!

* APCVisuals cleanup & comments

* comment public API

* Fix meta.json

* APC changes suggested by Pok27

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>

* actually readable ApcVisualLayers comments

* goober

* "ApcVisualsComponent", better null description

* SPACE

* finish incomplete SharedApc comments, inheritdocs

* fix tripped east-facing light

* fix APC screen offsets

* Apply AJCM's suggestions

* SPACE

* MORE SPACE

* a million line constructor

---------

Co-authored-by: Pok27 <113675512+Pok27@users.noreply.github.com>
2026-08-14 15:19:53 +00:00
w3ryfrate
02e8523f05
BreakerFlipRule tweaks and ApcToggleBreaker cleanup (#45097)
* Logging fixed + minor clean-up of ApcToggleBreaker method

* ATS is no longer targeted by BreakFlipRule

* Fixed typo

* Now uses Uid

* Now uses Uid

* Fixed look-up

* Added blacklist to BreakerFlipComponent to specify which entities shouldn't trigger the game rule

* small fix
2026-08-11 21:33:52 +00:00
Krunklehorn
8d1829335e
Power outages are shorter and only affect the main (largest) grid (#37841)
* Cancel if APC is in unpowered list

* Also prevent re-power via re-construction

* Revert useless dependency

* Reduced event time by 10-20 seconds

* Move to ApcSystem

* Also verify game rule is active

* Empty commit

* Move station and affected checking

* Check for main station grid

* Fix format warnings

* Somehow this got duplicated

* Make GetRuleAffectingEntity() also check for BecomesStationComponent

* Make APCSystem also check for ActivegameRuleComponent

* Removed redundant checks and duplicate logic

* Add GridEventEligibleComponent with flag for PowerGridChecks

* Propagate GridEventEligibleComponent.

* Revert GridEventEligible

* Use GetLargestGrid
2026-08-11 04:55:02 +00:00
Stanislav
b22d38f9c0
Yaml audio params are often ignored (#36259)
* Replace WithVolume() with AddVolume(),
Remove AudioHelpers.WithVariation(),
Use specifier options for audio params

* Undo switching to AudioParams.AddVariation()

* Replace AudioHelpers.WithVariation with AudioParams.AddVariation()

* Test AudioParams.AddVariation() and change input parameters to sound like previous AudioHelpers.WithVariation()

* Fix build error

* Fix build error v2

* Remove DoAfter

* fixes

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-25 16:16:23 +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
MidoriKurage
a01e7dcf40
fix: APC sprites stuck in fully drained states on round start (#42852)
* Fix APC incorrect charge state caused by race condition on map startup

* fix: Defer the update from ChargeChangedEvent to next tick
2026-02-09 12:59:43 +00:00
AshBats
f202880461
Admin log now shows APC power toggle interactions (#41839)
Added logging to the APC's toggle interaction
2025-12-14 03:15:58 +00:00
slarticodefast
0031beca4b
Reapply "Trip APCs when they exceed a power limit (#41377)" (#41789)
Revert "Merge stable into master"
2025-12-08 10:35:11 +00:00
ArtisticRoomba
c867adb937
Revert "Trip APCs when they exceed a power limit (#41377)" (#41766)
This reverts commit a5c223c0
2025-12-08 04:23:45 +01:00
Partmedia
a5c223c0c3
Trip APCs when they exceed a power limit (#41377)
* Implement APC overloading

* Add power test

* Review

* Some more reviews

* Show map coordinates for test failures

* Widen column 2

* Reduce singularity beacon power consumption

* Try to get grid coordinates
2025-11-21 15:01:23 +00:00
slarticodefast
5227489360
Predict EMPs (#39802)
* predicted emps

* fixes

* fix

* review
2025-10-04 11:24:42 +00:00
ScarKy0
253a9fbdf1
Seperate EMAG into EMAG and Authentication Disruptor (#34337) 2025-01-29 23:05:47 -05:00
eoineoineoin
70b7747fdd
Make APC UI work correctly with multiple users (#32465)
* Make APC UI work correctly with multiple users

* Check access only on client, when constructing UI

* Do TODO (Thanks, Robust 236.1)

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-12 19:21:43 +11:00
Pieter-Jan Briers
797aebb161
Fix bugs resulting in quantum APC visual states (#29475)
There were TWO bugs here

FIRST, APCs *did* update their visual state on initialization, but at that point the relevant power state hasn't been initialized yet, so it always returns a bogus result. There aren't guaranteed to be subsequent power updates that actually trigger the APC to update so this can get it stuck.

Fixed by just deferring the on-init update to be after the first update tick, which is itself ordered to be after power update.

SECOND: Once I fixed that, I ran into the issue that APCs created at *server startup* also fail to update, because the throttling system (to prevent frequent APC updates) thinks the LastChargeStateTime was at server startup.

Fixed by making that variable nullable so it defaults to null.

Also removed the useless datafields on the "last update" fields. These are all just used to cache and throttle updates, something that should not be persisted to a map file.
2024-06-28 22:07:00 -04:00
metalgearsloth
c53b5d422d
Don't update APC states unless UI open (#27803) 2024-05-28 20:34:46 -04:00
metalgearsloth
ce0a175c73
Implement Equals for ApcBoundInterfaceState (#27965)
* Implement Equals for ApcBoundInterfaceState

Saves a lot on bandwidth. Also made it round to the nearest 5.

* Also this
2024-05-13 14:05:37 +10:00
metalgearsloth
5896e68752
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
2024-04-26 18:16:24 +10: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
metalgearsloth
d5bd1c6f86
Predict StorageComponent (#19682) 2023-09-11 21:20:46 +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
af79f369ae
Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
metalgearsloth
2d1ac6e01d
Revert "add breakers to power batteries" (#17632) 2023-07-08 12:47:38 +10:00
deltanedas
6acfe53e5f
add breakers to power batteries (#16903)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-06-07 12:43:54 -07:00
metalgearsloth
f7950d07e2
Revert "Revert "Emp more effects" (#16159)" (#16165)
This reverts commit 0da5a78509.
2023-05-06 11:26:04 -04:00
metalgearsloth
0da5a78509
Revert "Emp more effects" (#16159) 2023-05-06 20:45:49 +10:00
Slava0135
4d47562dde
Emp more effects (#14550)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-05-06 11:38:09 +10:00
Slava0135
4646e58cbc
Fix apc battery state (#15568) 2023-04-23 18:22:09 +10:00
Slava0135
adb12676c6
replace apc panel with wires panel (#14832) 2023-04-20 16:42:22 +10:00
Slava0135
2689ff4f23
fix apc toggle (#15562) 2023-04-20 16:27:59 +10:00
Leon Friedrich
9513ea66e4
ECS BatteryComponent (#15337) 2023-04-19 20:10:08 +10:00
Leon Friedrich
df3dae9093
DoAfter fixes (#15127) 2023-04-03 23:28:55 -07: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
James Simonson
3bcd319ae4
Enhanced APC UI + New NT logo to footer (#14258) 2023-03-06 21:55:35 -04:00
Slava0135
b2972c1d2c
Add emp grenade (#14393) 2023-03-06 11:05:12 -08:00
keronshb
9ebb452a3c
DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
Kevin Zheng
32b9a7b781
Add APC power meter (#14196) 2023-02-21 09:23:38 -06: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
Visne
5a5a3afbb1
Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
Nemanja
d87d8f2886
predict emag and make blessed record struct events (#13623) 2023-01-22 02:12:45 +11:00
Visne
c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Leon Friedrich
881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Leon Friedrich
eebb31493c
Parallelize BatteryRampPegSolver (#12351) 2022-11-09 12:43:45 +11:00
rolfero
d7b31865ff
APC construction updated, uses electronics (#10987)
* APC construction and deconstruction
Construction action GivePrototype

* APC needs screwing + sprites

* apc framework, working construction recipe

* Energy swords hot

* APC changes

* APC construction/deconstruction

* removed comments

* Revert "Energy swords hot"

This reverts commit 75228483abb3cc6252118b319bc8949d5198362d.

* Renamed function for clarity

* Fixed the last step not showing in the construction menu

* Some fixes

* Update Content.Server/Power/EntitySystems/ApcSystem.cs

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

* Update Content.Server/Construction/Completions/GivePrototype.cs

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Structures/Power/apc.yml

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Structures/Power/apc.yml

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

* Update Content.Server/Power/Components/ApcElectronicsComponent.cs

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

* Update Content.Client/Power/APC/ApcVisualizer.cs

Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>

Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
2022-09-09 20:27:41 -07:00
Kara
dc28b58468
Visual popup types (#9523)
* Visual popup types

* Pass over `PopupCoordinates` and `PopupCursor`

* `PopupEntity` pass

* Disease and reagent popup pass

* COLOUR
2022-07-09 04:09:52 -05:00
keronshb
f7b1bda3e5
Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
keronshb
d5620aa833
AccessReader IsAllowed use resolve (#8527) 2022-06-01 08:26:50 -07:00
Rane
7900abb888
Literally Murder IExamine (#7352) 2022-04-08 14:17:25 -07:00