* Add test for two chemistry issues
1. rounding issue with reaction processing when making chloral hydrate
2. reliable assert trip due to the ValidateSolution() heat capacity issue.
* Fix FixedPoint2 arithmetic
Fix internal floating point arithmetic in places where it could be avoided.
Fix incorrect rounding mode used in other places (it should always floor, like regular int arithmetic).
I had to add an explicit epsilon value for float -> FixedPoint2 because something like 1.05 is actually like 1.04999 and that'd cause it to be rounded down to 1.04.
This fixes reaction reagent processing in cases where the reagent inputs can't cleanly divide. Previously, when making 30u chloral hydrate by adding the chlorine in 10u increments you'd end up with 0.04 chlorine left over. This was caused by division in the reaction code rounding up in some cases. Changing division here to always round down fixes it.
* Attempt to fix heat capacity precision assert issues.
Fixes#22126
First, we just increase the tolerance of the assert. It was way too low.
Second, actually put a cap on float drift from one-off _heatCapacity changes.
* Fix float -> FixedPoint2 epsilon for negative number, fix tests.
* Fix DamageableTest
* Oh yeah I need to call CleanReturnAsync
(cherry picked from commit 33611b7094ba9540326a6f0f6edd2017640e61db)
* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
* added books to roles
* First pass
* removed yaml to split pull requests into resprite first, then giving the books to assistants
* new science
(cherry picked from commit 561e8088426f163f1a38dcabf495c56e5e8fc8ce)
* Initial commit
* Moved params to sound
* Removed type tag
* Removed null check
* Forced default
(cherry picked from commit 1de3f24f16733521d22543708a59e72a6b396c71)
- The dummy control of 2px size has annoyed me for almost 5 years.
- Why is it in the top-right.
- Why is the server address not labelled.
(cherry picked from commit 1a438e644f17f1352cec29d90fa755f37e120f34)
Adds atmospherics access to the fire fighting door remote. Feels like an oversight for the atmos door remote to not have atmos access.
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 2ee73d54e838a6c119f7cb0413a2b2d8a5cf5402)
* fix: SpawnEntitiesBehavior now works with stacks
Fixed the issue of SpawnEntitiesBehavior not executing multiple times on
entities with stack conponent.
Fixes#25287
* fix: reduced dictionary iterations
(cherry picked from commit 53270be66c9aca763b4bfc68e119d0692cd03fd7)
* Unghettoify mindshield icons
Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.
* TG icon for shield
probably better than the shitty one I made in paint
* forgor meta.json
I forgor
* Emo review
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f67657246bc167531414ea0be5a5bba6bf)
Actually use more icon states for deployed/armed/about to explode
Also unlit layer.
Also examine text
(cherry picked from commit 3a45d519dcc3679375b5239b6f1881cdd1a07344)
Fix disposals bins not automatically flushing after an object is inserted.
Because of Spaghetti Code™️, AfterInsert() in DisposalUnitSystem still handles insertion itself. Except in all cases except drag/drop insert, the object is already inserted so this check fails and the remaining logic doesn't happen anymore. Fixed now.
(cherry picked from commit 571d4f735888343ca3ba90eaea0908257095cdb9)
* Indicate whether pickpocketing is stealthy in logs, change :user to :actor, and clean up messages.
* Remove ugly whitespace
* Do the thing I should have done but didn't because I didn't want to think
* Fix spacing
(cherry picked from commit 82f5bf8121f6f018d8af6442a031b21f9d95cba7)
* Holosigns can be stored again
* TryComp to HasComp
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit d6139429ad59a4137c383044613364137a8a338b)
Add purely atmospheric heat exchange to the gas thermomachine component (in preparation for space heaters).
(cherry picked from commit ce4bd8568cba4d64fb19e80d3182e21f010a86c1)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.
(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
Seaborgium is element number 106 and is presumably what lets these glasses "see" "borgs".
(cherry picked from commit a2ac6e417738d1c76603fa2ecd5cd49e7457fd5e)