Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PORT] ZAS, Explosive Decompression [MDB IGNORE] #531

Merged
merged 86 commits into from
Jan 25, 2024

Conversation

RimiNosha
Copy link
Contributor

@RimiNosha RimiNosha commented Jan 14, 2024

About The Pull Request

Stolen from DD:

Anyways, see title, I'm posting this early cause there's harddels that I need to track down, and I don't have the patience to leave a server open in the background for possibly around an hour.

Near future TODOs:

  • Add a new type of generator, potentially the RBMK.
  • Fix up and readd bay's version of the R-UST.
  • Add a new pipeline for heat waste to space radiators. This should make heat management more of an active thing rather than making it yet another "add more power lol" thing.
    • Yeah, there's gonna have to be a doc on this so I get it right 😔
  • Add more gasses, potentially look into adding new ways of making gasses.
  • Implement evil plasma mechanics properly. They're disabled right now to avoid ballooning my fucking changelog size and the amount of mechanics added in one PR.

How Does This Help Gameplay?

Space is dangerous as fuck now, and you shouldn't be careless when changing the station.

How Does This Help Roleplay?

"Hey, are you gonna patch that hole?"
"Nah, SSair is running at 2500% tidi, we've hours before it becomes a problem. Just stick a space heater inside for the lizards."

Proof of Testing

In your wildest dreams. This will be buggy while I iron out all the issues found in playtests.

Changelog

🆑 Kapu (original), RimiNosha (port)
add: ZAS, a blazing fast, if somewhat simplified atmos system.
del: LINDA (our old, slow as balls atmos system)
add: Explosive decompression, which is, as the name suggests, dangerous.
balance: Space is no longer magically ultra-cold for pipes.
qol: Air alarms now have inbuilt heaters. They're nowhere near as powerful as space heaters, though!
del: Aninoblium, Hypernoblium, Freon, Halon, Healium, Pluoxium, Nitrium, BZ, Masma, Proto Nitrate, Zauker.
spellcheck: Water Vapour > Steam
add: Alium, a fucked gas that will have random attributes each round.
add: Deuterium, which burns ~20% hotter than hydrogen.
add: Argon, Neon, Krypton, Xenon, Boron, which are all noble gases with differing behaviours.
add: Methane, which is stinky, as is the replacement for Miasma.
add: Ammonia, Chlorine, Methyl Bromide, Nitrogen Dioxide, all of which are potent toxins.
add: Nitric Oxide, Sulfur Dioxide.
add: Walls can now melt from high temperatures.
del: Openturf fusion. Replacement coming in the near future.
del: HFR. Not like many folk knew the thing even existed, nevermind how it works.
del: Pressure resistance. Anything not anchored will be moved by pressure effects.
/:cl:

RimiNosha and others added 30 commits January 10, 2024 22:39
* Initial commit

* PAIN AND AGONY

* Under 1000 errors

* Checkpoint!

* Gonna pull the trigger soon

* Co-authored-by: Gallyus <[email protected]>

* adds immutable mixtures

* !!!/SIMULATED/ REMOVAL!!!

* ITS TIME

* ZAS HELL

* it compiles

* atmostest

* cummies

* AMONG US

* SSzas refactor + initial gas stuff

* Space wind tweaks

* Initial Gas Mixture fixes, Admin Debug Verbs

* :screm:

* Firedoors should no longer cause zone rebuilds

* Misc fixes

* Updates c_airblock to check QDELETED

* Fire stuff - spreading is scuffed

* FIRE WOOORKSSSS

* Returns ZAS wait to 2 seconds (sadness)

* Updates SSzas and Fire

* Partial revert of MC changes

* SSairmachines

* Some fixes. Atmos Sensitive still needs signals

* Atmos Alarms now work properly & trigger firedoors

* Attempts to make scrubbers work right, failed

* Updates SSzas

* Scrubbers and the beginning of atmos sensitivity removal

* fixes the overlay code w/ placeholders

* SSairmachines now recovers during MC failure

* BURN BABY BURN. And glass cracking sounds

* temp removals

* All linters fixed

* grumble

* grumble 2

* fuck

* FUCK

* Globals

* wohops

* MINTEST: Atmos Equipment Addition

* Further map updates, add maps.txt def

* Typo + fixes? passive gates

* Fixes passive gate for real and fixes a canister bug

* Hahaha im a dumbass.

* FUCK

* Moar gases, gaseous reagents, and handling.

* Updates fire code to be more functional

* Removes atmos sensitivity

* LAVALAND TEST + DEBUG IMPROVEMENT

* changes for test

* the station is no longer covered in shrek cum

* lung runtime fix maybe

* Improves airflow behavior significantly

* Dense objects can now step into non-dense objects during Airflow

* Micro opt

* makes all gas mixture procs camelcase (I will regret this later)

* Clean up, fixes reconcile_air(), recode copyFrom()

* Fixes critical math errors.

* More equipment to test.

* Fixes gas anal.

* Fix atmos filters. Quantize gas during filtering

* Slightly better fix

* Fixes an error in verb permission.

* TYPO

* Bring back pre-init messages

* Fix some bugs

* HAHAHAHAHAHHA WHOOPS

* Fixes kilo. The great unspace-ening

* Third times the charm

* Fixes atmos resin.

* Fixes the portable air pump. I hope.

* Grammar

* stupid language

* Makes some gases purchasable. Oops.

* Purchaseable air canisters. I hope.

* Fixes roundstart plasma

* Canisters have the correct heat resistence

* Fixes? directional windows blocking atmos due to being constructed on unsimulated turfs

* Fixes N2O not knocking you the fuck out

* Fixes atmos consoles and n2o overlays

* Rewrites vent pumps

* Tweaks, mainly to airflow

* Hibernation, filters, optimizations.

* Disables ZASDBG and adds last process

* Unfucks varedits, optimizes updateValues() by making it a macro

* lets see if this works i guess

* Unit Test BS

* linter appeasement

* TGM format

* Whoops

* brings back precision clean up

* Pushing this so dreammaker doesnt eat my ass

* more R-UST work

* R-UST progress

* Mo shit

* more fuel rod stuff

* softdel my rod

* grumble

* This is probably fine.

* Alot of progress. Still fighting the selfmerge bug

* ZAS READABILITY UPDATE

Adds a ton of comments to ZAS procs, renames some, and greatly improves ZAS debugging tools.

* REALLY hacky fix to shuttle movement

* Compile stuff + misleading proc name change

* multizas testing map

* Enables MultiZAS

* Try to fix world bounds issue with ZAS

* Runtimes fix

* Fixes a hilarious oversight

* CI

* please

* fix icebox

* Linter pass attempt 1

* more unused stuff cleanup

* gas id update

* more unused stuff

* mooooore shiit

* are you fucking kidding me

* please dont make me force push a reset

* hard del fix + transfer moles debugging

* typo

* try to fix reactor hard del

* Fix some bugs. fuel_objs no longer leave refs

* I Am An Idiot (fire compile fix)

* Fixes mapping error causing a bad init

* docs zas compile options

* Disables SSairflow during unit tests.

* Fixes a critical bug, some more bugs, and comments

* Disables ZASDBG

* more comments + another attempt to find this bug

* fixes an erroneous return value

* Prevents air from moving up/down in hyperspace

* Please don't break anything. Adds the Supermatter

* Hibernating scrubbers now appear as off

* Whoops. Forgot to stage the N2 tank changes.

* fix maps

* re-adds SM monitor

* Fixes scrubber runtime

* Hopefully fixes magboots

* Fixes

* EXPERIMENTAL: Smart Vents/Pipes

* Airflow tweaks and improvements

* TTVs should now function more

* writing

* Fixes fire runtime

* optimizations, gasgas bad

* Liquid plasma now has the proper atmos temp

* fixes the implosion thingy

* Fixes is_safe_turf

* fixes is_safe_turf for real

* misc tweaks

* vent pump examine

* HOW DID THIS FIX IT? WHAT? THE FUCK ?????

* Fuck it. This is fine.

* oops

* please dont break anything thx

* disables debug

* Remove multiline comments in the DME

* runtime fix

* Tries to fix knockdown, and buffs extinguisher cooling

* help me debug pls

* "air" is now a valid label for canisers

* filter changes

* Fixes pluox and tritium :)

* air alarms now have the full gas list + reordered

* Re-orders common gas list

* Makes deuterium isotope 2

* vent and scrubber controls now reset hibernation

* Fixes portable scrubbers, changes to air alarms

* Explosion pass

* Fixes

* Fixes atmozphere program. fuck js

* Reworks some lists n' things

* removes redundant global list

* Back-to-basics firelocks, pt1

* fire/air alarm + firedoor refactor. Fuck me harder

* IM A DUMBASS IM A DUMBASS IM A DUMBASS

* ashlizard lungs

* fix compile

* Adds airalarm firealerts and thermostats

* fix some runtimes

* oops

* I CLICKED STAGE ALL FOR FUCK SAKE VSC

* Fix fire

* removes leftover testing artifact

* for real this time

* Removes unused files

* Fixes nitrodioxide label

* fixes methyl bromide label

* micro opts

* Tramstation should no longer freeze the server

* Removes minimum zone size

* Linterinos

* linterinos for real

* Reverts zone size change, makes other tweaks

* Tries to fix the phantom rest bug

* airflow fix

* Clean up + code ownership

* fix mdb i think

Co-authored-by: Francinum <[email protected]>
* Fixes a gamebreaking zas init bug

* fix Reboot

* disable ZASDBG

* remove the other debug artifact
# Conflicts:
#	code/game/machinery/doors/firedoor.dm
* Fixes the contaminated setting

* oops!

* bump ambience

* optimizes fire signals

* fix ship ambi
# Conflicts:
#	code/game/area/areas.dm
#	code/modules/power/lighting/light.dm
* Vacuums now all act like space for heat exchange

* Massive oversight

* Fix windows

* fixes
# Conflicts:
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/effects/effect_system/effects_foam.dm
#	code/game/objects/structures/false_walls.dm
#	code/game/objects/structures/window.dm
…improvements. FEATURE CREEP FEATURE CREEP FEATURE CREEP FEATURE CREEP FEATURE CREEP FEATURE CREEP FEATURE CREEP (Artea-Station#5)

* ZAS: At The Speed of Light

* fix runtimes/issues

* more fixes

* re-add atmos exposure, subsystem edition

* adjustments and disable multizas

* fixes and opts

* house cleaning

* perf

* Slice zone tick cost in half

* Fix diseases and Create Area
# Conflicts:
#	code/__DEFINES/atmospherics/atmos_canpass.dm
#	code/__DEFINES/atmospherics/atmos_helpers.dm
#	code/__DEFINES/subsystems.dm
#	code/_compile_options.dm
#	code/controllers/subsystem/zas.dm
#	code/datums/atmosphere/_atmosphere.dm
#	code/datums/atmosphere/planetary.dm
#	code/datums/elements/atmos_requirements.dm
#	code/datums/elements/smell.dm
#	code/datums/status_effects/debuffs/fire_stacks.dm
#	code/game/machinery/computer/atmos_computers/_air_sensor.dm
#	code/game/objects/effects/effect_system/effects_foam.dm
#	code/modules/atmospherics/ZAS/Expose.dm
#	code/modules/atmospherics/ZAS/Fire.dm
#	code/modules/atmospherics/ZAS/Turf.dm
#	code/modules/atmospherics/ZAS/XGM/xgm_gas_mixture.dm
#	code/modules/atmospherics/ZAS/Zone.dm
#	code/modules/atmospherics/machinery/airalarm.dm
#	code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
#	code/modules/atmospherics/machinery/portable/pump.dm
#	code/modules/atmospherics/machinery/portable/scrubber.dm
#	code/modules/cargo/bounties/engineering.dm
#	code/modules/credits_roll/episode_name.dm
#	code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
#	code/modules/mob/living/carbon/human/human_helpers.dm
#	code/modules/modular_computers/file_system/programs/atmosscan.dm
#	code/modules/power/supermatter/supermatter_process.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/server.dm
#	tgstation.dme
@RimiNosha RimiNosha marked this pull request as ready for review January 18, 2024 19:53
@RimiNosha RimiNosha changed the title [PORT] ZAS, Plasma Contamination, Explosive Decompression [MDB IGNORE] [PORT] ZAS, Explosive Decompression [MDB IGNORE] Jan 18, 2024
@github-actions github-actions bot added the Merge Conflict Uh oh, a maint merged a PR that edits the same stuff as yours! label Jan 21, 2024
…oh_god

# Conflicts:
#	code/game/turfs/closed/_closed.dm
@RimiNosha
Copy link
Contributor Author

Turbines confirmed working with relatively balanced values. May need adjustments if power is found to be too much, or too little.

@RimiNosha RimiNosha removed the Merge Conflict Uh oh, a maint merged a PR that edits the same stuff as yours! label Jan 21, 2024
@ReturnToZender
Copy link

Kicking absolute ass Rimi, keep up the good work 👍

@RimiNosha
Copy link
Contributor Author

Tempted to YOLO merge this so I can work on the near-future TODO stuff immediately.

@github-actions github-actions bot added the Merge Conflict Uh oh, a maint merged a PR that edits the same stuff as yours! label Jan 25, 2024
…oh_god

# Conflicts:
#	code/__DEFINES/atmospherics/atmos_mob_interaction.dm
@RimiNosha
Copy link
Contributor Author

Kicking absolute ass Rimi, keep up the good work 👍

Downstream Artea 😛

@RimiNosha RimiNosha removed the Merge Conflict Uh oh, a maint merged a PR that edits the same stuff as yours! label Jan 25, 2024
@RimiNosha
Copy link
Contributor Author

Fuck it, YOLO

@RimiNosha RimiNosha merged commit cbc8f44 into Artea-Station:master Jan 25, 2024
16 of 17 checks passed
@RimiNosha RimiNosha deleted the oh_fuck_oh_god branch January 25, 2024 20:06
Artea-Station-Bot added a commit that referenced this pull request Jan 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Also known as "I died to this, let's make it bad". Config Update Oh boy, Rimi has to touch the server config when this gets merged. Feature How I broke the server in one easy step! Grammar and Formatting Not all of us have formal education in english. Mapping Something something someone placed three reinforced window spawners in one place. Port "So I saw this cool thing-" Quality of Life Also known as "I deleted a ton of other things and made one particular thing the only way". Removal "What is soul? Are you a cult?" Sounds Also known as "I added a background rumble to lavaland and gave everyone headaches". Sprites I like pretty things. UI Also known as "I like lagspikes, so I added TGUI to your TGUI".
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants