Commit Graph

943 Commits

Author SHA1 Message Date
NightRed 198ea3b575 base temp of gas mix (#55352)
When generating a gas mix with no temp provided the gas mix starts out at basically 0K.
This set this gas mix to room temp if no temp is listed in the gas mix string.

Nothing should start at 0K for temp, gasses being one of the big issue points.
2020-12-06 00:47:53 -08:00
TiviPlus 0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Ghilker 5d76efe40e More HFR fixes (#55203)
- Refractor HFR core from binary device to unary device to fix issue with cooling not properly connecting, that was deleting gases when tryed to use (only one port cooling now similar to a Thermomachine)
- Small fix of GUI data where two vars were inverted
2020-11-30 18:53:03 +02:00
Bobbahbrown 24e447418a tgui: Round Gauge (#55230)
This PR introduces the wacky round gauge for showing all of your favourite metrics in half-circle format. Show off those wacky numbers, use some scary blinking lights, feel alive!

I've also gone ahead and included this in the canister and tank (think internals) UIs. I've also done some refactoring of data sending from canisters because GOSH DANG it required some.
2020-11-30 18:48:52 +02:00
NightRed 62c211dac7 Cryopod cooling fix for humans (#55221)
The core temp was meant to be cooled separately through the skin in cryo pods, but on inspection that interaction was skipped.
This makes the core temp match skin temp in a cryo pod.
2020-11-29 23:04:40 -05:00
Ghilker 5389e99dc9 Proto Nitrate reaction fix (#55188)
Fix runtime with proto_nitrate reaction with trit
2020-11-28 07:41:50 -03:00
Ghilker 3ea9f55ebb HFR runtime fix (#55189) 2020-11-28 07:39:24 -03:00
Ghom 4c31b0e116 CanUseTopic() refactor. (#54747)
* CanUseTopic() refactor.

* Forgot about default_can_use_topic. Tested and working.

* Update bin.dm

* no-nonsense.
2020-11-25 13:12:12 +01:00
Maurukas a5c2bd12f7 Fixes cryogenics infinite gas deletion (#55068)
* cryo fixes and cleanup

Move magic numbers to defines
Fixes cryo deleting 100L of gas each time it transfers
Remove unneeded/unused variables
Moves gas all gas consumption to process_atmos
delta_time in process_atmos

* simplify consume_gas
2020-11-23 13:40:57 -08:00
Ghilker 9fd3f5a0dd fix proto nitrate negative temperature + temperature fix for other reactions (#54945)
Fixed negative energy that allowed proto nitrate to go negative temperature,
fixed other reactions from possible negative temperature
2020-11-19 00:33:18 -08:00
Ghilker f8581a636a Hypertorus Fusion Machinery (#54379)
This PR removes fusion from reactions.dm and add the Hypertorus machine and its new and improved fusion reaction (results may vary).

Fusion is one of the most costly reactions from the atmos system, is one of the most complex and yet most simple ones; this will move fusion inside a buildable machine and it will allow a degree of complexity that can't be done inside react()
2020-11-18 15:44:39 +02:00
Timberpoes 3475080f21 [TM Candidate] Fix a number of atmos-related runtimes through pipeline and SSair tweaks. (#54804)
* Feex

* Moar feex
2020-11-14 20:07:30 -05:00
ArcaneMusic 5338ad1696 Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)
* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover
2020-11-13 16:17:22 -05:00
Ghom 91bfedcd16 Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)
The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).
2020-11-10 15:15:31 -03:00
TiviPlus 9fb0c73f63 Grep for proc(var/bad) (#54848) 2020-11-09 08:44:35 -03:00
TemporalOroboros edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
prodirus 34f8b02530 Mob stays vertical while in cryo (#54800)
Currently, mobs in cryo will turn horizontal in the cryotube when they fall unconscious. This should stop that.
2020-11-08 17:53:51 -03:00
LemonInTheDark a035c1e502 Merge pull request #53835 from Ghilker/hypernob
This PR changes the Hypernoblium gas around a bit.
First the stop-all-reaction property has been limited to a minimum temperature of 20 K, under that it will no longer stop the reactions in the container (canister, pipenet or open air), over that it will behave normally
Second the production of the Hypernoblium has been shifted to very low temperature, under 15 K so you need at least t3 freezers to achieve and at least 1000 moles of BZ as catalyst to lower the vey high energy released by the reaction

Lowered amount of credit received by cargo to 5.

The production of Hypernoblium was always a pain to make it happen, so it was a super rare gas that almost nobody made, now that the endgame for atmos shifted to more advanced gases and tools, Hypernoblium needed a little rework to fit right into those changes.
2020-11-04 21:18:01 -08:00
MadMedicineMan d29c75d1eb Canister max. pressure capacity display fix (#54600)
Atmos canisters now display their correct max. pressure capacity. Game code always expects kPa, code for SI-prefix-generation only expects the base unit (here: Pa), so the displayed value was always off by the factor 1000.
2020-10-26 12:23:54 -03:00
Capsandi 484f8f2d5f [READY]Removes Nitryl burn damage and adds Nitryl decomposition reaction (#53821)
This PR removes the burn damage you accumulate when breathing nitryl and adds a reaction to breakdown nitryl into its components(excluding bz) when in contact with oxygen under 600k. This produces small amounts of heat.

Nitryl, as it stands, is barely made or used due to the constant damage you take from breathing it, which causes damage slowdown after less than a minute of use. By making nitryl unsafe or unable to breathe with oxygen present, users must turn to pluoxium while using it in tanks, or hyper-nobilium when filling a room with it. BZ is not refunded if you waste your nitryl.
You now burp while breathing nitryl instead of gasping because it no longer directly harms you.
Breathing nitryl will cause lung damage proportional to the amount you are breathing at a rate proportional to the amount you are breathing when it makes up more than 10% of your breath.
2020-10-24 14:16:15 -07:00
Qustinnus 74755a5a3a Audio falloff re-work, and increased audio range. (#54362)
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.

This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily

This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".

Co-authored-by: ff <ff>
2020-10-20 17:14:16 -07:00
Fikou 500608ac6d removes hexane (#54437)
removes hexane gas from video game

(the ability to hear dchat got removed like half a day ago) (Lemons note, it's been more then half a day)

it will speed up atmos a bit with less reactions, the reagent from the gas does the same things as halon + bz and the reaction from it is pretty similar to halon, they are both gases that exist to stop fires, i dont think we need both
2020-10-19 11:41:25 -07:00
nicbn a653bc6350 Refactors occupant to use setter (#54373)
This is to make it easier to attach a signal to the setting of the occupant.
2020-10-18 12:46:14 -03:00
nicbn a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
nicbn ee206a14f9 Cryo now uses proper alpha masking (#53850)
Before, cryo used overlays for humans and snowflake sprites for other animals. Now, it just makes the mob stand up and show it as vis_contents, applying a masking filter so that nothing out of the cryo sprite gets rendered.

Added a trait that forces the user to stand up as well.
2020-10-13 19:34:48 -03:00
ZeWaka 9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
Ghilker af65164a74 less reactions (#54262)
Removed some gas reactions
2020-10-10 10:18:44 -07:00
Rohesie af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Dennok f1cb59181c RPD unwrench upgrade (#53615)
* Most OP atmos tool. RPD that can unwrench pipes.

Adds reverse wrench mode upgrade to the RPD.
Attention, due to budget cuts, the mode is hard linked to the destroy mode control button.

Now /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) return created obj/item/pipe

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-10-07 11:13:34 -07:00
msgerbs de8a9fee0e Fixes cold room and freezer air alarms (#54210)
Cold room air alarm no longer wants to be at -60C, now has more reasonable temp thresholds set for the -14C default freezer temp (only meta uses this currently). Also replaces the meta medbay freezer with the cold room air alarm subtype.

Air alarms going off by default is bad.
2020-10-06 23:08:20 -07:00
Rohesie db54913fe6 Mobility refactor: UI, pull and lying down edition (#54078) 2020-10-03 17:23:21 -07:00
LemonInTheDark 0be337d01c Makes some things that rely on atmos adjacency more sane/faster. (#54096)
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
2020-10-01 13:19:52 -07:00
TemporalOroboros f0cbbf0890 Atmos Machinery Variants (#54015)
Adds variants for a bunch of atmos machinery that were missing them:

    unary tanks
    atmos filters
    atmos control computers (and circuit boards)
    atmos tank turfs
    atmos tank outlet injectors
    atmos tank siphon vents
    gas miners
2020-09-29 06:18:37 -03:00
nicbn 0664ee1241 Fixes layer manifolds (#54011) 2020-09-28 19:04:43 -03:00
Timberpoes 1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
nicbn 88257cd02f Fixed the multi z pipe adapter (#53829)
So yeah the multi-z pipe adapter was showing the big gmod error.

This fixes it and adds multiple directions and layers for the adapter.

Also RPD now can produce said manifold.

Also this reworks the painting mechanism so that it uses a variable+proc instead of checking for subtypes .
2020-09-25 14:30:58 -07:00
Timberpoes c2b8b5c0ce Machines now store their components in their contents. (#52970)
Machine parts are now located in the machine instead of nullspace.
2020-09-24 13:51:40 +02:00
Donkie f9c0fbcb51 Fixes pump UIs not respecting max_pressure/max_rate setting (#53678)
* Fixes pump UIs not respecting max_pressure/max_rate setting

* Fixed min/max rates and pressures for atmos devices UIs

* Maximize default atmos tank injectors rate instead of hardcoding

Fixes #53659

Also fixes the same issue with the new pressure valve. The tgui for some reason had hardcoded the max_rate/max_pressure despite them being readily available.
2020-09-21 16:29:56 -07:00
Ghilker e53546a0a3 tiny buff to proto-nitrate bz response to be closer to the original idea (#53793)
* tiny buff to proto-nitrate bz response to be closer to the original idea
2020-09-20 22:55:58 -07:00
Ghilker 9e8c790b1c quick fix (#53819)
Changes to the rarity parameter of some gases (mainly the new ones) to help the reaction code run more smoothly by making it check rarer gases less.
2020-09-20 22:49:37 -07:00
Ghilke 005a6d0cfe better hypernob 2020-09-19 00:35:49 +02:00
Ghilker 29c0ed1b00 Remove bad reference from atmos (#53781)
Change the name from Cyrion B to Zauker due to the easy connection the bad groups in the past

Not getting a repo ban is good
2020-09-17 13:51:15 -07:00
Timberpoes 81119af792 Fixes processing of deleted objects in SSair (#53735)
qdel'd objects could still process in SSair because SSair utilises a cache whenever it has to resume processing runs from a partially completed state from running out of processing time.

Of all the things that processed on SSair, only one thing actually took care to remove itself from the cache as well on deletion.

This is an important subsystem and the processing lists should not be public. Objects don't need to know how SSair works, they just call the proc to add when they start processing and call the proc to remove when they finish.

Thanks to @LemonInTheDark and @willox for spending a lot of time helping me track down a proper fix to this issue.
2020-09-16 14:37:07 -04:00
SamuelRowe 19ef3b3fa0 Fixes mixer and filter icon_states, Part 2. (#53625)
Fixes invalid default icon_states that caused issues with mapping utils such as SDMM.
2020-09-13 03:45:18 +01:00
Ghilker fb7b23cf4d tgui: Temperature Gate (#53632)
* new device, temperature gate

* added necessary examine on device

* better description(?)
2020-09-13 00:37:40 +03:00
Ghilker 02c09813c6 tgui: Temperature Pump (#53608)
* new item, temperature pump

* tgui bundle build

* requested changes
2020-09-13 00:00:14 +03:00
UnlimitedVanillaWorks 036b1ffa72 Atmos grammar fixes (#53628)
Some grammar/spelling changes in the descriptions of recent atmos additions.
2020-09-12 15:39:31 +01:00
EdgeLordExe 8204b71573 Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition] (#53530)
Adds a mapping helper for piping, it works on all layers, works on all colors, and it autoconnects to other pipe devices. making it extremely useful.

Making mapping less of a massive fucking clusterfuck of burnout is always good.

Mappers can now use Smart Pipes, pipes that autoconnect to other pipes, like redstone! MAPPERS ONLY!
2020-09-11 15:59:10 -07:00
LemonInTheDark dc725f4b66 Merge pull request #53620 from Dennok/connector-cap-fix
Fix connector double cap. Now really. (Lemon's note, the last fix didn't properly well, fix things. Wrong arguments being passed, ect. this should do it, as it properly clears old overlays now.)
fix #53437

bugs is bad
2020-09-11 14:03:11 -07:00
msgerbs dde45a406d Fixes several things not unlocking when hit with an ID in a tablet. (#53600)
The following will now be unlockable by hitting them with an ID in a tablet:

    Bots
    Express supply console
    Air Alarms
2020-09-11 18:43:53 +01:00