* 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
* code stuff
* fix error
* now its fixed
* use the charge from the arg
* only on battery full
* remove whitespace
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* use default! instead of null!
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* use set charge
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Everything except the YAML slop...
* She solution on my manager till I sajfslkahfsjakfhaskjfshajksafhfsakhfasjfas
* another 1000 lines
* fix chem dispenser size
* go my shnelf
* Implicit ass
* rider is being mean for some reason
* dasdas
* borger
* better formatting go!
* clothes/bloodstream
* Cartons
* cups and bottles
* mmm soder
* bar drinks
* Spray bottles and some size tweaks with hindsight
* 99 bottles of beer on the wall I hate YAML
* push that shit
* mmm burger
* Sneed
* sheets
* condiments
* mmm yummy
* fridge yummyfood
* meat...
* sub 300
* burger...
* bready
* let them eat cake
* does she know how to make a grilled cheese?
* pizza pie!
* misc shit
* soup or salad
* Food and drinks, vanquished
* the cubes!!!
* Almost free from YAML...
* fix test fails and some yaml issues
* fix prediction, almost done
* fix all test fails
* remove master merge artifacts and undo autonetworking
* review and compatibility
* graaah
* unfuck master merge I hate github
* merg conflicts
* sfsa
* ehoop
* sadas
* afsafsaasf
* merge conflicts
* fucked up the merge conflicts
* merge conflict is fucked I might need to completely redo this branch
* test fail
* no calcium????
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* 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>
* initial commit
* misc additions and fixes
* final tests and additions
* cleanup 1
* fix tests and add a test
* fix tests AGAIN
* abject horror and misery
* cleanup
* cleanup 2
* address some issues
* 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
* cleanup
* fix fixtures
* this belongs into the next PR
* review
* misc
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* eye on the prize
* OnStackInteractUsing, TryMergeStacks, TryMergeToHands, TryMergeToContacts
* namespace
* Use, get count, getMaxCount
* component access
* add regions, mark TODO
* obsolete TryAdd, public TryMergeStacks
* GetMaxCount
* event handlers
* event handlers
* SetCount
* client server event handlers
* move to shared
* Revert "move to shared"
This reverts commit 45540a2d6b8e1e6d2a8f83a584267776c7edcd73.
* misc changes to shared
* split
* spawn and SpawnNextToOrDrop
* SpawnMultipleAtPosition, SpawnMultipleNextToOrDrop, CalculateSpawns, general server cleanup
* Rename Use to TryUse.
* Small misc changes
* Remove obsolete functions
* Remove some SetCount calls
* Partialize
* small misc change
* don't nuke the git dif with the namespace block
* Comments and reordering
* touchup to UpdateLingering
* Summary comment for StackStatusControl
* Last pass
* Actual last pass (for now)
* I know myself too well
* fixup
* goodbye lingering
* fixes
* review
* fix test
* second look
* fix test
* forgot
* remove early comp getting
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Predicted gas pumps
I wanted to try out atmos and first thing I found.
* a
* Atmos device prediction
- Canisters
- Tanks
- Internals
AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.
* Remove details range
* Gas tank prediction
* Even more sweeping changes
* Alerts
* rehg
* Popup fix
* Fix merge conflicts
* Fix
* Review
* Add ENERGYWATTHOURS() loc function
Takes in joules (energy), displays as watt-hours.
* Add simple OnOffButton control
* Re-add Inset style class
This was sloppily removed at some point?? Whatever, I need it.
* Add helper functions for setting title/guidebook IDs on FancyWindow
Reagent dispenser uses these, more in the next commits.
* Add BuiPredictionState helper
This enables me to implement coarse prediction manually in the battery UI.
Basically it's a local buffer of predicted inputs that can easily be replayed against future BUI states from the server.
* Add input coalescing infrastructure
I ran into the following problem: Robust's Slider control absolutely *spams* input events, to such a degree that it actually causes issues for the networking layer if directly passed through. For something like a slider, we just need to send the most recent value.
There is no good way for us to handle this in the control itself, as it *really* needs to happen in PreEngine. For simplicity reasons (for BUIs) I came to the conclusion it's best if it's there, as it's *before* any new states from the server can be applied. We can't just do this in Update() or something on the control as the timing just doesn't line up.
I made a content system, BuiPreTickUpdateSystem, that runs in the ModRunLevel.PreEngine phase to achieve this. It runs a method on a new IBuiPreTickUpdate interface on all open BUIs. They can then implement their own coalescing logic.
In the simplest case, this coalescing logic can just be "save the last value, and if we have any new value since the last update, send an input event." This is what the new InputCoalescer<T> type is for.
Adding new coalescing logic should be possible in the future, of course. It's all just small helpers.
* Battery interface
This adds a proper interface to batteries (SMES/substation). Players can turn IO on and off, and they can change charge and discharge rate. There's also a ton of numbers and stuff. It looks great.
This actually enables charge and discharge rates to be changed for these devices. The settings for both have been set between 5kW and 150kW.
* Oops, forgot to remove these style class defs.
* Predict dumping
- This got soaped really fucking hard.
- Dumping is predicted, this required disposals to be predicte.d
- Disposals required mailing (because it's tightly coupled), and a smidge of other content systems.
- I also had to fix a compnetworkgenerator issue at the same time so it wouldn't mispredict.
* Fix a bunch of stuff
* nasty merge
* Some reviews
* Some more reviews while I stash
* Fix merge
* Fix merge
* Half of review
* Review
* re(h)f
* lizards
* feexes
* feex
* Various systems warnings cleanup
* Last changes before submitting PR
* Add guard for transform component, fix failing test
* Small corrections
* Audio params to specifiers datafields
* Using audio params on components and configs
* Use class instead of out variables
* Show battery level in power monitoring console
* Better color contrast for battery level + localized string
* Add visualization to battery percentage
* Reverts random ChatSystem.cs whitespace change
* Address review
* Show BatteryLevel stats in child view when selecting devices
---------
Co-authored-by: Crotalus <crotalus@users.noreply.github.com>
* Rebalance HoS's Energy Shotgun
* SLIGHTLY Up the max charge so the gun properly recharges all of its charges, which matters a lot more with the self charge cooldown system.
* Prevent recharge cooldown if 0 power is used.
* Makes the clientside HUD actually update to reflect the changes in firecost and thus max/current charges.
* Properly fix that recharging to just under full issue instead of applying a budget fix to only the eshotgun.
* Clean up the client ammo UI fix.
* Update the self recharger component to comply with maintainer request.
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Remove code that was made redundant by a hotfix from another PR.
* Make the recharge pause on EMP, document things where needed, clean up code as per maintainer request, add a note to make the code better when power is moved to shared.
* Fix another internal issue
* Code cleanup + fix the rapid recharge verb to remove pause.
* cleanup
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>