Commit Graph

233 Commits

Author SHA1 Message Date
Ed c5653546c6 LatheSystem independently of energy (#30148)
* Update LatheSystem.cs

* Emo
2024-08-09 17:50:33 +01:00
Pieter-Jan Briers 4a2fe34404
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-07-25 01:53:30 +02:00
Kevin Zheng 67c27e351e
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-08 20:16:21 +02:00
Plykiya b2931f9a33
Replace obsolete EntityWhitelist IsValid usages (#28465)
* Replace obsolete whitelist is valid with whitelist system

* Consistency

* Fix logic

* Bork

* I figured out how to get whitelists on the client lol

* test fail

* woops

* HELP ME FUNCTIONS

* Fix errors

* simplify

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-06-06 21:44:41 +02:00
metalgearsloth 4755223c9f
Predict ActivatableUIRequiresPower (#28405)
A lot of BUIs aren't going to handle the state coming in cleanly but we can fix em as we find em.
2024-06-01 17:38:43 +02:00
ShadowCommander ebddaa8e3d
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-06-01 17:38:41 +02:00
metalgearsloth da6ab10cb3
Don't update APC states unless UI open (#27803) 2024-06-01 17:19:23 +02:00
metalgearsloth 93a6823bbb
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-18 13:59:01 +02:00
Nemanja 3055d7bac5
Mega Antag Refactor (#25786)
* Mega Antag Refactor

* last minute delta save

* more workshopping

* more shit

* ok tested this for once

* okkkkk sure

* generic delays for starting rules

* well darn

* nukies partially

* ouagh

* ballin' faded and smonkin wed

* obliterated the diff

* Spread my arms and soak up congratulations

* I've got plenty of love, but nothing to show for it

* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity

* ok this junk

* OOK!

* fubar

* most of sloth's review

* oh boy

* eek

* hell yea!

* ASDFJASDJFvsakcvjkzjnhhhyh
2024-05-15 19:48:32 +02:00
Mr. 27 9be2c37cf3
emote wheel fixes (#27545)
* cheese

* Update disease_emotes.yml
2024-05-07 04:19:00 +02:00
Leon Friedrich 2cc879bb1c
Replace NavMap dictionaries with int[] (#27602)
* Replace NavMap dictionaries with int[]

* Remove badly named const

* Remove unnecessary offset

* Prioritize airlocks
2024-05-07 04:18:25 +02:00
metalgearsloth 1d63b4cfcb
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

(cherry picked from commit 5896e6875266b22c565009b5d45f60ceb981d90a)
2024-05-03 00:15:32 +02:00
Leon Friedrich 01e6149cc1
Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile

(cherry picked from commit 888a3bda515a214733bf748c5d6a7e7c923a301e)
2024-04-07 14:14:34 +02:00
Jake Huxell 7be31aab33
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
Leon Friedrich 369e3eee99
Use entity queries in ambient sound & power receiver systems (#26410)
(cherry picked from commit 31d70db547f855d2a3d4075e4fcf54d1c87c0f06)
2024-03-27 18:35:13 +01:00
Tayrtahn eb4cd9bc0b
Code Cleanup: Purge obsolete MapManager methods (#26279)
* GetGrid

* GridExists

* TryGetGrid

(cherry picked from commit ae3d745430e3c5250d19553429e7cda2b8050d10)
2024-03-24 00:13:35 +01:00
Tayrtahn 338034a9e0
Fix borg charger error (#26230)
Fix borg chargers not working

(cherry picked from commit 29887636e5614f4f91b968107875722293f0c8b4)
2024-03-23 23:56:18 +01:00
Tayrtahn a8d082374d
Remove all obsolete BatteryComponent method calls (#25871)
Removed all obsolete, non-ECS method calls to BatteryComponent

(cherry picked from commit 2935e5bd780d6cd08897521ba0b54adccb3fd0da)
2024-03-07 01:52:46 +01:00
Ed 25dbae8f9c
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>
(cherry picked from commit 498ad2d5d714c73d9212bda9d3d89d53b2001e04)
2024-02-08 12:11:07 +01:00
Nemanja 7573dba496
Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek

(cherry picked from commit a9e89ab37221c4f5eff5a9e1d42e97c6f3e0753b)
2024-01-27 23:43:49 +01:00
Nemanja 9890ea542c
machine parts + power cell resprite (#23913)
* machine parts + power cell resprite

* logic fix

(cherry picked from commit b3014e6cb33cecb6796c3002385d862d581e2762)
2024-01-26 22:26:40 +01:00
Nemanja 53c4793673
Turbo Recharger (#23723)
turbo charger

(cherry picked from commit c861b66a476a1ea1037ec173b088cafd5519f757)
2024-01-26 22:12:03 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
chromiumboy a37bf27456
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'

(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
2024-01-22 18:28:33 +01:00
Kot 69fbfb7278 fix: ExtensionCableSystem to be consistent (#22745)
* fix: Use manhattan distance for extension cable system

* fix: Changed my mind
2023-12-22 23:07:51 +01:00
metalgearsloth 122d6f01a7 Update content to new ParallelManager (#21813) 2023-12-02 20:27:37 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
metalgearsloth 4cf7f4f1c9 Predict tile-prying (#21167) 2023-10-23 23:54:01 +02:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
DrSmugleaf 4526541d58 Replace Component.OnRemove with ComponentRemove event subscriptions (#21072) 2023-10-20 15:30:20 +02:00
TemporalOroboros 8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00
chromiumboy d6242342c4 SMES and substation require power cells as machine parts (#20344)
* Initial commit

* Balancing and tweaks
2023-10-14 22:03:31 +02:00
metalgearsloth f38f0ab614 Predict StorageComponent (#19682) 2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02: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
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
Nemanja b8250f9601
entity storage tweaks (#19182) 2023-08-15 16:49:30 -06: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
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
Nemanja 2d08f02d23
Material generators from Afterlight (#18387) 2023-07-31 14:42:38 -04:00
metalgearsloth b478d5326b
Remove component.Initialize calls (#18230) 2023-07-26 22:37:52 +10:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
Sailor 9d844520be
Implement RiggableSystem, stunbatons injectable (#17288)
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
2023-07-08 13:32:31 +10:00
metalgearsloth 2d1ac6e01d
Revert "add breakers to power batteries" (#17632) 2023-07-08 12:47:38 +10:00
faint 2f85b5ea3c
Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Alex Nordlund 29297970e4
Connect to the closest ExtensionCable instead of the first (#17271) 2023-06-15 11:31:14 +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
deltanedas 304832dcf6
floor recharger examine charge rate (#17074)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-06-03 12:09:18 -07:00
Segonist 863d8e8601
constructable rechargers (#16367) 2023-05-31 23:48:55 +10:00
Pieter-Jan Briers e3ec80b648
Don't show grilles in the power monitor (#16962) 2023-05-30 15:34:45 -07:00
Vasilis 4f8d4f89d6
Health analyzer displays turns off when the battery dies (#16125) 2023-05-13 12:28:11 -04: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
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +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
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
Leon Friedrich 9513ea66e4
ECS BatteryComponent (#15337) 2023-04-19 20:10:08 +10:00
Leon Friedrich 5b09ee3102
Use AllEntityQuery<> In power systems (#15336) 2023-04-14 12:45:02 -07:00
DrSmugleaf b947856431
Remove hands component reference (#15197) 2023-04-07 11:21:12 -07: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
Slava0135 d03ca61da1
Telecom server panel check (#14523) 2023-03-23 20:09:45 -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
metalgearsloth 44fb8a9e2d
Fix rsi sprite access for verbs (#14284) 2023-02-26 18:48:57 +11:00
Leon Friedrich 2351bbb607
Add power debug verbs (#14212) 2023-02-26 04:14:35 +11: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
Chief-Engineer 6f58f5a36c
Improve construction logs (#13146) 2023-01-20 08:17:57 -08:00
Rane 80d4dc430d
Generic power switch component (#11999) 2023-01-20 08:05:54 -08:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
metalgearsloth 2873a830bd
ECS airlocks (#13500) 2023-01-17 11:44:32 -07:00
Nemanja faca40b8d5
more component ref removal + combining server/client comps (#13178)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-12-25 05:28:21 +01:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
metalgearsloth 6fa9104ad7
Update content for pause event changes (#12970) 2022-12-14 11:55:51 +11:00
metalgearsloth 3b3963083b
Replace GridEntityId with Owner (#12743) 2022-12-12 14:59:02 +11:00
Nemanja d1b5630648
fix infinite power gen bug (#12688) 2022-11-20 20:50:43 -06: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
0x6273 a201d777bc
Machine upgrade examine verb (#12119) 2022-11-04 14:27:47 +11:00
Nemanja cfab87b3d7
generator machine upgrading (#12145) 2022-10-22 15:38:57 -07:00
Mervill a5a92c4dca
Hotfix for Battery & Weapon Chargers. (#11976) 2022-10-17 09:05:35 +11:00
Mervill 15a772fb96
Cleanup for ChargerComponent (#11907) 2022-10-16 21:21:54 +11:00
Nemanja c20f1ac559
Add a component for upgrading power consumption in machines (#11777)
Co-authored-by: 0x6273 <0x40@keemail.me>
2022-10-15 14:28:12 -07:00
corentt 67760da204
Add power selling price (#11395) 2022-10-15 14:10:48 -07:00
Mervill c11c11bace
Unhardcode some logic related to objects with battery slots. Minor fix to fire helmets. (#11734) 2022-10-15 13:15:39 -07:00