Commit Graph

92 Commits

Author SHA1 Message Date
CHOMPStation2StaffMirrorBot 89704592dd [MIRROR] jobs, access and radio to defines (#11546)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-31 03:56:12 +02:00
CHOMPStation2StaffMirrorBot aef42000c2 [MIRROR] Atmospheric Device Changes, Added Volume Pump (#11515)
Co-authored-by: Muted Kobold <tangletail@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-28 15:38:03 +02:00
Selis 386c4f6756 [MIRROR] Unit Test rework & Master/Ticker update (#11372)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
2025-08-12 08:46:46 +02:00
CHOMPStation2StaffMirrorBot ce2446922e [MIRROR] Initialize fixing (#10335)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-03-08 22:22:04 +01:00
Ectype 1fa8bd1e4e Fixes and adds more atmospheric keybinds (#9785)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-01-04 11:06:16 +01:00
Ectype d0a0300f25 Pump Keybinds (#9752) 2025-01-01 14:41:55 +01:00
CHOMPStation2StaffMirrorBot 0180cc74c5 [MIRROR] usr to user up to player effects (#9552)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2024-12-01 18:31:19 +01:00
CHOMPStation2StaffMirrorBot 244d055d39 [MIRROR] Atmospherics/Initialize (#9387)
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
2024-11-02 17:34:40 +01:00
CHOMPStation2 7416cbea22 [MIRROR] next set of spans (#9247)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
2024-10-18 01:33:07 +02:00
CHOMPStation2 ab154b48b2 [MIRROR] refactors most spans (#9139)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
2024-10-04 15:00:17 +02:00
CHOMPStation2 5ea698a0ef [MIRROR] Removes /obj/item/weapon and /obj/item/device [MDB IGNORE] (#9084)
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
2024-09-30 21:36:41 +02:00
Drathek 3995338290 Moar whitespace normalization [MDB IGNORE] (#7750)
Co-authored-by: Raeschen <rycoop29@gmail.com>
2024-02-16 10:54:47 +01:00
CHOMPStation2 d2e66e6410 [MIRROR] Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one (#7062)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
2023-10-04 18:37:41 -04:00
Casey 928a321b5f TGUI Input Conversions 2022-06-19 03:59:14 +00:00
Aronai Sieyes fb491666a0 Merge pull request #11226 from VOREStation/Arokha/between
Remove the between() proc
2021-07-24 17:04:21 +00:00
Chompstation Bot 14129d60cf Converts visible_message notice spans to look more like emotes 2021-07-05 20:30:12 +00:00
Chompstation Bot 20e3b0a2d3 [MIRROR] Linter Introduction + Cleanup 2021-05-27 16:31:50 +00:00
ShadowLarkens 951f37d2e3 TGUI Engineering: Squashed Edition (Commits Below)
TGUI APCs

 TGUI vending machines

 Fix AI default_tgui_interaction

 TGUI Airlocks

 Station & Atmospheric Alert TGUI + Misc NTOS-TGUI Fixes

 TGUI Air Alarms & Central Atmospheric Control

 Airlock TGUI

 TG... got rid of UI for fire alarm. í´·

 TGUI Gas Heating/Cooling System

 TGUI Gas Pump & Passive Gate + Fixes

 TGUI Omni Atmospherics

 TGUI Pipe Dispensers & RPD

 TGUI IntelliCore & Vending Fix

 TGUI Handheld Tanks

 TGUI Portable Pump & Scrubber

 TGUI Tank Dispenser & Canisters

 TGUI Radios

 TGUI SMES & Air Alarm adjustment

 Tweak vending machine interfaces a tad

 TGUI Algae Farm

 TGUI general_air_control

 - Distro & Waste Console
 - Riot Control Console
 - Atmos Intake Console
 - Engine Cooling Console

 TGUI Heavy Scrubber Control (and body scanner fix)

 TGUI trinary devices & shutoff monitor

 TGUI Telecomms Log Browser

 TGUI Telecomms Machine Browser

 TGUI Spaceheater Internal Panel

 TGUI Gravity Generator

 TGUI Id Cards & Fix ID Card Images

 TGUI Id Card Redesign

 TGUI Turbolift

 TGUI Suit Cycler & Suit Storage Unit & Vending Fixes

 TGUI Power Monitor

 TGUI Signalers

 TGUI Employment Records

 TGUI Drone Console

 TGUI RIGSuits

 TGUI PA & PACMAN, and Margin Fix

 TGUI Solar Panels & Fix Power Monitor

 Adjust TGUI modules & their interaction with NTOS

 TGUI RCON

 TGUI Message Monitor

 Bump TGUI line limit to 120 (ParadiseSS13/Paradise#14002)

 TGUI Exonet & NTNet Relay

 TGUI Telecomms Multitool Menu

 TGUI Shield Capacitor & Shield Generator

 TGUI Supermatter-everything & Refactors
2020-08-09 04:46:31 -07:00
Aronai Sieyes 05f1aa7356 Convert some telecomms constants into defines 2020-04-11 12:03:10 -04:00
Arokha Sieyes f0bc46cc49 Add 2 new pipe types 2020-04-05 23:05:33 -04:00
Atermonera cbb40196fc Machinery: Always use update_use_power() 2020-03-23 23:21:10 -04:00
Atermonera 9b93339969 Moar descriptions for things 2020-01-20 22:50:39 -05:00
Novacat 466516b066 Revert "Un-kevinzes nanoui and chemistry subsystems back into processes for greater good" 2019-04-08 15:24:27 -04:00
Heroman b11015107c REVERT of nanoui/chemistry becoming subsystems (temp) 2019-04-05 13:30:32 +10:00
kevinz000 6415e4193f [READY]Makes a bunch of processes subsystems instead 2019-03-27 16:03:51 -04:00
Atermonera 131636b1d2 Capitalizes initialize() to Initialize() because Destroy() is capitalized and this is pretty nerve-grinding 2019-03-26 13:21:08 -04:00
Atermonera de65c3c643 NanoUI now processes again 2018-08-25 21:13:16 -07:00
Anewbe 729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Leshana 776b221828 Rewrite pipe construction
- Moved pipe construction defines into __defines/construction.dm
- Unified pipe *unwrenching* by creating a standard proc along with the `construction_type` var.
- Eliminated the pipe fitting name & icon_state lookup tables by adding `pipe_state` var on atmos machinery and referencing that.
    - Each pipe which can be made from a fitting object should override `pipe_state` with the icon state to be used on the pipe fitting object.
- Eliminated the giant switch statement of doom in pipe construction by delegating that work to `on_construction` proc.
    - To make this work, every pipe must implement `get_neighbor_nodes_for_init` which returns a list of nodes which should be re-initialized on that pipe's construction.
- Combined the SCRUBBERS, SUPPLY and REGULAR pipe fitting classes together by storing the `piping_layer` variable and using the `setPipingLayer` procs
- Standardized the code for searching for node neighbors into the `can_be_node` proc.
    - This proc is also improved in that is a mutual check, `check_connectable` is called on BOTH objects, so they have to mutually agree to connect as nodes. Eliminates lots of special edge case logic.
    - Updated all the `amos_init` procs to use `can_be_node`.  In the most common cases, even that boilerplate code is consolidated into the `STANDARD_ATMOS_CHOOSE_NODE` macro.
- Implemented `pipe_flags` which lets pipes declare (or override) certain requirements.
- Adds a "pipe_recipe" datum to help out things that construct pipes.  By taking it out of the dispenser, we open the road for multiple dispenser types.  No, no RPD yet.  Soon.
    - Enhances the pipe dispenser to operate on pipe recipe datums instead of hard coded lists of pipes it can construct.   These datums are also (partially) initialized from the pipe machine types themselves, reducing having to define stuff in multiple places.
    - Switched pipe dispenser UI to use browse().   Not a NanoUI, but makes it a bit prettier with low effort.
    - Changed pipe dispenser to use a button selector to switch between Regular/Scrubbers/Supply instead of having separate list items.
- Added icon states to HE pipes to support the "connected on neither side" state.
2018-03-20 23:29:27 -04:00
Leshana 5847319443 Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-05 15:50:13 -05:00
Leshana ab87edeae9 Fix construction of HE pipes, Vents, and Scrubbers Plus qdel issues.
The initialize() routines of HE pipes, vents an scrubbers need to be atmos_init() after all.
If you register yourself with radio controller you need to de-register yourself too.
2018-01-19 23:45:40 -05:00
Leshana 224fe42e77 Prepare Atmospherics Machinery for SSatoms (#4501)
* to_chat() replacement.

* Revert calling target.init_dir() before connecting.

* This change was added in https://github.com/PolarisSS13/Polaris/pull/3775 to counteract `dir` not being set prior to New() for dynamically loaded maps.  The root cause was /atom/New() not calling _preloader.load().  Undoing the change now that /atom/New() is fixed.
* The addition of the init_dir() proc itself however, is useful, because there ARE other times some atmos machinery will want to re-initialize its dir, specifically whenever it is rotated.
* init_dir() must be called in the constructor of all atmospherics machines capable of connecting to another.   Since it has to happen for ALL machines, lets move that call to /obj/machinery/atmospherics/New()

* Rename /obj/machinery/atmospherics initialize() to atmos_init()

* These days `initialize()` is used to handle general object initialization that is moved outside of New().  The node connection discovery of atmos machinery needs to happen after all that, and so needs to be in a separate proc.
* Make sure to actually call atmos_init during system startup.
2018-01-06 10:52:56 -06:00
Cyantime 82626c6936 Removes pipe pressure check copypaste. Fixes pipe caps to always be removable. 2017-09-09 21:24:52 -04:00
Neerti 99eb6f9404 Updates Tools
Adds toolspeed var, which is a multiplier on how 'fast' the tool works.  0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode.  They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/.  CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/.  Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
2017-08-03 04:49:23 -04:00
GinjaNinja32 81d23c85cc code/ATMOSPHERICS \red \blue etc to span classes 2015-05-29 19:36:15 +01:00
PsiOmega 1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
mwerezak 6d15809768 Corrects return values for the Topic procs of several computers and some other machines as well. 2015-02-25 21:32:35 -05:00
mwerezak f9344a5a2d Atmos machine update
Takes a pass at updating ATMOSPHERICS to take advantage of the new powernet changes.

Also removes var/on definitions from many atmos machines. Machines generally shouldn't
be doing "on" things if they aren't using power, and most players don't expect a machine
to use power if it isn't "on," so I guess this is fair game.

Also, further refactoring.
2015-01-02 01:46:18 -05:00
mwerezak b7c13bc4b6 Allows atmos helpers to be used with portable_atmos 2014-08-04 16:53:13 -04:00
mwerezak a772d9094c Optimizes pipe network updating 2014-08-04 13:29:09 -04:00
mwerezak 14b57e3560 Pipe networks now cache their total volume 2014-08-03 22:41:31 -04:00
mwerezak 6eb2fe3028 Device working volumes are configurable from setup 2014-08-03 22:11:45 -04:00
mwerezak 3647fa4d7d Adds gas mixing proc and updates gas mixer
Also includes a whole bunch of fixes and updates for atmos machinery
2014-08-02 18:35:57 -04:00
mwerezak d034511ee6 Updates gas filter 2014-08-01 22:59:13 -04:00
mwerezak cb413454a3 Optimizes atmos machine power updates
Makes power usage but atmos machinery less accurate but reduces lag
somewhat.
2014-07-27 03:35:25 -04:00
mwerezak 293855c48e Generalizes pumping and filtering
So that people can pump and filter gasses without worrying about the
thermodynamics too much.
2014-07-26 16:15:40 -04:00
mwerezak 3f6c1ff622 Cleanup, adds setup parameters for atmos machinery
Allows atmos machinery efficiency to be adjusted in setup.dm
Limits flow rates when moving gas from a turf to avoid very high pressures being created when they shouldn't be.
Attempts to limit processing when there isn't much gas to be moved, for performance.
Reverts all changes to _gas_mixture.dm
2014-07-26 13:50:25 -04:00
mwerezak 11c9f3bb9b Updates scrubbers 2014-07-26 12:23:35 -04:00
mwerezak ef4a740a02 Adds entropy, thermal energy procs to new gas mix 2014-07-24 17:36:57 -04:00
mwerezak 79d4c444c2 Merge remote-tracking branch 'upstream/dev' into power-net
Conflicts:
	code/ATMOSPHERICS/components/binary_devices/pump.dm
	code/game/machinery/alarm.dm
	code/game/machinery/spaceheater.dm
2014-07-24 16:04:41 -04:00