Commit Graph

914 Commits

Author SHA1 Message Date
osjarw 4478ab1a59 Air alarms check sensors upon power returning 2024-08-30 08:06:03 +01:00
metalgearsloth f8b8ec7994 Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-27 01:00:42 +01:00
eoineoineoin 6d014c29b0 Remove client state from server AirAlarmComponent (#31236)
* Remove client state from server AirAlarmComponent

Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.

Fixes #12842

* Send device data as a list, rather than a dictionary

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-27 00:50:40 +01:00
deltanedas 4effb1df45 Add Vox atmosphere marker, vents, and air alarms 2024-08-27 00:48:33 +01:00
deltanedas 09d5fe3f9f Make component fields datafields 2024-08-27 00:48:33 +01:00
deltanedas 1ab7a31bf9 Revert "add atmos stuff for mapping vox boxes (#1668)"
This reverts commit 6dc5ff7720.
2024-08-27 00:47:20 +01:00
deltanedas 6dc5ff7720
add atmos stuff for mapping vox boxes (#1668)
* add 101kpa nitrogen fixgridatmos marker

* make a lot of things datafields so they save and can be set in yml

* add vox box scrubber/filter/sensor/alarm

* move some stuff to deltav folder, add deltav comments to the fixgridatmos mixture

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-22 20:14:35 +00:00
Mervill 3926ee6f3a Replace obsolete map function in AtmosphereSystem (#31252) 2024-08-21 16:16:51 +01:00
deltanedas f941121384
upstream merge (#1636)
* uncomment grappling gun

* Remove rest of Geras files (#30912)

remove remaining geras stuff

* tweak(AgeRequirement): Make the requiredAge more sensible (#30913)

* chrore(ageRequirement): fix grammar. atleast -> at least (#30914)

* Minor sprite fix to inhand med hardsuits and HoS turtleneck jumpsuit (#30918)

* Fixes inhand hardsuit cross color from https://github.com/space-wizards/space-station-14/issues/26516#issue-2213917971

* Fixed HoS Turtle not covering all butt pixels

---------

Co-authored-by: Zachary Yona <magicalusf@gmail.com>

* Add execution component to all energy sword weapons (#30909)

Co-authored-by: plykiya <plykiya@protonmail.com>

* Automatic changelog update

* chore(grammar): correct some mistakes (#30916)

* Add diamond mining drills, buff regular mining drills (#30814)

* why do I have to change so much just to add drills

* diamon

* Automatic changelog update

* give trash a reusable entity table (#30921)

* Contraband marking & examining (#28688)

* System & loc strings

* pass over syndie contraband

* fixes

* grand theft pass

* contrabandexamine -> contraband

* examine text generation update

* all composition parents necessary

* bring back minor contra so it has a less confusing message

* minor

* weapon pass

* jumpsuit pass

* feet pass

* AUUUUUUUUUGHHHHHHHHHHHHHHHHHH

* head

* AUUUUGH

* ear

* belt

* back

* fix

* bro

* rename for more clarity

* do da review

* add cvar for contraband examine

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Automatic changelog update

* Automatic changelog update

* Removes variant cube migration (#30934)

add

* First Review Pass Contraband Fixes (#30930)

* First pass contra fix

* bam

* More

* Security crates are now marked as security restricted

* Syndicate raid suit is contra

* damn I forgot gatfruit

* Add conducting gloves to the maintenance loot table (#30904)

* add

* lower weight

* Fix DoDrop to DropNextTo in container cases (#30911)

* Fix DoDrop to DropNextTo in container cases
DoDrop is too heavy to calculation. In any other case we should use alternatives, for example DropNextTo helper method

* codestyle change

* Fix Reagent Fire Stacks (#30766)

* Fix Reagent Fire Stacks

* Comments on code

* little nicer wording?

* Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratva… (#30954)

Lines 88 and 89, updated 'narsie' and 'ratvar' to 'Nar'Sie' and Ratvar, per issue #30719.

* Automatic changelog update

* Fix permission check for whitelists in player panel (#30948)

* Automatic changelog update

* Grey mantle in winterdrobe (#29774)

* add the mantle

* fix a few things

* fix merge conflict stuff, remove from winterdrobe and lathe.

* Add mantle to loadouts (20 hour requirement)

* Automatic changelog update

* Sliceable doAfter (#30824)

* init

* wtf git

* Automatic changelog update

* Add capfruit, a gatfruit mutation. (#30850)

* add base

* add fake suffix and flavor fix

* address some reviews

* parent it

* fix test fail

* add FoodSequence support and address small review

* Automatic changelog update

* Fixes the grey mantle (#30971)

add the thing i missed

* Add keybinds for rotating and flipping objects (#30540)

* add keybinds for rotating and flipping objects

* no popup for verbs

* Automatic changelog update

* tweak(Shuttle_honki): Remove DeviceQuantumSpinInverter from honki shuttle. (#30618)

* Make the Borgs Names Appear When they Make an Announcement (#30107)

* Make the Borgs Names Appear When they Make an Announcement

* bwomp

* re-order

* Use Name instead of metadata

* goiup

* Automatic changelog update

* disable contraband examine

* rename our SliceFoodEvent

* Throngler Plushie Sprite (#30969)

Throngonkler Plush sprite

* Fix bug with rotating shelves (#30978)

* Main

* Update shelfs.yml

* Little bug fix

* No weather on concrete tiles (#30952)

* concrete weather

* miss

* development build ghostrole lottery changes (#30980)

debug ghostrole lottery changes

* Automatic changelog update

* Add a saline syringe to the combat medical kit (#29954)

saline

* Automatic changelog update

* fix the admin verbs trying to kill players by filling their lungs with plasma (#30991)

fix the admin tools trying to kill players by filling their lungs with plasma

* Custom Taco & Kebabs - FoodSequence 2 (#30905)

* control layer ordering

* sprite update

* taco!

* taco naming gen

* fix separator naming

* some proto fixes

* default naming separation

* fix taco naming

* rat update

* hamsterburger

* organs taco

* remove from spawners

* fixes

* fix separators and lemons

* Update food-sequence.ftl

* randomization offset

* fix

* kebabs refactor

* fix

* skewer weapon

* Update food_single.yml

* Update migration.yml

* suppermatter

* hamlet centered

* hamsburger

* Update dead-0.png

* 20 -> 4 burger layers max

* Update burger.yml

* canReact: false

* capfruit update

* Update burger.yml

* Update burger.yml

* Update produce.yml

* some fixes

* Update Resources/Textures/Objects/Consumable/Food/taco.rsi/meta.json

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* chicken

* Update food-sequence.ftl

* documentation

* fixes

* Update meat.yml

* Update meat.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Fix popups not working properly with an eye offset (#30990)

* Adds a random smokable spawner (#30870)

* Textures to make lamps mappable to East/West.

* Adds a random smokable spawner

* remove double derma

* Increase chance for just basic cig

* Update to enitity tables

* Tweak values

* Remove space

---------

Co-authored-by: Jeff <velcroboy333@hotmail.com>

* Fix lizards being unable to eat custom burgers (#31005)

* Fix lizards being unable to eat custom burgers

* ensure tag comp

* Automatic changelog update

* Sedin (#27110)

* Sedin

* almost forgot this.

* what

* Did a few fixes, tried to readd popup

* Fix popup, ready for merge

* minor change

* Generalize seed removal/destruction system, add popups in general.

* fix

* fix (again)

* deadcode is no more

* Sedin buff (nerfing the recipe soon)

* godont

* webedit moment

ok listen I had to nuke my setup because my computer was being Dumb As Shit so let me do this ONE webedit

* CRIKEY

* Revert "CRIKEY"

This reverts commit 1c6959ffd9ba8bb1e97ccf2eb0b37b3ff4ec82ee.

I was not supposed to commit that >:/

* Alright, it should be good now but I havent tested it

* ready for merge/review

* prob -> probability

* Requested changes nodoc

* Review nodoc

* documento

* thumb up emoji

* Automatic changelog update

* Adds a Dinky Star Sticker for security officers (#29767)

* Sec-Star-TASTIC

* fix license

* now counts as trash

* Sticks to people + wearable

* no more sticky

* no more sticky

* mystery-space

* Update Loadout Yaml

* Automatic changelog update

* tweak(hospital): Reduce diamond stack from 30 to 1 (#31027)

* tweak(experiment): Reduce diamond stack from 30 to 1 (#31025)

* replace mapped diamond stacks with single

* Figurine voicelines (#30865)

* initial commit

* tweaks to the new voice lines

capitalizations of I's and the Y on hos 3 voice lines
also changed the captain figuring voice line 2 to something completely different

* capitalized one letter

man i really suck at capitalization

* more capitalization

i never thought this pr would need so many changes

* changed one comma to a dot

* Update Resources/Locale/en-US/datasets/figurines.ftl

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Adding shock collar and electropack (#30529)

* Adding shock collar with the new ShockOnTrigger

* Cleaning and updating the shock collar

* Add StripDelay datafield to ClothingComponent

* Adding SelfUnremovableClothingComponent

* ShockCollar Update

* Correction of the shock collar

* Correction of the shock collar 2

* Renaming the DamageSpecifier DataField to Damage

* Fixing the damage field in ShockCollar

* Cleaning the ShockCollar

* Renaming ShockCollar to ClothingNeckShockCollar

* Adding ClothingNeckShockCollar as a stealTarget to a thief

* Fixing a typo of the sprite path in ClothingNeckShockCollar

* Cleaning the ShockOnTriggerComponent

* Revision of SelfUnremovableClothing

* Adding a ClothingBackpackElectropack

* Sprite fix

* Code review

* Shock Collar sprite update

* add commit hash

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Automatic changelog update

* Greatly improve the usability of the Gas Analyzer. (#30763)

* greatly improve how the gas analyzer behaves

* don't close the analyzer when the object goes out of range

* cleanup

* always switch to the device tab when a new device is analyzed

* modern api part one

* modern api part 2

* modern api part three

* file scope namespace

* Automatic changelog update

* Fix false and true in player-panel.ftl (#31043)

Fix false and true in player-panel

Add a new True string

* Contra Review Passs - Round 2 (#30942)

* Contra pass round two

* command too

* Stamps

* oopsied a bracket

* Namespace cleanup around Mind Roles (#30965)

* namespaces

* Comment does not need a semicolon

---------

Co-authored-by: Vasilis <vascreeper@yahoo.com>

* Contraband Review Pass - The Threequel (#30970)

Contraband pass number three

* Golden toilet (#31049)

* golden toilet

* Destructible

* sprite

* fix

* copyright

* Automatic changelog update

* Salvage Spawners (#31020)

* treasure entities and spawners

* no more smiles

* remove nyano shock collar code

* Event scheduler setting tweaks (#31018)

tweaks

* Automatic changelog update

* remove meteor swarms rule for a moment

* Revamped Meteor Swarm (#28974)

* meteor code and balanced values

* Meteor Swarms

* Update meteors.yml

* Update meteors.yml

* HOO! (fix overkill bug and buff space dust)

* undo BloodstreamComponent.cs changes

* DamageDistribution -> DamageTypes

* part 2.

* Missing meteor presets (#29044)

* add meteors into missing game presets

* changes for real

* implement code

* this too

* Meteors now leave behind a bit of ore (#30419)

* Meteors that leave behind asteroid ore

* bigger offset

* Bit more generic

* Better defaults

* hrm?

* I HATE CUSTOM SERIALIZERS

* More comments

* renamed a variable

---------

Co-authored-by: plykiya <plykiya@protonmail.com>

* refactor event schedulers to use explicit game rules (#29320)

* works, still has testing values, im sure I did stupid shit.

* shitvent crapfactor

* snap extra word out of existence

* shit I died of old

* remove useless inaccurate design comments

* Oopsie, handle requirement params in RandomRuleSystem too

* I'm a slash slinging hasher

* Address reviews, add admin alerts I forgor

* EntityMan saves the day

* address reviews 1

* eh, I actually don't care about the cargo gifts thing.

* started

* Do reviews

* you actually meant 1.2 lmao

* dependency inheritance is a fickle bitch

* I have no idea.

* Threads are for sheets not computers.

* fix traitor rule test

* fix round type tattling

* break things

* It worky

* Toolshed makes we want to drink depresso.

* Finished?

* remove debug values

* timings

* use defaults

* alphabetize

* bobby drop tables

* Float required fr fr

* continue

* more continence

* uno mas

* obsolution

* cleanup and documentations

* Yell at self

* use the right value defaults

* housekeeping

* Event scheduler setting tweaks (#31018)

tweaks

* Automatic changelog update

* remove(NukeopsRuleComponent): Remove a trap from the component file (#31029)

ah

* Fix bug with holding objects (#31009)

Main

* Automatic changelog update

* Replace obsolete map functions in IconSmoothSystem (#30958)

* first part

* second part

* Automatic changelog update

* Fix reagents with ReagentData being duplicated  (#30983)

Initial commit

* :trollface:

* :trollface:

* actually untroll

* a

* 50 burger

* add back old meteor code

* fix

* use some live config options in dev

* remove old shock collar icon

* make ammo more consistent and work more

* clean up lathes diff to upstream

* a

* move rubber bullets to deltav folder

* a

* untroll

* more untrolls

* more untrolls

* untroll

* :trollface:

* a

* b

* remove it for real

* add missing lathe recipes

* replace cvars with component field

* remove taco from roboisseur

* migrate cardboard box with smg mags

* remove kebabs

* a

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: Zachary Yona <58833995+Magicalus@users.noreply.github.com>
Co-authored-by: Zachary Yona <magicalusf@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: Token <esil.bektay@yandex.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: LeoSantich <108027402+LeoSantich@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PoorMansDreams <150595537+PoorMansDreams@users.noreply.github.com>
Co-authored-by: IgorAnt028 <118114530+IgorAnt028@users.noreply.github.com>
Co-authored-by: NotSoDamn <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
Co-authored-by: FATFSAAM2 <saamboroujerdi@gmail.com>
Co-authored-by: to4no_fix <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: Mervill <mervills.email@gmail.com>
Co-authored-by: Vasilis <vascreeper@yahoo.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
2024-08-18 17:21:07 +00:00
Mervill 511b636f2b Add verbose (client predicted!) examine text to Gas Miners (#30480)
* add verbose examine text to gas miners so their behaviour can be understood

* no need for these to be properties

* use an enum instead of two booleans for the miner state

* require the gas miner to be anchored in order to not be disabled

* xmldoc

* pr feedback

* file-scope namespace

* it's to late to hide my transgressions in a rebase

* turns out the normal examine distance is totally fine for this
2024-08-09 19:01:47 +01:00
Nemanja aaa9f84fb1 Replace IClickAlert with events (#30728)
* Replace IAlertClick with events

* whoop

* eek!
2024-08-09 18:58:46 +01:00
Plykiya 17a24e13a5 Replace xform.WorldPosition with xformSystem method for Setting/Getting (#30029)
* GET WORLD POSITON, ROTATION

* Missing parentheses

* ui system depndency

* the issue

* Unused

* Let the function do the transform

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 18:57:59 +01:00
slarticodefast 54fbf9c0e5 replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-09 18:24:46 +01:00
TemporalOroboros 55b87b6607 Relocate TemperatureProtectionComponent (#30437)
Moves it from the atmos module to the temperature module where it is actually used.
2024-08-09 18:14:53 +01:00
Plykiya 1f8b8180e5 Replace obsolete EntityCoordiates.InRange() with TransformSystem.InRange() (#29993)
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()

* nullspace

* I figured it out

* man I have no clue how client side sutff works

* please have mercy

* remove RadiationPulseOverlay changes

* nullspace

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 17:47:22 +01:00
Plykiya 88b82ea54d Updates GasTankSystem and InternalsSystem to not use Component.Owner (#29934)
* blah, setup

* Updates GasTankSystem and InternalsSystem to not use Component.Owner

* squish the diff

* Fixa the rest

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 17:45:37 +01:00
Tayrtahn d972a3647f Fix AtmosDeviceSystem debug assert Heisenbug (#29752)
Fix AtmosDeviceSystem debug assertion Heisenbug
2024-08-09 17:45:28 +01:00
Mervill c0a4865d75 Clean up gas miners (#29657)
Separate the environment check from CapSpawnAmount into GetValidEnvironment to make the code a little cleaner, and also makes these two checks independent.

CapSpawnAmount and GetValidEnvironment now both have zero side-effects

Broken renamed Idle to reflect its use. Broken in my mind implies that there's some method for fixing.

---------

Co-authored-by: Partmedia <kevinz5000@gmail.com>
2024-08-09 17:25:49 +01:00
jmcb c1b97b0e64 Remove outdated NotNullWhen annotation (#29641)
A previous version of this function returned a bool. Since this no longer does that, remove the annotation.
2024-08-09 17:19:00 +01:00
Guillaume E 10c33d0390
Improve gas miner's output bounds checks (#29569)
Miners now can produce a fraction of their SpawnAmount corresponding
to the "remaining space" available in their environment according to
their MaxExternalPressure and MaxExternalAmount.
2024-07-25 01:55:10 +02:00
osjarw fdd1f80fe7
Limit air lost by wrenching/breaking pipes (#29574)
Gas lost via wrench/breaking capped
2024-07-25 01:55:07 +02:00
slarticodefast 3457c80cb1
Add sprite for vent under-pressure lock-out (#29527) 2024-07-25 01:54:57 +02:00
slarticodefast 00047bb1b1
Fix air vent and scrubber not requiring power (#29544) 2024-07-25 01:54:56 +02:00
Guillaume E 03eded9173
Make miners respect AtmosDeviceUpdateEvent.dt (#29522)
Miners' prototype have been changed to reflect this (I read
somewhere that we have about 1 atmos tick/0.5s, my tests show more
like 1/0.53 but that looks close enough).

This also means that miner's spawnAmount is now expressed in mol/s.

See: #18781
2024-07-25 01:53:09 +02:00
Partmedia 501a19be82
Increase lockout threshold (#29504) 2024-07-25 01:50:53 +02:00
osjarw 44533ce100
Fix air alarms (#29172)
Broken by #28272
2024-07-25 00:26:26 +02:00
Nemanja c83d93e461
Add moon boots (#29009) 2024-07-25 00:14:05 +02:00
MjrLandWhale f047b1f39b
Override under-pressure lock-out in air alarm "Fill" mode (#28909) 2024-07-05 20:28:14 +02:00
Plykiya b702d3b466
Internals are kept on as long as any breathing tool is on (#28595) 2024-06-08 20:24:22 +02:00
Nemanja bacd52c991
Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-06-01 18:00:07 +02:00
Leon Friedrich 65a712700c
Only auto-enable internals when necessary (#28248)
* Only auto-enable internals when necessary

* Add toxic gas check

* Rename Any -> AnyPositive
2024-06-01 17:55:05 +02:00
Kevin Zheng 6714823ef6
Fix flow rate display (#28372) 2024-06-01 17:19:56 +02:00
metalgearsloth 1f5f2cfe45
Block gas analyzer updates if the UI doesn't open (#28376)
Fixes the gas analyzer UI coming up when used with a target.
2024-06-01 17:19:47 +02:00
Kevin Zheng a6e4fd4c7a
Tune spacing speed to fix under-pressure lockout (#28370) 2024-06-01 17:19:28 +02:00
Nemanja 5b87c90511
Prevent stacking pipes (#28308)
* prevent stacking pipes

* access

* notafet review

* notafet review pt. 2

* not the actual fix
2024-06-01 17:14:50 +02:00
Ed 5a9c7073c2
Fix candles (firestack fading) (#28139)
Update FlammableSystem.cs
2024-06-01 17:00:15 +02:00
Nemanja 9adf1ed402
Remove AlertType and AlertCategory (#27933) 2024-06-01 16:55:49 +02:00
Leon Friedrich 74308b008f
Use non-generic `TryComp()` for metadata & transform (#28133) 2024-06-01 16:53:51 +02:00
DrSmugleaf 85a0742a88
Move most rotting code to shared (#28050)
* Move most rotting code to shared

* Remove unused dependency
2024-05-18 14:00:20 +02:00
deltanedas 16bd7f2e8d
fire troll fix (#28034)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 13:59:35 +02:00
deltanedas 08f7ab64c5
fix fire spread round removal (#27986)
* fix a resolve debug assert

* rewrite fire spread

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 13:59:20 +02:00
Leon Friedrich 8530bcf6e8
Change some `EntityQueryEnumerator` to `AllEntityQuery` (#27969) 2024-05-18 13:59:02 +02:00
Kara b93f956353
Resolve `'EntitySystem.Get<T>()' is obsolete` in content (#27936)
* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor
2024-05-18 13:58:55 +02:00
Kara 74eef92443
Resolve all non-obsoleting warnings in content (#27934)
* Resolve all non-obsoleting warnings in content

* Update ClientGameTicker.cs

* Update SkeletonAccentSystem.cs

* Update BwoinkSystem.cs
2024-05-18 13:57:06 +02:00
Errant 6a1b7c8ee7
Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version

* actually fix engine version

* Automatically activated breathing masks

* weh

* who needed that component anyway

* check if internals are already running

* Update Content.Server/Atmos/Components/BreathToolComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Body/Systems/InternalsSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* prediction

* record struct event

* remove delayed activation, instead ensure that masks spawn last

* leftover

* engine version

* re-implement

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-05-18 13:51:21 +02:00
deltanedas 6781d9e0a6
make fire not burn through hardsuits (#27161)
* add FireProtection system and event

* minor optimisation + make flammable use fire protection event

* add fire protection values to some things, nerf firesuit heat resistance

* bruh

* unrevert laser nerfs, make elite hardsuit fully fireproof

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-18 13:35:46 +02:00
Leon Friedrich 4d9825de64
Fix Gas Analyzers not opening (#27610) 2024-05-07 04:18:31 +02:00
metalgearsloth 3ae1ff3241
Optimise navmaps significantly (#27528)
* Optimise navmaps significantly

- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.

* weh

* review

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-05-07 04:16:09 +02:00
Jezithyr 17ff17a0d0
Move GasMixture to shared (#27480)
* Moved GasMixture to shared

* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.

* The most powerful webedit in history
2024-05-07 04:00:15 +02:00
Leon Friedrich eb1c1bac54
Content changes for engine exception tolerance PR (#27455)
* Content changes for engine exception tolerance PR

* Poke tests
2024-05-07 03:44:43 +02:00
Gotimanga c3b0ac9b00
Adding new Cryogenics Reagent - Opporozidone (Attempt 2) (#24074)
* Fixing mistakes

* How did I make the same mistake twice

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-05-07 02:08:49 +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
Whisper a87ea50246
lower max firestacks to 10, refactor flammable (#27159)
* lower max firestacks to 10, refactor flammable

* fix

* uncap fire stack damage, lower fire stack damage

(cherry picked from commit eee056eaf063caa690516bf8b4eb7e65a0199e9c)
2024-05-02 23:59:27 +02:00
deltanedas 2155f79512
make fire spreading scale with mass (#27202)
* make fire spreading scale with mass

* realer

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit fcf5057b61321920826b630384e0dc6ff5de55e8)
2024-05-02 23:52:52 +02:00
Leon Friedrich a2b5b0c3b7
Fix fixgridatmos command (#27113)
(cherry picked from commit 6ec40900ef18dc5cd61fd172354d3b55acad97e8)
2024-04-21 23:18:15 +02:00
chromiumboy 4fd43751ce
Navmap rework (#26713)
* Optimized the drawing of lines and tracked entities

* Optimized nav map updating and added thin wall support

* Added support for thin doors

* Removed floor tile seams, more line drawing optimizations

* Fixed split grids not updating correctly

* Cleaned up NavMapControl code

* Fix nav map header

* Converted nav map updates from system network messages to delta-states

* Addressed review comments

* Fixed timing issue where NavMapSystem would update before AirtightSystem did

(cherry picked from commit 009d06d97833b7700bcfaa534b20575fdbbd7db5)
2024-04-21 22:05:45 +02:00
slarticodefast a2e1dc8107
Show volume on the gas analyzer (#25720)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.

Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.

(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
2024-04-21 22:05:43 +02:00
Leon Friedrich 89ac535f6c
Fix GastTileOverlay sending redundant data (#26623)
Fix GastTileOverlay not updating properly

(cherry picked from commit d2bee7ec91fef6cb2a1ee9b2aada98ae1ba136f3)
2024-04-07 14:22:09 +02:00
Plykiya 32b1c01066
Fix GasMixers/Filters not working (#26568)
* Fix GasMixers/Filters not working

* OKAY GAS FILTERS TOO

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 7638252df3b0c7e958e988fc7e491d81c1e8a656)
2024-04-07 14:14:51 +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
Leon Friedrich 01dd82ee0d
Split GasTileOverlaySystem update over two ticks (#26542)
Split GasTileOverlaySystem update over ticks

(cherry picked from commit bb5ca720fccd035e310c12b266f71081f85edf47)
2024-04-07 14:13:02 +02:00
Leon Friedrich 51e98a3f63
Fix empty atmos deserialization (#26540)
Fix atmos deserialization

(cherry picked from commit 985c4b40163a71737d229aa1c4513a93da8a6d23)
2024-04-07 14:12:22 +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 480c59499f
Remove atmos method events (#26402)
* Remove HasAtmosphereMethodEvent

* Remove GetTileMixturesMethodEvent

* Remove GetTileMixtureMethodEvent

* Remove GetAdjacentTilesMethodEvent

* Add TileMixtureEnumerator

* Remove GetAdjacentTileMixturesMethodEvent

* Remove IsTileSpaceMethodEvent

* Remove HotspotExposeMethodEvent

* Remove pipe net method events

* Remove device method events

* Use Entity<T>

* Misc fixes

* A

* Theres probably a few more of these

* Fix other resolve errors

(cherry picked from commit 77e029d4ca787485152dec5a4aaafd4589f9ad43)
2024-04-07 14:04:38 +02:00
Leon Friedrich 097ff5284d
Fix atmos NaN error (#26441)
* Fix atmos NAN error

* Remove redundant yaml entries

(cherry picked from commit fdb4a61487db9fc67714c913832427063abdea42)
2024-03-27 18:38:23 +01:00
Tayrtahn aa766da2c5
Code cleanup: Purge obsoleted SharedPhysicsSystem methods (#26287)
Updated calls to SharedPhysicsSystem methods

(cherry picked from commit 964c6d54caae45b205a326143f56d6458a1bbc8a)
2024-03-27 18:35:38 +01:00
Leon Friedrich 7ecc968f8c
Run `fixgridatmos` for cargo & emergency shuttle (#26382)
Fix cargo & emergency shuttle

(cherry picked from commit ec761114eacdeed6e68f9c94dddfdbec8a6e26be)
2024-03-27 18:32:40 +01:00
Leon Friedrich 239fd1d654
Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods

(cherry picked from commit 18a35e7e83b2b71ee84b054d44d9ed5e595dd618)
2024-03-24 00:14:24 +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 3dd5dcadc5
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!

(cherry picked from commit f4cb02fb0ca385c858569c07c51afb0d24ade949)
2024-03-24 00:07:58 +01:00
Tayrtahn 11eff87687
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No

(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
2024-03-24 00:04:13 +01:00
Pieter-Jan Briers 45c8c4f0b5
Fix barotrauma pressure protection (#26236)
Oops

In #26217 I re-organized the logic for the calculation. Part of that was moving the logic for GetFeltLowPressure and GetFeltHighPressure to be done before we actually check the hazard thresholds. What I didn't realize is that, with how our pressure protection is set up, these functions can return values so extreme they rebound into the other category.

For example, according to the math, when you're wearing a hardsuit in a low-pressure environment you have "felt" pressure of 1000 kPa. Yeah that's not right.

Now these functions clamp their result to OneAtmosphere, in the appropriate direction (101.3 kPa).

Fixes #26234

(cherry picked from commit db81438d30f83a542abe6c81c2ce4a5040aa3ddb)
2024-03-23 23:58:12 +01:00
Pieter-Jan Briers 00beb141ca
Fix barotrauma calculations
The math for our pressure damage (barotrauma) system is directly taken from TG. The constants are the same and the math is almost the same. However there are two errors.

1. Pressure damage started being applied within the WARNING bounds, rather than the HAZARD bounds. This means you started taking low pressure damage at 50 kPa instead of the intended 20 kPa, and also the HUD icon didn't show "danger" like it should even if you were already taking damage.

2. The calculations for high pressure damage were wrong. These are supposed to be linearly scaled, but the function was wrong so the scaling didn't actually work properly (especially when considering the fixed bounds above). This appears to be the case because the function was taken from an incorrect comment in the original source, rather than the real math.

Both of these issues are now fixed to match the TG behavior. Note that this somewhat nerfs pressure damage in non-extreme circumstances. e.g. a room at 40 kPa now gives NO pressure damage, whereas previously it would do full space damage.

The description of the pressure alerts is wrong for "low" severity, but I can't be arsed to fix that right now. Alerts don't have a way to change the description depending on severity...

(cherry picked from commit b5138b245e1782cc062b9bdf165600b7974e9ed7)
2024-03-23 23:51:54 +01:00
LordCarve f8ea31a192
Obsolete `Logger` cleanup for `EntitySystem`s part 2 (#26159)
* Kill the static InRangeUnOccluded

* Adjusted 4 more EntitySystems that were missed.

(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
2024-03-17 15:11:33 +01:00
LordCarve 60f2c8376d
Obsolete `Logger` cleanup for `EntitySystem`s (#25941)
* Small obsolete Logger cleanup

* Fixed three EntitySystem logs that weren't doing it right.

(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
2024-03-17 14:46:35 +01:00
Menshin 38adf75d3e
Thermomachines now excite the gas mixture they add heat to (#25916)
Atmospherics thermomachines now properly invalidate tiles they add heat to.

(cherry picked from commit 1e62e445f0b5298c50dc0ab7ff20f88563a13d5f)
2024-03-17 14:42:59 +01:00
Menshin f2db506d1d
Enforce Space Heater max/min temperatures server side (#25835)
Actually enforce max/min temperatures server side

(cherry picked from commit bad11742d3cdf23ac5cc9354da98767ff623449a)
2024-03-07 01:25:41 +01:00
Menshin 37c7ac7931
Add space heaters (#25250)
(cherry picked from commit 98843511014e1b5fce34b7e1215179dd3d0f94c8)
2024-03-07 01:05:02 +01:00
Pieter-Jan Briers e7a3b82a8d
Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
2024-03-07 00:57:05 +01:00
LankLTE e7d8f5e080
Diona Nymphs & Splitting (#24630)
* Porting & implementation

* Fix two stupid errors

* Human not humans

* fix audio path

* Fix test fails & update cooldown

* Work on reviews & test fail

* Rework nymph organ system.

* Make the nymph organs nospawn.

* IsDeadIC

(cherry picked from commit 407d4aed586a5143dc1dd0d31e7898f6df07a411)
2024-02-18 23:34:45 +01:00
MilenVolf cb0fdb47d1
LockVisualizer (#25224)
* 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)
2024-02-18 23:27:28 +01:00
Menshin 7e6a8ef6e5
Allow thermomachines to exchange with air instead of inlet (#25247)
Add purely atmospheric heat exchange to the gas thermomachine component (in preparation for space heaters).

(cherry picked from commit ce4bd8568cba4d64fb19e80d3182e21f010a86c1)
2024-02-18 23:13:12 +01:00
Nemanja c3f420815f
Add events for TemperatureProtection and PressureProtection (#25165)
(cherry picked from commit 8ed32a1e42d768322ccb6dc6f5311bd58fd0dea3)
2024-02-18 23:11:15 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
metalgearsloth 9e366f3119
Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a

(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
2024-02-18 22:46:26 +01:00
metalgearsloth 2a839fcb94
Remove obsolete transform call (#24217)
* Remove obsolete transform call

Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.

* Update calls

* weh

(cherry picked from commit 52808694e0a479c162930a0aae20e91b68bc67a4)
2024-02-08 12:23:11 +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
metalgearsloth 36e28ecfcf
Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you

(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
2024-02-08 12:04:52 +01:00
Kara 9d138e943b
Improve rotting examine text (#24689)
(cherry picked from commit 1a74311c9fc91e600f260f521176fc9d5fffe754)
2024-02-08 11:56:14 +01:00
Pieter-Jan Briers bc2f079029
Make some damage sources not cancel do afters (#24635)
- poison chemicals (HealthChange effect)
- being on fire
- guardians transferring damage to owner

(cherry picked from commit 3e3cb10a96993b711ea8aeb696f157f40c728e49)
2024-02-08 11:49:23 +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
DrSmugleaf 85352289aa
Move rotting stages and examine to shared (#24183)
(cherry picked from commit 890270127133884f5d1a9ddddb48f10ddb61412f)
2024-01-26 23:01:03 +01:00
Nemanja 48ad5ea014
fix radiators leaking heat into atmos blocked tiles (#24124)
* fix radiators leaking heat into atmos blocked tiles

* Fix the fix

Pointyhat to: emogarbage

* Remove unused imports

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
(cherry picked from commit c29896f505db28bf3dca9af9e6f0430dcf0f4629)
2024-01-26 22:55:53 +01:00
themias a83c773c3c
Grave digging and decomposition (#23646)
* Grave digging and decomposition

* fix

* update based on review comments

* code review

* remove unused field

(cherry picked from commit fd7ff690b1ad7b1cf6cd62deba3076684e3e9282)
2024-01-26 22:50:50 +01:00
Pieter-Jan Briers 56fb80ad34
BUI bugfixes / improvements (#23881)
* Fix ActivatableUIRequiresPowerCellComponent stopping power draw when one of two people closes the UI.

Also fixes it to check UiKey properly.

* Remove unnecessary CrewManifestViewer on PDAs

This is for a pop-up crew manifest UI, which the PDA doesn't use.

* Fix BoundUIClosedEvents that didn't check UI key/not correctly at least.

Uses the new helper method in engine.

* Fix drone (cargo shuttle) pilot console UI breaking if two people open it and one person closes it.

* Fixes for disposal router/tagger UI.

Code was badly copy pasted without changing identifiers, never worked.

Also cleaned up some of the logic (text trimming, sounds).

Also removed the "refuse to work if you have something in your active hand" check like why.

* Avoid running most ActivatableUIComponent logic when closing a UI via toggle

Activating the UI while it's already open closes it via toggle. Except it still ran 99% of the "attempting to open" logic which makes no sense.

This probably fixes a bug or some other dumb behavior somewhere.

* Bitch

(cherry picked from commit 123a4147dea2945f6c60fe9e4e0a3aa2da75e1dc)
2024-01-26 22:38:21 +01:00
Trevor Day 90c75efd9a
Add admin logs for thermomachines (#24056)
(cherry picked from commit 7a84f9e2038d4f0d9c776a4e1a91b83a4997a43e)
2024-01-26 22:37:18 +01:00
Ilya246 6df985f9d3
Fix oxyburn energy not accounting for heatscale (#24023)
(cherry picked from commit bd27b53ff09d4288aee4b762f22b166d62a29f14)
2024-01-26 22:35:48 +01:00
Pieter-Jan Briers 1c54b75da5
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI

(cherry picked from commit a6c9c36b688a1ba78ff4c12502e81661cf607b6c)
2024-01-26 22:33:46 +01:00
Nemanja 46f40662bb
Stop the inevitability of death from misgendering you (#23949)
Fix rotting messages and make them use pronouns

(cherry picked from commit 0126b9820ddd07bb2e98e766c19701fef64daf4e)
2024-01-26 22:27:36 +01:00
Guillaume E 75e6237060
Show how close bodies are to rotting (#23530)
* Show how close bodies are to rotting

When examining a dead body, you will be able to see of close
it is to rotting.

 - "It still looks fresh.", in the first third of the pre-rot period
 - "It looks ripe.", in the second third
 - "It's starting to look bad.", in the last third

This could help players prioritize medical care.

* Alter the wording of the pre-rot indicator

* Use numeric rotting stages in FTL

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
(cherry picked from commit af7327e59f9831d866022dc9018ae79311602f04)
2024-01-26 22:25:32 +01:00
Kot b664c6d02b
Powered stasis bed prevents body decay (#23520)
* Powered stasis bed prevents body decay

* Update following CR comments

* Remove unused import

* Simplify if-statements

* Change implementation following CR suggestions

* Add comment & remove explicit get/set

(cherry picked from commit e97fd47a8764f973193e22e45512acb5335bdf17)
2024-01-26 22:16:32 +01:00
Arendian 0bb967bcfd
Incendiary projectiles and lava firestack reduction (#23479)
* Firestack reduction and FireStackOnHit added

* Slight lava tweak

* Remove component and tweaked incendiary pellets

* Incendiary grenade tweak

* Now ignites on projectile fixture or ignition fixture + incendiary grenade tweak

* flare shells now  ignite entities again

* Comment

* undo flare gun ignite

(cherry picked from commit 6bf699429818c15a72ea5bb073a98ca0559b59a7)
2024-01-26 22:11:45 +01:00
Nemanja 77bd303603
Hellfire Thermomachines (#23543)
* hellfire thermomachines

* slight nerf? idk

* ilya review

* Improve clarity

* Update Content.Server/Atmos/Piping/Unary/EntitySystems/GasThermoMachineSystem.cs

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
(cherry picked from commit a78e9a854ebb744ca82fcdbca4968f0197d05a84)
2024-01-26 22:07:36 +01:00
Kara 03b3e36d43
Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly

(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
2024-01-26 21:48:02 +01:00
metalgearsloth 5fd454608f
Small adjustment for elookup api (#22447)
* Small adjustment for elookup api

* fix

(cherry picked from commit a3516e60e753d9b05982a00b4c9be6b737dec43f)
2024-01-26 21:35:47 +01:00
AJCM-git 6b7e8b4f5b
UseDelay + ItemCooldown merge (#22502)
(cherry picked from commit 9c522c8b19f7a6f6b396c66342413572a22d7845)
2024-01-26 21:32:09 +01:00
themias 3ddb612545
Fix a few cyborg interactions (#23391)
Fix cyborg interactions

(cherry picked from commit e7d1302357957cff8c2cc32cdef86d0c57e9033c)
2024-01-26 21:27:31 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
Nemanja 150c8cd817
Buff heat and flame damage (#23238)
(cherry picked from commit cfb129c5a4fcdf996ab16defd35e24ed909ca663)
2024-01-22 21:07:51 +01:00
qwerltaz 2028184ee2
flammable entities hotfix (#23113)
* flammable fix

* move air check and ignition to if statement

(cherry picked from commit 2fe1164a03c212095aa383461335b016f9d7fb47)
2024-01-22 18:57:52 +01:00
qwerltaz cd5c92d818
Fix flammables air ignition (#23063)
* Fix welder ignition

* fix mobs on fire hotspot expose frequency

* fix shotgun pellets ignition

* ensure ignitionComp on flammable init

* \n

* Revert "ensure ignitionComp on flammable init"

This reverts commit 6915dcdc

(cherry picked from commit 3f9102839579506e8bf71f5fbf48c92328104e58)
2024-01-22 18:45:42 +01:00
Debug 6afde59998
Hopefully fix atmos issues (#656)
* Check for divide by near zero (#22876)

* Clamp after AdjustMoles() (#22907)

Clamping is needed because x - x can be negative with floating point
numbers. If we don't clamp here, the caller always has to call
GetMoles(), clamp, then SetMoles(), which makes this function not very
useful.

* Add maximum atmos temperature limit (#22882)

* Add Tmax

* Increase Tmax

* Revert "Add YAML gas reactions (#22803)" (#22939)

This reverts commit 054321d2c2c17eb55a1640150131c61c29a3eb2b.

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-01-07 22:10:35 +00:00
Kevin Zheng 67d3f2b94d Add YAML gas reactions (#22803)
* Add YAML gas reactions

* Convert more reactions

* Use enum names

* Convert more names

* Add migration for MiasmaCanister

* Prevent reactants from going negative

* Fix energy conservation, lift energy calculation

* Fix comment

* Comment

* Add rate multiplier
2023-12-22 23:25:34 +01:00
Kara 7decaa29e7 Convert atmos device events to ref events (#22843) 2023-12-22 23:25:05 +01:00
Kara a23dce4702 Rename Miasma to Ammonia (#22791)
* Rename Miasma to Ammonia

* Namespace changes

* Map change????? why
2023-12-22 23:12:06 +01:00
username 621dc731a0 Add nitrous oxide decomposition reaction (#22738)
Co-authored-by: whateverusername0 <whateveremail>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-12-22 23:07:52 +01:00
username 0b0e11385f Add nitrous oxide synthesis reaction (#22774)
Co-authored-by: whateverusername0 <whateveremail>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-12-22 23:07:52 +01:00
qwerltaz 8e25e7a1f4 Improve gas analyzer interface (#22779) 2023-12-22 23:04:49 +01:00
Leon Friedrich c51891c65f Fix index out of range exception in atmosphere system (#22770) 2023-12-22 23:04:49 +01:00
Leon Friedrich 6cefcb9930 Stop AtmosphereSystem from logging errors if an atmosphere gets deleted. (#22761)
Stop AtmosphereSystem from logging errors if a atmosphere gets deleted.
2023-12-22 23:04:47 +01:00
SapphicOverload 405349cf48 Hardsuit and EVA helmets allow using internals without a mask (#22716) 2023-12-22 22:59:07 +01:00
Leon Friedrich 05ed1723fa Rebalance fireaxe (#22731)
* Rebalance Fireaxe

* Nerf it a bit
2023-12-22 22:59:07 +01:00
Leon Friedrich e1edf78308 Add more centcomm spawning logs (#22726) 2023-12-22 22:57:03 +01:00
Leon Friedrich 23b09d6b33 Add atmos error log (#22696) 2023-12-22 22:55:22 +01:00
Kara bb57cfb2b4 Change gas canisters to use ItemSlots (#22561) 2023-12-16 20:37:41 +01:00
Leon Friedrich d0ea0a8b31 Improve atmos debug overlay (#22520) 2023-12-16 20:31:51 +01:00
Leon Friedrich b065a0a817 Atmos scaling cvar changes (#22501) 2023-12-16 20:31:51 +01:00
tgrkzus f2258e2611 tanks only produce noise with sufficient valve pressure (#22401) 2023-12-16 20:30:32 +01:00
Nemanja 58bc3430f5 Gas Condensers (#22436)
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-12-16 20:19:56 +01:00
Kevin Zheng a85bad56bc Fix heat capacity scaling (#22464)
* Correctly apply HeatScale

* Apply HeatScale on InitializeGases()

* Re-add conservative heat scaling and speedup
2023-12-16 20:19:56 +01:00
Kevin Zheng 548b6f4368 Split up atmos speedup from heat scaling (#22372) 2023-12-16 19:58:19 +01:00
Kevin Zheng b4802757c2 Add atmos time compression (#21954)
Add atmos.speedup which is effectively a atmos-only time compression
CVar. This adjusts heat capacities and transfer rates to effectively
globally speed up the time constants of atmos.

This allows faster response to heating/cooling changes and faster
cleanups (by buffing scrubbers, pumps, and everything else) that is
tunable through one global time compression CVar.

It also achieves this without any thermodynamic unsoundness.
2023-12-16 19:56:01 +01:00
Kevin Zheng ce2a7222d6 Make pipes leak when destroyed (#20928)
This plugs a meta where atmos techs were fireaxing pipes to remove them without leaking their contents.
2023-12-16 19:40:19 +01:00
Vyacheslav Kovalevsky e4ec612f62 Add gas tanks throw damage (#20035)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-12-16 19:13:50 +01:00
metalgearsloth 122d6f01a7 Update content to new ParallelManager (#21813) 2023-12-02 20:27:37 +01:00
Leon Friedrich 99f9583a3e Adds a new `AtmosphereSystem.GetTileMixture()` override (#21804) 2023-12-02 20:26:02 +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
Leon Friedrich 945a00e385 Re-use atmos queues (#21803) 2023-12-02 18:59:48 +01:00
LordEclipse 33537f03eb Make more fields VV-writeable (#21754) 2023-11-19 22:23:30 +01:00
Leon Friedrich 82aa1d6a0f Flammable system bug fixes. (#21594) 2023-11-19 22:07:43 +01:00
deltanedas 21923cb2e6 mech nitrogen filtering 2 (#19868)
* target oxygen logic

* filter out nitrogen when low on oxygen

* vvrw and datafield for everything

* :trollface:

* bruh does work

* tagless chicken

* move into atmos, make it not depend on mech

* update mech prototype

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-12 20:45:18 +01:00
Ed 6995cd257f Candles (#21087)
Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-11-12 20:35:48 +01:00
themias 58eb6420dd Fix negative tank pressure (#21401) 2023-11-12 20:31:38 +01:00
DrSmugleaf 4257bd2c7e Make all prototype types partial (#21374) 2023-11-12 20:29:57 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +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
Kara add503c97c Kill `SharedEntityExtensions` and all popup extensions (#20909)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-10-20 15:29:43 +02:00
Leon Friedrich ff872bec6a Remove SpreaderNodeGroup (#20230)
* Remove SpreaderNodeGroup

* Fix airtight updates

* more smoke stuff

* more smoke fixes

* wtf is smoke code

* Fix merge

* Fix divide by zero
2023-10-08 19:52:10 +02:00