36 Commits
Author SHA1 Message Date
WillandGitHub 397d569b37 Atmos Pipe Improvements (#19478)
* pumps use their layer to connect pipes visually

* connectors for supply and scrubbers

* pump dmi stuff

* fixed volume pump dmi

* Vents support multiple connection types

* prevent multiple pipes attaching to the same side

* old code

* prioritize linking already connecting pipes

* constructable pressure tanks

* tank icon fix

* color fix

* fixes

* multiple connection universal pipes

* possible network fix

* buh buh

* tanks no longer go invisible
2026-05-21 20:22:25 -04:00
KashargulandGitHub 5926589c16 removes var/ inside all procs (#19450)
* removes var/ inside all procs

* .

* ugh
2026-05-05 10:55:17 +02:00
Cameron LennoxandGitHub d8c1932cb9 Flammable Items, Abstractness, and hypnosis (#19267)
* Laser Eyes

* Update dna.dm

* Mecha

* Update positive_genes.dm

* These

* These 2

* yeh

* Rest of these

* Update turf.dm

* Update food.dm

* Some moar

* mooove

* Update vorestation.dme

* Update burning.dm

* firesuit

* flags

* HYPNOCOLOR

* xd

* no filter

* dc

* Update ore_bag.dm

* Update misc.dm

* Update misc.dm
2026-04-13 00:30:02 -04:00
KashargulandGitHub fa113ea3f5 next set of globals (#19131) 2026-02-09 00:36:52 +01:00
d73f6b8dbd Makes uses of do_after sane (#18334)
* Prevents insta-actions

* Do_after sanity

NOTE: NUKE do_after_action

* Update bonfire.dm

* The  rest of them

Also fixes a tpyo

* no minitest :)

* .

* .

* Gets rid of the slowdown for now

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-09-08 02:25:08 +02:00
KashargulandGitHub b594520a74 next set of spans (#16434)
* next set of spans

* some more

* next

* next

* next

* .

* text...

* next... rest soon

* .

* .

* ok last set for the night

* .

* .

* .

* .

* some more

* next

* next

* all for now

* .

* some more easy ones

* some more easy ones

* .

* .

* some more bolds

* oups auto complete moment

* add the remaining spans

* this as well

* this as well

* .

* .,

* resync them properly
2024-10-16 23:37:27 +02:00
Kashargul a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Guti 409aaba802 Remove 2024-09-09 02:36:53 +02:00
DrathekandGitHub 7c8bb85de3 Whitespace Standardization [MDB IGNORE] (#15748)
* Update settings

* Whitespace changes

* Comment out merger hooks in gitattributes

Corrupt maps would have to be resolved in repo before hooks could be updated

* Revert "Whitespace changes"

This reverts commit afbdd1d844.

* Whitespace again minus example

* Gitignore example changelog

* Restore changelog merge setting

* Keep older dmi hook attribute until hooks can be updated

* update vscode settings too

* Renormalize remaining

* Revert "Gitignore example changelog"

This reverts commit de22ad375d.

* Attempt to normalize example.yml (and another file I guess)

* Try again
2024-02-20 11:28:51 +01:00
Heroman 9a94306585 Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one 2023-10-01 09:34:43 +10:00
MarinaGryphon e41c2ecfd7 first pass (emotification, some \the -> \The) 2021-07-05 09:42:48 -05:00
Arokha Sieyes f0bc46cc49 Add 2 new pipe types 2020-04-05 23:05:33 -04:00
AtermoneraandVirgoBot cbb40196fc Machinery: Always use update_use_power() 2020-03-23 23:21:10 -04: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
LeshanaandAnewbe 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
AnewbeandGitHub f3b989f33e Merge pull request #3809 from Cyantime/unwrench
Fixes pipe caps to always be removable
2017-09-11 17:21:10 -04:00
Cyantime 82626c6936 Removes pipe pressure check copypaste. Fixes pipe caps to always be removable. 2017-09-09 21:24:52 -04:00
Neerti 1bc28c07c0 Port's TG's Maploader 2017-09-08 12:49:26 -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
Leshana 8752999a14 Atmospherics Destroy() cleanup - return qdel hints. 2017-06-05 23:01:39 -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 d4a193808b Replaces awful connect type system with bitflags 2014-12-23 18:59:54 -05:00
Mloc 83f2a5ba5a fix some misplaced set_dir()s
fixes part of #7284
fixes #7288
fixes one of #7287

Signed-off-by: Mloc <colmohici@gmail.com>
2014-12-08 10:09:09 +00:00
Mloc-Argent 117ca6a135 refactor 'dir = ' into 'set_dir()'
This should have little/no gameplay effect right now, just paving the
 way for directional lights.
Replaced handle_rotation() on buckly things with this.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-12-01 13:44:02 +00:00
RavingManiac 9801dfa9a9 NewPipe
-Supply and scrubber pipes can be run in parallel without connecting to each other
-Supply pipes will only connect to supply pipes, vents and Universal Pipe Adapters(UPAs)
-Scrubber pipes will only connect to scrubber pipes, scrubbers and UPAs
-Supply and scrubber pipes are offset along the x and y axes to prevent sprite overlap
-UPAs will connect to regular, scrubber and supply pipes, as well as anything else that connects to a regular pipe. UPAs will be used to interface between the supply/scrubber loops and atmos
2014-09-05 00:18:33 +08:00
LoganbaccaandMloc-Hibernia e05b5c0bfb Pipe rendering rewrite
- Complete rewrite of pipe rendering code. It now selects icons from a shared cache.
- Manifolds and other devices (pumps, filters, etc.) now match the color of the connected pipes.
- Updated omni devices to use the shared cache.
- Set separate pipe color definitions.
- Cleaned up a lot of pipe code, converting it to absolute paths and removing old commented out code.
- Tweaked t-ray rendering code.
- Tweaked pipe painter.
- Enhanced pipe checking debug command.
- Expanded tank capacity and resprited them.
2014-07-18 13:39:39 +00:00
giacomand@gmail.com b9bb759cd8 -Multiple fixes for machinery not correctly updating their icons when depowered.
-Gave request consoles an off sprite.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5421 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-30 02:20:03 +00:00
elly1989@rocketmail.com 4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
sieve32@gmail.com 459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
rastaf.zero@gmail.com 1b5f4611bd Reverted in r847 pipes-related changes is returning. With small improvements.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@856 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-15 17:22:24 +00:00
baloh.matevz 13898c006b REVERTING updates r830, r833, r836, r838, r839 and r841 due to suspected involvement in the huge lag we've been experiencing since them. All the files mentioned below have been reverted to their state in version r829.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@847 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-13 12:43:28 +00:00
rastaf.zero@gmail.com 0aa11e69fe Pipes bugfix:
- trowing pipes correctly rotates them;
- meters unwrenching;
- pipe dispenser can be unwrenched and pulled, wrench back to use;
- unused pipes can be returned to dispenser;
- Probably fixed bug with non-working connectors;
Windows now are always shown above grilles.
Pipes now are always shown above lattice.
Some other things.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@830 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-12 06:56:00 +00:00
rastaf.zero@gmail.com 6b7801c4af Singularity now wont leave floor under eaten walls.
Cryo wont spit out beaker.
Fixed message "You don't have the dexterity to do this" for machinery.
PIPES:
- Heat exchange pipes are constructable now.
- Insulated pipes also were added to pipe dispenser;
- And meters too;
- Easy pipe rotating in hands;
- bent pipes actually looks bent under construction (may be glitches, please report);
- pipes now wont cover wires;
- pipes unwrenching now possible;
- large vent pumps now uses power as equipment, not environment
- pumps now uses power;
Air alarm improvements:
- all alarms in area controls all environment machines in area;
- machines initializes itself automatically and without interloping with existing ones;
- air alarms wont duplicates it air monitoring and can clear itself;
Some other typos and small issues were fixed.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@816 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-08 22:16:27 +00:00
only.lurking 662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00