* Removes recharger tablet parts
Removes 'advanced' tablet subtypes that we used before PDAs were added, in some jobs.
Replaces Roboticist's advanced tablet mail with a laptop
Moves the notepad's note var from the tablet, to the note app
Moves modular computer's defines into their own file
Machine computers now directly use power from the machine they're in, while the rest uses power cells.
Silicon tablets don't use power at all.
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Basic outline for Bartender RCD
* Alphabetically sorted drink and booze dispenser reagent lists
* Added soda/booze synthesizers to the service plumbing constructor
* name change
* Syntax Error fixing
* Name and research updates
* Updated constructor selection
* Mixing chamber sister class
* brewery RCD redo again
* Custom Mixing Chamber UI
* Finalized plumbing reskins
* Allowed the service techfab to print chemical recipient boards
* added test sprites and removed un-needed renames
* Last Rename
* leftover whitespace fixes
* more whitespace removal
* one more name update
* refactor for upstream
* fixing TGUI i broke
* last whitespace fix
* last last whitespace fix
* please have this fix the whitespace
* updated doc comments
* updated ui_data and ui_act procs make more sense
* Update code/modules/plumbing/plumbers/reaction_chamber.dm
Co-authored-by: lex <alexdpow@gmail.com>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
tweaks the colors on the security modsuit to be lighter, i think i did that on the original pr but it got reverted due to merge conflicts
makes the standard quick carry module have nitrile level carrying instead of latex level
environmental bodybags are now always pressurized
adds medical and security hardlight bags, which are environmental bags you can use to move people through space, security ones can be sinched to prevent escape
adds a medical version of the prisoner capture module, for patient transport, prisoner capture and patient transport now use the medical/security holobags, medical one deploying them faster. when you move too far out of range the holobag dissipates
adds a defibrillator module, extends shock paddles
adds a thread ripper module, this module temporarily rips away the matter of clothing, to allow stuff like injections, surgery, defibrillation etc through it
adds a surgery processor module, essentially a portable surgery computer like borgs have
fixes a bug where you can unwield defibrillator paddles just after starting the do_after to defib onehanded
fixes a bug where the modsuit gps would have a broken name when renamed
Fixes issues with coffeemakers, as detailed in #69344:
Adds coffeemaker boards to the techweb.
Readds sprites for coffee cartridges, which were lost due to merge skew with
Adding tempeh (tem · pay) #68359.
Fixes the in-map-editor sprite, which was set to an invalid value.
The others were either unreproducible (I attempted on live, and could not find an issue that lead the coffeemakers to not work) or are simply not something promised in the original PR (they were deliberately not added to maps to avoid the otherwise inevitable map merge conflicts that would arise, and the sprites are the best I can personally muster).
Makes trapdoors player-craftable.
Player-crafted trapdoors have a tiny outline as well as being visible on examine. (Mapped in trapdoors have conspicuous = FALSE by default)
Trapdoors can be made by using a trapdoor kit (crafted via player crafting menu) on openspace.
Trapdoor electronics / assembly can be made via autolathe or engineering lathe.
A preloaded trapdoor remote (optional) can be made by crafting the electronics with a compact remote (from science lathe / circuit lab) and some cable coil.
Also allows unlinking trapdoors via a multitool, decreased trapdoor link range, and made some changes to trapdoor code.
Added change: Trapdoors now don't break with just a crowbar
Why It's Good For The Game
Trapdoors currently can only be added in by mappers and this would allow for a lot of interesting contraptions, while having player-crafted trapdoors be detectable provides some counterplay
Picture
trapdoorlookdemo
Changelog
cl
add: You can now make trapdoors. Craft a trapdoor kit and use it on an openspace tile to make one, then link and activate it with some trapdoor electronics (printable at an autolathe or the engineering lathe) and optionally a trapdoor remote (crafted in personal crafting menu).
qol: You can now unlink trapdoors by using a multitool on them.
balance: Trapdoors now won't break if you just crowbar them. You need to block them from closing, such as with a lattice, cover it up with a wall, or fully destroy the floor tile its on to get rid of them.
/cl
Adds keyboard shell.
Works very similar to the thought listener component for BCIs
It opens up an input panel when you use it (tgui_input_text)
Players with the illiterate quirk cannot use this shell. When they try to use it they get a warning message.
It's printed out as assembled (like compact remote or controller)
It can fit in a bag but not in a box
Has small capacity (SHELL_CAPACITY_SMALL)
Available after researching the Advanced Shells tech node
Can be printed from the component printer or the protolathe
Costs 2000 glass and 10000 iron sheets to print (slightly more than the controller shell)
Has 3 outputs. First one returns the entity who used the shell, second is the text that entity wrote and submitted, third one is triggered after the input window is closed. (by submitting, cancelling or just hitting the X button)
Icons (screenhots from the dream maker)
* Mechs require a new Mech scanning experiment centered around damaging/destroying mechs, instead of being behind weaponry, which requires ordnance research.
* Watering cans for botany
* Clean up weird bugs by just coding the feature out
* 70u for the old can and /// like it should be
* Updated can icons courtesy of Wallem
* Swaps botany buckets for watering can on maps
* A line
Adds the Active Sonar Module to the game, a module which lets you see the locations of living creatures within a 9 tile radius.
It can be attained by researching Security Modules, and then printed like any other module.
It takes 3 complexity to house, has a 25 second cooldown, and takes a good amount of energy to use.
Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.
Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:
Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:
Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.
Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.
Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.
Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:
Fishing portal sprite by @ArcaneMusic
Other sprites by @Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:
https://freesound.org/people/soundscalpel.com/sounds/110393/https://freesound.org/people/soundslikewillem/sounds/343748/
Similar in spirit to #65707, with some more changes.
Restructured the gaseous experiments to:
Nitrous (practice experiment)
BZ (mainstay experiment)
Hyper-Nob (lategame/once-in-a-while experiment)
Added a mining partner.
Moved adv weaponry lock to normal weaponry under reactionless. Toned down t3 reactionless.
BZ locks adv engi. Medbay unbridled by toxin gasses now.
Removed Xenobio's BZ Can.
Why It's Good For The Game
My original intent with papers was expanding the difficulty range of toxins. Both to things harder than tritium (nob, nitrium, etc) and also to things easier than tritium (bz, reactionless, etc).
In that process, I feel that i strayed a bit to the harder side, this PR is an attempt to tone down the overall difficulty of some of the gaseous experiments a notch.
Nitrous now takes place of the old BZ, BZ takes place of old nitrium/halon, and noblium stays because it's difficulty is in a pretty good spot for a relatively unimportant but nice to have tech.
While we're at it, I also added more emphasis to BZ production to toxins instead of tritium. This will hopefully incentivize people to try the department out. There is a risk of this being a bit of a chore, but I believe that the relevant atmos gameplay loop is strong enough to have it be fun. You need to check on the chamber, turn on pipes, adjust the input rate, and many more that makes it significantly more fun to do.
We do this by:
Locking advanced engineering with BZ (organs and implants lock lifted). Depending on feedback i wont mind changing this around if you want to suggest another node as long as it's of similar or very slightly less importance.
Getting rid of xeno's BZ can. Some xeno players need it for making slimes sleep, with their roundstart supply removed there should be a significant demand for the BZ production in toxins to go online asap.
If you have been paying attention to our PRs, i have been working to make BZ production as seamless and quick as possible in toxins. My five map prs #66454#66198#66064#66010#65857 have been building up to this. You can make BZ relatively quickly with the new freezer chamber in place. Probably even faster than ordering it in cargo, which is a fine ballpark to use if you want to make changes to it.
If you want to know how to operate it, here is a wiki guide in place https://tgstation13.org/wiki/User:Vincentius_vin/Sandbox#BZ_Synthesis. We will move it to the main toxins page once the rest of the page is finished, pictures are added,
Made adv engi tech node require bz shells as an experiment, organs no longer need it.
Adv mining no longer requires adv engi.
Removed nitrium and halon shell, implant experiment lock lifted because of the former.
Relocked sec 1 tech node to need pressure bombs, sec 2 no longer needs tritium bomb.
Made advanced pressure bombs easier to do without funny fusion gases.
Added a new mining partner that accepts smaller (even non-atmos/non-ordnance related) bombs
Added more options to purchase nodes in the paper partners. Your point gain stays the same though.
Removed roundstart BZ can from xenobio.
Removes cell chargers showing up twice in Industrial Engineering, and fixes the APC module's sprite.
To prevent more bugs like this, I standardized other IDs to all use snake_case.
Doubles the range of the MOD Pathfinder AI
Fixes modules rendering below the suit.
Adds the ability for modules to be used when inactive.
Documents/cleans up some code.
Updates some old descriptions and explains some concepts better.
Armor Booster and Ash Accretion can no longer boost your speed over no slowdown at all.
Makes flashlight module start with 4 instead of 3 range, so it's better for people that don't know about configuration.
Doubles t-ray module range, from 2 to 4 (t-ray scanner is 3).
Puts the noslip module lower in progression, lowers its' price to 2.
New sprites for the magnetic harness module by Onule.
Brings back the holster module, it can now be used when the suit is inactive, can be printed with security suit research.
Adds the power kick module for the ERT Commander. It's a powerful kick.
Removes CPU, Sensors and Identify parts from modulra computers.
This is in effort to simplify how tablets and tablet apps are, while removing barriers to download specific apps. Limiting apps needed for your job, through hardware, is a terrible idea, and just limits departmental stuff to being there roundstart/latejoin, punishing people who job change through the in-game HoP system, devaluing the job as a whole.
This PR adds the accounting console to the game, as a console that exists round start within the HOP's office. The accounting console allows for players to get 2 separate lists of information:
- A list of all the bank accounts associated with each crewmember on the station, listing their account balance, their job, and their paygrade modifier (Which is either 1 or 0.7, depending on their species)
- The audit log, a basic list of transactions of player purchases, listed listed in the following formal universally: [person] spent [cost]CR on [Purchase Source]. It's intentionally left without all the information so that players will need to investigate if they notice strange purchases coming from an account, as a kind of ghetto money forensics.
This PR focuses on cleaning up two procs - updateDialog and updateUsrDialog. Both of which are/were used updating for old HTML UIs. As these UIs got converted to TGUI over time, these old code fragments started to pile up, often due to coders simply overlooking them. This resulted in them being dead code doing nothing when called, or randomly opening up windows when they shouldnt, for example when a vending machine is screwdrivered and UI cannot even be interacted with.
However, there were also some desirable uses - like opening a window when an ID is inserted into civilian bounty console, which you are then gonna obviously use to pick a bounty. I kept these uses and replaced them with proper ui_interact, so they now always work, instead of them working only when you had them set as a currently used machine on mob. The list of these changes is:
Civilian Bounty Console will now always bring up its UI when you insert the ID.
Air Alarm and APC will now always bring up its UI when you unlock their controls.
Portable Chem Mixer, Chem Dispenser, Chem Heater, Improvised Chem Heater, Chem Spectometer and Chem Master will now always bring up their UI when you add or replace beaker to them.
Two old /Topic calls were cleaned up as well, as they were no longer relevant.
Removes dead or outdated code, adds sensible UX when working with certain UIs.
* unfinished circuit laserpointer module
If this makes a pr I will be very mad
* Almost done making it function
* adds it to the research path
* lets it be logged
* Makes it work and printable
* removes felinid moving to save time dilation + removes cyborg stun because just no
* minor changes
* removes unused var oops
* guh?? (alphabet)
* part 1
* Merge branch 'master' of https://github.com/tgstation/tgstation into magnet-holster
* modsuit module update: replacement of holster and pepper spray, nerf to clamp
* fixes
* this for some reason renders shit badly
* h
* test
* handles deleting as an arg, hopefully fixing the runtimes
* dusk to dawn
* fucking idiot
* you too
* slight speedup
* stiupid
* less capsaicin
* Apply suggestions from code review
use the typecache
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Update code/modules/mod/modules/_module.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* w
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
This PR rework the atmos turbine into a 3x1 multiblock machine.
The calculations are now done by simulating the flow of gases and expansion work that they do inside the turbine (heavily simplified), now a pressure differential between the inlet and outlet will heavily change the output of current that the machine is able to deliver.
The machine will not use stock parts for upgrades, but instead it will use 3 main components that are to be made by hand (except for the first tier that can be printed)
Those are compressor part, rotor part and stator part.
There are 4 tiers to them where the last one will use metallic hydrogen to be made, but will significantly increase the output and resistance of the machine.
-- Docs for the turbine:
A work based engine that “simulates” the flow of gas to calculate the energy produced by the moving gases.
These gases cool down while passing through due to the work done on the turbine blades and the expansion it get inside the machine
The new turbine
The machine will be expanded into a 1x3 multiblock machine that will accomodate 3 parts to it:
An input compressor
An output turbine
A core rotor
There are 3 other main component that are:
The Compressor Blade part
The Rotor Shaft part
The Stator Generator part
These three are the main (and only) upgrade path the machine can follow.
Parts
Input Compressor
It handles the input of gases inside the machine, it contains the Compressor Blade part.
This part moves the gas in, compresses it and increases its temperature by the amount of work the compression of the gas does.
Output Turbine
It handles the output of the gases outside the machine, it contains the Stator Generator part.
The gases moving through will expand 6x the initial volume and cools down before getting expelled.
Core rotor
Main part of the multiblock machine. It contains all the logic for building and processing the turbine.
Can be connected to a computer for control.
Contains the Rotor Shaft part.
Upgrades
The three installable parts can be upgraded with specific sheets to improve their efficiency and resistances. Each tier up will increase the max RPM reachable by the turbine and the max input temperature that the machine can take before starting to be damaged.
Each first tier part can be printed in any Lathe (proto/auto) but it requires hand crafting with different materials to be upgraded.
Compressor Blades can be upgraded with plasteel, titanium and metallic hydrogen.
Rotor Shaft can be upgraded with plasteel, titanium and metallic hydrogen.
Stator Generator can be upgraded with titanium, metallic hydrogen and zaukerite.
-- End docs
Fixes#50667 (Infinite power generation by piping turbine output into its input. This worked because there was no temperature threshold, and the cost of applying pressure via pumps was lower then the power generated -Lemon)
Better turbine in many aspects, preparation for SM rework
This adds science NV goggles to the game, (chemscan night vision goggles) available after NV tech is researched. And gives a research scanner to science sunglasses.
TLDR
Mech UI now TGUI: https://streamable.com/ahjydy
Mechs now use "slots" for equipment
They can only mount 2 guns(left and right arm, left and right click to use)
Tesla & Concealed bay is removed
Removed mech damage deflection
Full list of changes
Note: weapons in this section refer to all click-using equipment such as guns/hydraulic clamp/etc
Hackmd: https://hackmd.io/lgr-LetfSKyHzPP0zQUXPA
Tesla has been removed (Tesla gives you effectively infinite power on station and off station(where the design direction for mechs is intended) they are useless)
Concealed mech bay has been removed (Concealed mecha bay relied on selection for visibility so it doent make sense to exist when all equips are "selected", the code was bad (instead of flag or something you just used locate() everywhere)
Honker no longer has snowflake UI (I'm sorry but if I have to make a third UI for this im going to go insane)
Mechs now mount 2 arm weapons, and certain amount of "utility", "armor" and "power" module types
The two arm weapons do not share a cooldown anymore UNLESS they are identical weapons
left click to shoot left weapon right click for right weapon, this will shoot the weapon unless you click next to you with a ranged weapon it will then try to melee (This also applies to attaching the weapon to the mech)
It is no longer possible to deflect or have multipliers for damage from innate or armor sources, armor will now just apply a direct armor change
Since plasma generator needed to be selected to use you now need to click on the power generator with a stack of plasma to refill it
Internal damage:
The mech no longer needs to be low health to take internal damage
Internal damage now no longer has several convoluted ways to fix each different type and is now a timed action performed in the UI
Weapons no longer have an RNG chance to be damaged or immediately deleted by damage
Weapons will now take damage aimed at the right and left arms respectively, this can be repaired using the new UI. NOTE: this is intended to be implemented as weapon/module disabling but I left it out of this PR to try resemble some shortness
Both internal and equipment damage have minimum thresholds of damage required in a hit before they attempt to check whether the mech should take internal or equipment damage, teh threshold is lower for equipment damage
You can no longer reload weapons using energy
Demo Video
https://streamable.com/ahjydy
This PR adds 2 new BCI components: VOX component which allows to play vox announcements(for the user only!) and Thought Listener component which allows user to input a string upon activation.
I've also added a rotation port for the object overlay component so you can make pinpointers using it.
This PR requires #65604
Adds view sensor component to circuits which allows to get all visible(no ghost detectors, sorry) movable atoms in a 5 tile range. It only works when your circuit's shell is placed on the ground or is held in hands.
Adds a wiremod component called "Format List" and one called "Format Associative List" that you get at round-start.
It accepts a format string and a list of parameters.
For "Format List":
The format string contains normal text, and codes of the form %n (eg. %1, %2, %3) that correlate to indexes in the param list.
For "Format Associative List":
The format string contains normal text, and codes of the form %key (eg. %name, %health) that correlate to keys in the associative param list.
The param list can contain any types, which will be automatically converted to strings.
Conversion of entities to strings still follows the range rule of To String. Important to keep in mind if you're formatting an NTNet transmission.
For the associative version, the keys must be strings comprised of letters, numbers, or underscore.
Simplest example that says "Bob McToolbox pressed the button.":
About The Pull Request
You can print hand labeler paper roll to refill hand labeler now.
Edit: You can now also print toner cartridge as well to refill decal painter and airlock painter.
Previously you could print hand labeler, decal painter and airlock painter at autolathe and protolathes, but you couldn't print their refill at all. WHYYYYY, do you know how much it hurts the environment having to print another hand labeler once you ran out of paper roll.
Why It's Good For The Game
I mean, you can print hand labeler, decal painter and airlock painter already. I don't see why not being able to print their refill is a thing.
Changelog
cl
qol: hand labeler paper roll and toner cartridge can be printed at autolathe and protolathes now
/cl
How do I play/test/operate this?
Download NT Frontier on any modular computers. It should debrief you on what experiments are available and how to publish.
If you want to do a bomb experiment, make sure it's captured by the doppler array (as usual) and then print the experiments into a disk and publish it.
If you want to do a gas experiment, make the gas and either pump it into a tank and 1) overpressurize it with a "clear" gas like N2 or 2) overpressurize tanks with the gas itself. Make sure you do the overpressurizing in the compressor machine. When tanks are destroyed/ejected leaked gas will get recorded. Print it into a disk and publish it.
For publication, the file needs to be directly present inside the computer's HDD. This means you need to copy it first with the file manager.
Fill the data (if desired, it will autofill with boiler plate if you dont) and send away!
Doing experiments unlock nodes, while doing them well unlocks boosts (which are discounts but slightly more restrictive) which are purchaseable with NT Frontier.
If you are testing this and have access to admin tools, there are various premade bombs under obj/effect/spawner/newbomb
A doc I wrote detailing the why and what part of this PR.
https://hackmd.io/JOakSYVMSh2zU2YL5ju_-Q
---
# Intro
## The Problem(s)
Ordnance, (previously toxins) seems to lack a lot of content and things to do. The gameplay loop consists of making a bomb and then sending it off for credits or using it to refine cores. Ordnance at it's inception originally relies on players experimenting and finding the perfect mix over multiple rounds, but once the recipe for a "do-everything" mix got out, the original charm of individual discoveries becomes meaningless.
Another issue with ordnance is the odd difficulty curve. As a new player, ordnance is almost impossible to decipher, but once you watch a tutorial or read a wiki and can mail a 50k into space, there pretty much isn't anything else to do. Most players will be satisfied at this point without the gameplay loop encouraging them to understand or play more. The only thing you can do afterwards is to sink your teeth in and understand why that particular mix explodes the way it does. This again has a significant difficulty curve, but if you do that, the department doesn't acknowledge or reward that in any way. There are pretty much two huge spikes, with the latter one not really existing inside the department.
TLDR:
* The content being same-y over rounds.
* Odd difficulty curve:
1. A new player is oblivious to everything.
2. Those in the middle can repeat the final goal consistently without needing to understanding why
3. There is nothing to justify spending more time in the department after reaching the midgame.
## Abstract
Scientific Papers aim to add a framework to run multiple experiments in ordnance. Adding more experiments scattered across various atmospheric aspects might allow players of various knowledge levels to still have something engaging to do. A new player should have an easier challange than to mail a 50K. While those that already can make bombs should have an easier time understanding why their bombs explode the way it does. Once they fully understand why, they can set their sights on taking advantage of another reaction to set their bomb off or hone one particular reaction down.
## Goals
* Have some intro-level challanges for new players.
* Have some semblance of late-game challanges for more experienced players.
* Explain the mechanics better for those in the middle of the road.
* Incentivize trying new things out in the department.
* Better integrate Ordnance with Experisci
## Boundaries / Dont's
* Do not incentivize people to learn ordnance by using PvP loots.
* Do not shake or change the reaction system by a huge amount.
* Disincentivize having a single god-mix that does everything.
****
# Main design pillars
## A. Framework surrounding the experiments
### A.1. New experiments
Add new experiments to the ExperiSci module. These will come in two flavours: New explosions to do, and various gas synthesis experiments. Both of these are actually supported by the map layout of ordnance right now, but there is no reason to do anything outside of making a 50k as fast as possible.
### A.2. Rewards for experiments: Cash and Techweb Boosts.
Scientific papers will add a separate experiment handling system. A single experiment will be graded into various tiers, each tier corresponding to the explosion size or amount of gas made. Doing any tier of a specific experiment will unlock the discount for that specific reactions. A single explosion **WILL NOT** do multiple experiments (or even tiers) at once.
On publication, a partner can be selected. A single partner only has a specific criteria of experiments they want. The experiments will then be graded on "how good they are done", with the criteria being more punishing as tier increases. Publication will then reward scientific cooperation with the partnered partner. Players can spend this cooperation on techweb boosts. Techweb boosts are meant to be subservient to discount from experiments and will not shave a node's price to be lower than 500 points.
**Experiments will only unlock nodes, discounts are handled through this boost system.**
This is more for maintainability than anything.
### A.3. On Tedium
*This is a note on implementation more than anything, but I think this helps explains why several things are done.*
Due to the nature of atmospheric reactions in the game (they're all linear), tedium is a very important thing to consider. An experiment should have a sweet spot to aim for, but there should not be a point where further mastery is stopped dead on it's track with a reward cap.
Scientific Papers attempts to discourage this behaviour by having the "maximum score" scale off to infinity but with the rewards being smaller and smaller. The sweet spot is always there to aim for and should be well communicated with players, but on their last submission of an experiment topic players should be encouraged to do their best. There should always be a reward for pushing the system to it's limit as long as it doesn't completely nullify the other subdepartments. This is the reason why there is a hard limit on the number of publications and why the score calculation is a bit more complex than it needed to be.
## B. Gas Synthesis (Early-Mid Game)
Scientific papers will add one new machine that requests a tank to release x amounts of y gas. This will be accomplished by adding a tank pumping machine which will either burst or explode a tank, releasing the gas inside. The gas currently requested are BZ, Nitryl, Halon and Nob.
The overarching goal of this compressor machine is to present a gas synthesis challange for the players and to get them more accustomed to how a tank explodes. The gas synthesis part can always be changed in order to reflect the current state of atmospheric reactions.
## C. Explosion Changes (Mid-Late Game)
### C.1 Cause and effect.
The main theme of the explosion changes is establishing cause and effect of explosions. Reactions that happens inside a tank that's going to explode will be recorded and forwarded to a doppler array. Some experiments will require only a single cause to be present (think of it as isolating a variable). This is currently implemented for nobliumformation and pressure based bombs. Having other reactions occuring besides noblium formation will fail the first one, while having any reactions at all will fail the second one.
Adding more explosions here will be a slight challange because as of now the game has only two reactions that can reliably make an explosion.
### C.2 Tools upgrade.
Doppler array has now been retrofitted to state the probable cause of an explosion, be it reactions or just overpressurization on gas merging. These should help intermediate players figure out what is causing an explosion.
Added a new functionality to the implosion compressor:
Basically performs the gas merging and reaction that TTV does in a machine and reports the results back as if someone uses an analyzer on them. Here to give players feedback so they can try and understand what is actually going on in a bomb.
## D. Player Interaction
There should be more room for more than 1 player to play ordnance simultaneously. Previously players are also able to split tasks, but this rarely happens because tritium synthesis needs only the gas chamber to be reconfigured. Now, different players can pick different experiments and work on them. Players can also do joint tasks on one single experiment. Gases like noblium will need tritium production and also a cooling module online.
Ordnance can also coordinate with their parent department on what they really need, be it money or research bonuses.
# Potential Changes
The best-case changes that can be implemented if the current roster of content isn't enough is more reactions that can be used in bombs. Eliminating bombs entirely goes against the spirit of the subdepartment, while adding new ones will need a lot of care and consideration.
Another possible change is to implement a "gas payload" bomb. Bombs that has a set number of unreacting gas inside that will increase the heat capacity, reduce the payload, and neccesitates more bespoke mixes.
Adding more gas synthesis experiments is discouraged. The main focus of ordnance should be bombs, with gas synthesis being a side project for ordnance. These are present to ease the introduction to bombs and provide some side content.
There should be a somewhat well-justified goal in adding new synthesis experiments: e.g. BZ is there as a "tutorial" gas, Nitryl to introduce players to cooling/heating mixes, Halon to a more efficient tritium production, and Nob as a nudge to nobformation bombs and mastery over other aspects.
# Conclusion / Summary
Add more experiments to ordnance that players can take, accomplish this by:
1. Making the players perform gas synthesis or make bombs.
2. Have them collect the data, see if it fits the criteria. Explain why if it fits and why if it doesn't.
3. Have the player publish a paper.
Reward them based on how well did they do, give players agency both on the experiment phase and also publication phase.
---
TLDR: Added new experiment to toxins, added the framework for those experiments existing. Experiments comes in gas synthesis and also bombs but with more parameters. Experiments needs to be published through papers, various choices to be made there.
Implementation notes:
Because of how paper works, ordnance experiments are handled outside of experiment_handler components. My reasoning for this is twofold:
The experiments will be completed manually on publication and if the experiment isn't unlocked yet it will still be completed.
Experiment handler datums have several procs which require an atom-level parent, and I figured this is the most sensible and cleanest way to implement this without changing the experiment handler datum too much.
Small change to /obj/machinery/proc/power_change() signal ordering to adjust the state first and then send the signal. Didn't found any other usage of this signal except mine but barge down my door if it broke something.
Rewrote the ttv merge_gases() code to be slightly more readable.
A small code improvement for thermomachine to use tofixed (my fault).
Ordnance have been updated to enable the publication of papers
Several new explosive and gas synthesis experiments have been added to ordnance
Anomaly compressor has been TGUIzed and now supports simulating the reaction of the gases inside the ttv.
New tank compressor machine for toxins. You can overpressurize tanks with exotic gases and complete experiments.
Several techweb nodes are locked and require toxin experiments to complete.
Toxins can purchase boosts for various techweb nodes.
You no longer need to anchor doppler arrays for it to work.
Doppler array and implosion compressor now supports deconstruction, implosion compressor construction added.
Doppler now emits a red light to denote it's direction and it being on. Doppler not malf.
Implosion compressor renamed to anomaly refinery.
Created a new program tab "Science" for the downloader app. Removed Robotics.
Reworked the code for bombspawner (used in the cuban pete arcade game)