* reduce pluox produced by the SM (#65120)
Decrease the pluoxium produced when exposing co2 to the SM by 5 times.
Decrease the co2 consumed by that process by half
CO2 setups were getting much harder to maintain due to the increased consumption of co2 and production of pluoxium at high level setups. This allows a more fine tuning of the gases and rebalances the gases production/consumption to be around the old levels (pre rads)
* reduce pluox produced by the SM
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Set the plane for floor lights. (#65106)
Floor lights are missing "plane" and the default sets them to -4, which makes them appear on top of tables and players.
* Fixes floor lights by setting their plane.
Co-authored-by: Christmas5 <58363251+Christmas5@users.noreply.github.com>
* Change hydroponics tray and chem dispenser AltClick behavior to be used by RMB (#64939)
* Change hydroponics tray and chem dispenser AltClick behavior to be used by RMB
Co-authored-by: Tim <timothymtorres@gmail.com>
* Fixes some light presets being brighter than intended (#64861)
* fixes light presets
* into the void with you
* Fixes some light presets being brighter than intended
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
* Fixes issues found by new switch lints (#64766)
Very nice addition to sdmm.
* Fixes issues found by new switch lints
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Improves ethereal APC sucking code (#64638)
* armhulen talk to me about the combat mode stuff
* cleans up the istype issues
* ryll please free me from slavery
* Improves ethereal APC sucking code
Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
* fixed ethereals being unable to charge from APCs (#64547)
This PR allows ethereals to receive and give charge to APCs again. I had to make some design choices due to the fact there is no clear solution with ethereals having an action with two possible outcomes. I moved ethereal APC charging to its own function called from the right click attack hand function.
* fixed ethereals being unable to charge from APCs
Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
* Fixes incorrect apc offset warnings (#64488)
We were setting the offset to negative values, then checking that against a non negative define
Uses the absolute value to compare instead of the signed value.
* Fixes incorrect apc offset warnings
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Changes APC's/air alarm's lock/unlock hotkey from alt+click to right click (#64352)
* APCs and air alarms lock/unlock with right click
* Changes APC's/air alarm's lock/unlock hotkey from alt+click to right click
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Fixes some mapping errors not using the mapping error log. (#64114)
Should help prevent #64066 from reoccurring.
* Fixes some mapping errors not using the mapping error log.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* MOD update: Modular Cores
* Fixing all dem conflicts
* Okay now it's going to compile too
* Fixing some Trigger() (they triggered me)
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* In Soviet Nanotransen, Tram consume you! (#63643)
* stops the tram from consuming the SM
* In Soviet Nanotransen, Tram consume you!
Co-authored-by: DragonTrance <dylan661993@gmail.com>
* Pluoxium production via supermatter CO2 O2 reaction will no longer consume oxygen that doesn't exist. (#64014)
You can no longer produce oxygen free pluoxium. Adds a min check to prevent creating a significant amount of pluoxium while consuming an insignificant amount of oxygen.
Pluoxium needs oxygen.
* Pluoxium production via supermatter CO2 O2 reaction will no longer consume oxygen that doesn't exist.
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
* Blowing kisses at the supermatter crystal will now power it. (#63858)
* Pipe direction fix. (#1)
* Test
* Test
* Forgot to do this thing.
* Okay
* Why did I do that?
* Arghh
* Not sure how that got here.
* Revert "Pipe direction fix. (#1)" (#2)
This reverts commit 7ffd5b598f9bd598f67f6ba3219079f3c03e2ac4.
* Smart pipes direction fix.
Hi
* Revert "Pipe direction fix. (#1)" (#4)
* Gaming
* Flushed
* Okay
* Changes a number.
Co-authored-by: 170141183460469231731687303715884105727 <58013024+170141183460469231731687303715884105727@ users.noreply.github.com>
* Blowing kisses at the supermatter crystal will now power it.
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
Co-authored-by: 170141183460469231731687303715884105727 <58013024+170141183460469231731687303715884105727@ users.noreply.github.com>
* Fix supermatter and door runtimes (#63718)
About The Pull Request
It turns out that when the supermatter is about to explode it spams a div/0 runtime instead of emitting rads. This fixes that.
This also fixes a runtime caused by attempting to walk through an airlock with a cut ID wire since it came up in testing.
Why It's Good For The Game
Less runtimes.
Changelog
cl
fix: The supermatter will once again emit radiation when it is about to explode.
/cl
* Fixes a supermatter runtime. Also fixes an airlock runtime.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes aiming at things through cameras not aiming at the thing you aimed at. (#63654)
You can click on things through cameras. This is one of the major appeals of BRPEDs. If you try to shoot at things while using a camera console to aim you will shoot at the angle between the camera you are looking through and the thing you are aiming at. This makes you aim at the thing you are aiming at from the perspective of yourself instead of the camera you are using.
While it would be funny to watch a sniper gun down their own team aiming through a camera bug and shooting in the opposite direction they think they I'd prefer if it actually worked.
* Fixes aiming at things through cameras not aiming at the thing you aimed at.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* [Ready] MODsuits
* we dont need to add these people as codeowners, goodness gracious
* have to remove this because upstream
* part 1 of these fixes
* EEEE
* Update peacekeeper_clothing.dm
* E
* E
* Auto stash before merge of "upstream-merge-59109" and "origin/upstream-merge-59109"
* E
* Update expeditionary_trooper.dm
* more removal
* nice
* modsuti modstui modusuti
* fixes
* E
* ITS MODsuit not HARDSUIT
* more hardsuit references
* MODSUIT NOT HARSUITEDSA
* Maps
* More ,map
* oop
* e
* oo aa
* 0
* ting tang
* Update modsuit_tailsprites.dm
* hi fikou
* bs tech update
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Allows supermatter crystal to produce gases on non-space turfs that don't have air. (#63276)
If there is no air on a turf, the supermatter crystal will not produce gases even if powered. This changes that so that it can produce gases while powered if there are none on the turf. It will still take damage in case it doesn't produce gases, or it gets immediately removed.
Although it's unlikely to happen, it will look very weird if the supermatter doesn't produce gas while on a non-space turf while powered, as that situation but with like 0.0001 moles on the turf would cause the SM to immediately go on fire.
* Allows supermatter crystal to produce gases on non-space turfs that don't have air.
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
* CO2+O2 to Pluox conversion for the Supermatter again. (#62626)
About The Pull Request
Now that radiation waves are gone, the SM isn't capable of generating Pluox, actually the only way to generate Pluoxium is with a reaction mix of O2/Plasma/Tritium at low pressure, something that I assume most of the Atmos players don't even know about as the SM was the main and efficient way to generate Pluox.
The change also removed Pluox as an annoying waste gas on the SM, not the biggest of nerfs but...
So I copied the way the SM reacts with Miasma to generate extra power (bet most people don't know about this either.) for parity on how the SM only reactions work, but with a few changes to work better with a high power charged CO2 SM compared to a Miasma one.
The main change compared to the Miasma reaction is that it scales less with power and more with pressure, a High pressure and low power CO2+O2 SM should be the most efficient/safe way to make Pluox, a different kind of challenge to the low pressure high power CO2 SMs we have already.
Also, the amount of Pluox generated might need tweaks, but it is nothing compared to the production of old Radiation charged SMs.
Why It's Good For The Game
When I was a lil baby Atmos Tech, I looked at the Pluox generation reaction and had such high expectations.
"Wow, I can make more efficient Pluox internals to give away, I can flood the Station with Pluox instead of O2 and it will prevent fires and allow Plasmamen to vibe!"
Such cute thoughts that never really got into reality because the task is gargantuan without much return... still cute thoughts that I hope new Atmos players at least try.
Something something S O U L.
Changelog
cl Guillaume Prata
expansion: After a short break, the Supermatter is back again at the her hard working and slightly different Pluoxium generation business.
/cl
* CO2+O2 to Pluox conversion for the Supermatter again.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Merge MACHINE/port_gen/Initialize definitions (#62747)
This apparently happened in 58d0f12c5c, four year ago, where a New()
was renamed to Initialize().
Apparently in this case, the second definition runs first, and the first
definition runs in the second's parent call. Since the second immediately
calls the first as a parent call, just merging them with the first's body
first preserves behavior.
This is slightly horrifying.
* Merge MACHINE/port_gen/Initialize definitions
Co-authored-by: esainane <esainane+github@gmail.com>
* [MDB IGNORE] dir sanity, primarily on WALLITEMs (#62601)
About The Pull Request
Wall items mostly use the direction from the floor to the wall in the named mapping helper. Wall items mostly use the direction from the wall to the floor for the internal dir variable.
This leads to a headache when it comes to working out what conflicts with what, and what needs placing where.
Wall frames provided a member, inverse, which specified whether or not to invert the direction of the item when looking for conflicts. It was also used to specify whether to look for conflicts outside of the wall (cameras and lights appear external to the wall) or inside the wall (most wall items). This flag was set for Intercoms, APCs, and Lights. Since APCs and Lights expect a floor-to-wall direction, and Intercoms expect a wall-to-floor direction, this means that APCs and Lights were getting the correct direction, and Intercoms were getting the wrong direction.
Some implications of this setup were:
You could build an APC on top of another wall item, provided there was nothing external attached to the wall and the area didn't have an APC.
You could stack Intercoms indefinitely on top of the same wall, provided you weren't in a one-tile wide corridor with something on the opposite wall.
Or both! Here's twenty Intercoms placed on the wall, and a freshly placed APC frame after placing all Intercoms and deconstructing the old APC:
endless-stack-of-intercoms
Not everything used this inverse variable to adjust to the correct direction. For example, /obj/machinery/defibrillator_mount just used a negative pixel_offset to be visually placed in the correct direction, even though the internal direction was wrong, and never set! This also let you stack an indefinite number of defib mounts on the same wall, provided it wasn't a northern wall... except you could do this to northern walls too, since defibs weren't considered a wall item for the purposes of checking collisions at all!
Ultimately, every constructable interior wall item either used this inverse variable to adjust to the correct placement, set a negative pixel_offset variable to have its offset adjusted to the correct placement, or overrode New or Initialize to run its own checks and assignment to pixel_x and pixel_y!
Inventory: Table of various paths, related paths, and the adjustments they used
Unfortunately, untangling /obj/structure/sign is going to be another major headache, and this has already exploded in scope enough already, so we can't get rid of the get_turf_pixel call just yet. This also doesn't fix problems with the special 2x1 /obj/structure/sign/barsign.
Some non-wall items have been made to use the new MAPPING_DIRECTIONAL_HELPERS as part of the directional cleanup.
tl;dr: All wall mounted items and some directional objects now use the same direction that they were labelled as. More consistent directional types everywhere.
Why It's Good For The Game
fml
Changelog
cl
refactor: Wall mounted and directional objects have undergone major internal simplification. Please report anything unusual!
fix: You can no longer stack an indefinite amount of Intercoms on the same wall.
fix: Defibrillator Mounts, Bluespace Gas Vendors, Turret Controlers, and Ticket Machines are now considered wall items.
fix: Wall mounted items on top of the wall now consistently check against other items on top of the wall, and items coming out of the wall now consistently check against other items coming out of the wall.
fix: The various directional pixel offsets within an APC, Fire Extinguisher Cabinet, Intercom, or Newscaster have been made consistent with each other.
fix: The pixel offsets of Intercoms, Fire Alarms, Fire Extinguisher Cabinets, Flashers, and Newscasters have been made consistent between roundstart and constructed instances.
fix: Constructed Turret Controls will no longer oddly overhang the wall they were placed on.
qol: Defibrillator mounts now better indicate which side of the wall they are on.
fix: Some instances where there were multiple identical lights on the same tile have been fixed to only have one.
/cl
* [MDB IGNORE] dir sanity, primarily on WALLITEMs
* apc directionals
* bluespace vendor fix
* defib fix
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>