* 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
* Conveyor optimisations
- Optimise movement for moving stuff. Better flags + less resolves + slapped parallelrobustjob on it.
- Sleeping for entities getting conveyed into walls.
* Blocker version
* Finish
* Final
* Fix conveyor power mispredict
* Bagel save
* Revert "Bagel save"
This reverts commit 1b93fda81fb852d89b89b0beae0b80f8a61165f2.
* Conveyor resave
* Init Commit
* windows yelling at me to update commit
* working commit, need prediciton and more dehardcoding
* Project 0 warnings
* Working Commit (Near Final)
* ryder got confused commit
* I love Merge Conflicts :)
* Working commit, no prediction
* Forgot the yaml changes
* Comments and typos
* Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default
* Fixed an incorrect divisor
* bit of cleanup
* Prediciton fixed, and puddles now affect all entities
* FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS
* Really big I forgor moment
* Even bigger I forgor moment
* four more merge conflicts to fix four more oopsies
* fixed actual divide by zero moment and also im very dumb
* Even bigger I forgor moment
* four more merge conflicts to fix four more oopsies
* fixed actual divide by zero moment and also im very dumb
* Fix all test fails
* code cleanup
* Webedit whitespace
* Code cleaup
* whitespace webedit
* whitespace webedit
* whitespace webedit
* whitespace removal
* Comments and cleanup
* Re-Added 20 warnings as per Ork's request
* Cleanups
* Spacing fix
* bugfixes and cleanup
* Small bugfix
* Fix prediction
* Mob movement rewrite
* Bandaid
* Working version
* Tentatively working
* Friction to fix cornering
* More fixes
* Refactor mob movement
Trying to cleanup relay ordering / tryupdaterelative being cooked, purge ToParent, and fix all the eye rotation shenanigans.
* Building
* Re-implement jetpacks
* Reorganise weightless movement
* More work
* Fix camera
* reh
* Revert bagel
* Revert this
* Revert held move buttons
* Puddles work but are unpredicted and unoptimized
* Fixes
* Puddle code...
* Actually dirty the slipComp for real
* Sliding component done plus an extra suggestion from ArtisticRoomba
* Atomized Commit
* Added Friction field to Reagent Prototype per design discussion
* Cleaned up Working Commit
* a
* Delete stinkers
* Fix this code smell
* Reviewed
* Funky re-save
* Our conveyance
* Better conveyor sleeping
* Remove this
* Revert "Better conveyor sleeping"
This reverts commit f5281f64bbae95b7b9feb56295c5cf931f9fb2e1.
* Revert that
Way too janky
* Also this
* a
* Working Commit - Still a lot to do
* Acceleration refactor
* Minor jetpack cleanup
* frictionnomovement no longer nullable
* Shared Mover Feels 99% done
* OffGrid/Weightless/Throwing Friction saved
* Fix merge conflicts
* Fix a debug assert
* Final Commit for today
* Some fixes
* Actually use those CCVars Properly
* Need to fix throwing
* Second to last Commit for real
* Jetpack bug fixed
* Jetpack bug fixed
* Test fail patch
* Small patch
* Skates Component cleanup + Bring Accel back to 5 (oops)
* Fix test fail oops
* yaml cleanup make dragons not fat
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Now the name of the target craft items is taken directly from the prototypes
* Deleting unnecessary fields
* Deleting unnecessary fields
* Added suffix field
* Added override via localization keys
* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView
* Fix suffix
* Fix construction ghosts... maybe
* Remove suffix from UI
* Suffixes have been removed from prototypes
* Added a description for the secret door
* Fix search..?
* The Icon field of ConstructionPrototype has been removed
* StackPrototypes used in the construction menu have been localized
* TagConstructionGraphStep used in the construction menu have been localized
* The search bar has been localized
* Fix localization and prototypes
* Recipes are now only loaded when the crafting window is opened.
* Fix crooked merge grid of the crafting menu.
* Localization update
* Fix cyborg graph
* Revert "Recipes are now only loaded when the crafting window is opened."
This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.
* Fix loc
* fix merge
* Fix upstream
* Some of the logic has been moved to Shared
* fix
* Small adjustments
* Very small change
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Empty commit
* epic super duper cool fr push horn draft
* whoops turns out theres a system that does that thingi already x.x
* bunch of like fixis and generalization
* general progress
* most stuffies done
* last thingi hopefully
* small fixies, mostly preventing bypassing the delay by spamming
* rename to fit better
* rename for real i forgor to add
* weird fixie but last commit didn workie
* oki shold be fine now
* lastish cleanup
* fixies
* missed a space
* removed unnecessary component check
* getting the typos out of the way first
* moved the component to shared
* rest of fixies
* Effect mutations now display on examine
* ChangeSpecies shouldn't stay on the list after running. Name cleanup
* EmoGarbage Review - convert description to LocId and add minor logic fix
* fix the dastardly yaml
---------
Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* removed contact slowdowns from entities that are weightless or in the air
* fixed kudzu not applying contact slowdown to airbone entities
* revert kudzu fix
* reimplemented kudzu fix with bool datafield
* update variable serialization format
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* empty commit
* cleaned up and added documentation
* cached airborne check
* rerun tests
* minor review
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
* add lawsets for the xenoborgs and mothership core
* add xenoborg names
* add xenoborg radio
* add xenoborg device frequency
* add xenoborg access
* add xenoborg contraband
* Update Resources/Locale/en-US/station-laws/laws.ftl
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* add xenoborg access to the universal Id card and universal access config
* remove 6th law of xenoborg and mothership lawset (got jointed into the 5th law)
* added xenoborg and mothership law boards
* add more names
* add Xenoborg faction
* moved all lawboards into a separate yml file
* removed custom xenoborg contraband severity
* add Xenoborg and Mothership components
* add xenoborg laser guns
* add self recharging fire extinguisher
* add mothership pinpointer
* add material bag
* add infinite jetpack
* add a only blue energy dagger
* add xenoborg jammer
* add refueling welding tool
* add nocturine hypo
* add nuclear small power cell
* add cloaking device
* add xenoborg door remote
* add custom sprites for xenoborg modules
* add custom sprites for xenoborg module actions
* removed Xenoborg Comp until is actually needed
* add xenoborg module tags
* spelling
* add xenoborg module bases
* organazied xenoborg modules sprites better
* add generic xenoborg modules
* add heavy xenoborg modules
* add engi xenoborg modules
* small fix to meta file in actions_borg.rsi
* renamed mothership comp to XenoborgMothership
* fixed the base for the xenoborg engi modules
* add scout xenoborg modules
* add stealth xenoborg modules
* localization for names and descriptions of the xenoborg modules
* fixed issues related to the XenoborgMothership component
* revert localization (it wasn't working for some reason)
* fixes
* fixed issue with container slot in the cloaking device
* Update description of small capacity nuclear power cell
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Fix indentation in material bag
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Spelling
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* fix parameter order in some prototypes
* rename proto id InfiniteJetpack to JetpackXenoborg
* localize pinpointer targets
* Revert "localize pinpointer targets"
doesn't work
* added lines in the end of files (and in the middle of one)
* reorder paramenter in some entities
* fixed some descriptions
* minor fixes
---------
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* feat: node scanner now auto-updates artifact details if in range
* refactor: minor cleanup
* refactor: optimization for update and query of range checking
* refactor: fix xml-doc
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* 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.
* Parcel Wrap
* fix TG sprite licenses
update attribution on modified `unwrapped` sprite to better conform to CC's guidance
* ContainerContainer test failure fix
* Just easy changes for now.
* Imagine building your code before pushing it for review
* The rest of the PR comments
* PR comments
* more comments + cargo orderability
* whitespace: deduplicated.
* use limitedcharges
replace mostly-duped client/server with if(onserver)
* cabinet perspective sprites
* web edit detected
fite me
* @ps3moira 's new sprites for me :)
* add a touch of attribution
* EmoGarbage Review
* Merge with master
* Merge with master
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* resolve a warning and deal with some linter whining.
* Update Content.Shared/Anomaly/SharedAnomalySystem.cs
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Land Mine is now armable, it will not explode unless armed.
* Land Mine is now armable, it will not explode unless armed.
* Explicitly have Armed as false
* SharedLandMineSystem.cs adds the "Arm"-verb in "Content.Shared" with the Arming logic being implemented in "Content.Server"
* Land Mines now blink only when armed.
* Added prediction components, moved logic to SharedLandMineSystem.cs and inherit it in client content.
* Accessing the datafield directly instead of using methods
* Mines are now armed by default with a unarmed prototype
* Land mine now shows if it is armed when examined and in range.
* Landmine is unarmed by default with an armed variant for mapping purposes.
* Removed properties that were already defined by inheritance.
* Access the bool directly from the component
* Add booleans to change if the Arm-verb is showed and if examining the mine shows the status.
* Added status message for unarmed mine, removed using PushGroup since only one string is displayed.
* Added properties to the explosive floor sign to ensure that it is armed, not showing neither status nor arm-verb.
* The prototypes work now as before with added unarmed versions. Sprite is now only one toggable layer.
* Make the craftable land mine unarmed.
* Refactored the arming mechanic into own component and system.
* Reverted the explosive wet floor sign to previous prototype and added the Armable component and ItemToggle to the landmines.
* Moved the examination strings from land-mines.ftl to armable.ftl.
* Removed unused property.
* Formatting and fixing imports
* Added prefixes to the ftl naming. Moved LocId from system to component
* Added documentation. Moved check for armable to HandleStepTriggerAttempt.
Moved the LocId to component.
* Removed the TryArming method. Added documentation.
* Removed unnecessary TryComp
* Simplified the logic for the trigger attempt
* HasComp instead of TryComp on logic
* EmoGarbage Review
---------
Co-authored-by: Franz - Josef Björck <kaiserbirch@proton.me>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>