* Creates TemperatureDamageThresholdsComponent
* Obsolete TemperatureComponent fields
* Use TemperatureDamageThresholdsComponent
Moves all the uses of the relocated TemperatureComponent fields to use the TDTC versions
* Removes the obsolete TemperatureComponent fields
* Update YAML definitions
* Update doc comments
* Split TemperatureSystem
Creates TemperatureDamageSystem and moves the damage handling from TemperatureSystem
* Cull unused using statements
* Use component-based damage tick scheduling
* Fix temperature damage processing
Check was inverted resulting in things never starting to take temperature damage
* Poke tests
* Add TemperatureDamageThresholds to new prototypes
* Move TemperatureDamageThresholdsComponent to Shared
Parity with TemperatureComponent
* While I'm here
Fixes warning regarding obsolete ProtoId validator attribute
* Fix YAML errors
* Fix merge errors
* Rename TemperatureDamageThresholdsComponent -> TemperatureDamageComponent
* Use ContentHelpers.RoundToLevels for temperature alerts
* Fix YML
* A fuckton of cleanup
* working cleanup
* fix
* misc additions
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Physics asserts and Xenoarch fixes
* Fix blocking asserts
* Alright ready for the test fails
* Fix whitespace issues
* Fix whitespace
* Okay fix whitespace issues for real
* Fix test fails
* Temp fix
* Fix
* Whitespace
* Added a big ass comment
* Right
* A
* Should work
* Debug performance
* Mothership
* fix test fails real
* push
* fix
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Make ServerPackaging automatically get extra server assemblies
* Make the switch
* Use Content.Server.deps.json instead
* Remove debug
* Rewrite
Now recursively fetches dependencies from Content.Server
Only copies dependencies not covered by Robust
This removes the need to manually specify most of the dependencies, even the content ones!
Also look at runtime key properly to figure out the proper dll name.
This actually removes some assemblies that were duplicated between the main directory and assemblies (various Microsoft.Extensions stuff)
* Fix test compile errors when updating dependencies
Ran across this while updating dependencies on the RT .NET 10 update. Should be fine to merge immediately.
* More .NET 10 prep
* Convert to SLNX
Hell yeah
* slnx now has size-2 indents
* Update SLNX with new RT system
* Remove reference to RT test in toolshed test
* Remove accidental usage of transitive RT dependencies
* Move Robust project references to RobustApi
* Update solution file
* Fix warnings in pow3r
* Fix nullable warnings in integration tests
idk where these came from
* gitignore binlog files
* Fix transitive dependency warnings in Content.Benchmarks
* Update slnx
* Okay, the Robust API thing didn't pan out. New plan.
It apparently broke clean builds, as the dependencies aren't in the project asset list or something anymore. I tried to fix this, but it seems impossible to do without relying on .NET SDK internals, as there's no point in the NuGet graph walk process that seems cleanly extensible.
Instead let's just do the much dumber thing: a bunch of .props files for content to import. Hooray!
This also means that I have to go through and *explicitly* disable transitive dependencies everywhere in RT. This thankfully isn't too hard.
* Update RT to 269.0.0
* One last solution update
* Fix more data definition issues
* Update RT to 269.0.1
* Fix it again
---------
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
* refactor: make MoverController use more queries
* perf: don't process paused MoverControllers
* perf: track active input movers via events
* Revert "place stored changeling identities next to each other (#39452)"
This reverts commit 9b5d2ff11b8f19fafbf97d6ceab238028ca6dfeb.
* perf: keep around the seen movers hashset
* fix: don't reintroduce wild wild west ordering
* style: use virtual method
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* docs: better ActiveInputMoverComponent motiviation
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* fix: pass through known comp
* fix: properly order relay movers for real
* perf: use proxy Transform() and inline it
Actually this might be a slight performance improvement since it avoids
the dictionary lookup until the case that its body status is on ground.
* style: switch an event handler to Entity<T>
* fix: just-in-case track for relay loops
* merg conflix
* borger
* whitespace moment
* whoops
* empty
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* feat: RnD tech research console now have reroll feature
* fix: disable Rediscover button when there is not enough currency or user have no access
* refactor: xml-doc, extract method, minor simplify xaml
* minor cleanup after review
* refactor: change sending research server points amount into BUI from state to ResearchServerComponent (using AfterAutoHandleStateEvent)
* feat: now tech rerolls will have cooldown to ensure no one can spam-spend all dept budget instantly
* refactor: revert unneeded code
* refactor: whitespaces
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Adds BallisticAmmoSelfRefillerComponent
And uses it to replace battery-based refilling of the Syndicate L6 and Viper modules.
- Add `BallisticAmmoSelfRefillerComponent`
- Handle `EmpPulseEvent` to pause refilling behavior for EMP's duration
- Change `Content.Server.Weapons.Ranged.Systems.Update` override in `GunSystem.AutoFire.cs` to `UpdateAutoFire`
- Add `Content.Server.Weapons.Ranged.Systems.Update` to `GunSystem.cs` so that it can call `UpdateAutoFire` and `UpdateBallistic`
- Add public methods to GunSystem for use by refilling implementation
- PauseSelfRefill
- IsFullBallistic (same as #299)
- CanInsertBallistic (same as #299)
- TryBallisticInsert (same as #299)
* _timing -> Timing
* unspawned count stuff
* imagine building the code before pushing
* - apply to c20r ROW
- make predicted/shared
* revert server system import only changes
* oop
* o great and wise Slarti
* Scar comments
* field deltas + correct serializer
* review
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* merged chemical into bloodstream
* changed injectable to bloodstream
* separated bleeding and direct blood removal
* removed blood gain from protein
* reduced blood gain from saline
* rejuvenating fills to reference volume
* fixed blood regulation
* red mead requires stirring to make
* reverted accidental line deletion
* cleared the skeletons from the closet
* additional routing
* field rename for xeno
* removed mention of chemstream and field rename for asteroid mobs
* minor optimizations
* Revert "reduced blood gain from saline"
This reverts commit de26fd1c0d99f3019fe7dd1451a50230cc90f058.
* Revert "removed blood gain from protein"
This reverts commit 7a1648caf39fe26406db73c2a5afa389b82c612f.
* removed unused component fetch
* dead check mini refactor
* eventized blood exclusion
* quick fix
* Pain
* Commit of doom
* COMMIT
* renamed bloodMaxFactor to MaxVolumeFactor
* addressed floating point error
* returned vomiting chemicals
* blood reagent always skips the flush
* no need to mention blood reagent
* fixed passing blood flush
* adadsafasfasfassfasf
* whoops
* merge fixed injectors
* Revert "adadsafasfasfassfasf"
This reverts commit 0a5313a68dd6484d36d28d08930c76851b72ae38.
* simplify reagent removal
* enabled foreign blood transfusion
* Revert "COMMIT"
This reverts commit 19abd679cd7761ebd47bb242bd644176a3006a42.
* simplified reagent removal when modifying blood level
* removed misleading coment since the changes
* documented MetabolismExclusionEvent
* fixed negative negative modification of blood level
* fixed hypervolemia not normalizing
* constrainted blood modification
* returned bloodpack stop on fully healed
* forgot to stage this
* band aid for diona blood
* swapping GetReagent with GetPrototype
* optimize blood filtering
* multiplicative multi reagent blood level calculation
* removed unused stuff
* optimized blood calculation a tiny bit
* added per reagent blood regulation
* optimized (referenceVolume + bloodReagents) into referenceSolution
* polished coded to proper function
* forgot to stage rootable system change
* clean up, unnecessary GetBloodLevel call
* rename method name to TryAddToBloodstream instead of Chemicals
* placed overfill safety
* cleanup and final touches
* final touch
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* removed DropHandsItemEvent from standing state system, added DropHandsItemEvent calls in slippery system and shared stun system
* added DropHandItemsEvent calls in mobstate system subscribers
* Added DropHandItemsEvent call in SharedBodySystem.Parts
* Add a standingState check in RemoveLeg so removing the legs of a downed person won't cause them to drop items
* new method for downing + dropping held items in mobstatesystem
* mild cleanup
* Bugfix
* update BuckleTest to reflect new item dropping behavior when removing legs
* light cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* add door control module
* some commentary
* can't eject stuff anymore
* make xenoborg door remote eletrify doors
* clean yml
* anchors and aliases
* not show stuff about id in xenoborg access config
* engi xenoborg can see eletrified doors
* Ignite atmosphere on explosions
* Fixed to add a temperature property
* Code review corrections
* Removed unused usings
* Correction to use TryComp instead of EntityManager to make it prettier
* Code review corrections
* Code review corrections
* Corrections
* misc fixes
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* borg repair is now multiple doafters
* is a float now
* use else
* remove random new line i added for some reason
* add new line at the end of the file
* add documentation
* made repair system super robust
* borg heal faster from crit
* forgot to make it a datafield
* less overpower
* cant repair futher than the threshold for alive if not alive or dead
* fix math
* more math
* fixes
* some comentary
* more accurate
* simple solution
* new solution
* better numbers
* more accurate
* use helper function
* fine tunning the number
* better way to restart the doafter
* update AutoDoAfter
* not used
* more clear
* remove inline if
* improve helper methods
* updare pop up message
* another unused
* nuke consecutive repair bonus
* increase the repair (so it doesn't take ages to fix a borg)
* back to 10 per repair
* heal evenly
* fix for edge case
* fix
* fix
* it works now
* add / fix comments
* small clean up
* make easier to understand
* use FixedPoint2.Zero
* make it smaller
* add support for group even heal
* ops
* easier to read
* typo
* make the HealEvenly better
* rename to GetDamage
* negative value
* Update Content.Shared/Repairable/RepairableSystem.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* add two methods
* move stuff to damage system api
* use TryIndex
* simplify
* minor fix
* add helper functions
* fix
* remove random new line
* simplify
* remove unnecessary lines
* rename to GetDamage
* Got it working
* make more clear
* why backwards
* value should be the amount to heal
* fix
* fix all dumb fixedpoint2 edge cases I hope
* One more thing
* fix
* make it more simple
* ops it was backwards
* valueHeal can't be more than remaining
* add all keys beforehand and no need to check and add them inside the loop
* break for loop in case remaining is zero
* comment was wrong
* optimized, works
* remove random spaces
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Added random gate
* minor edit
* cleaning up my shit after trying to do something faster
* new lines
* some changes
* joke
* UI
* Long Division
* Dont use ctrl + x in 3 am
* I hope these are the final touches
* One thing, I don't know why
* noname commit
* no way, 1kk of code lines edit
* sudo rm -rf ... and something there...
* update
* sometimes its sad
* Hand labeler can always remove labels
* Simplify labeling functions
* Address review comments
* Use Entity<Component> more places
* Always use default style for remove label verb
* Add RequireActivated bool
* Fix paramedic voidsuit
* Remove explicit check
This is actually unnecessarily verbose.
* Improve comment
* Update Content.Shared/Clothing/ClothingSpeedModifierSystem.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add cref linking
* Change reference from system to component
* Fix missing closing tag before anyone notices
* Add clarity about when this field is used.
* Add early return if not affected by toggling
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* make door bolting powergaming no longer relevant anymore
port and remove moff guard comments
* update desc
* One line bugefix
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Add voice mask implant
* Remove voice mask
* Voice mask implant now overrides your identity
* voice mask implant can now be extracted, when taking out the voice mask implant it now updates your name proplery
* Simplify logic