Commit Graph

284 Commits

Author SHA1 Message Date
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
Leshana
a97a574278 Transformed the machinery processor into an StonedMC subsystem
* This is PHASE 1 of a multi-phase conversion.  In this first phase we implement the subsystem, but leave it processing the existing global list variables.  In the next phase we will switch to use datum variables in the subsystem.  The main reason for splitting into two phases is ease of code review; change the meaningful code without the hundreds of machines -> SSmachines.machinery substitutions.
* We did declare macros for adding/removing things to the processing lists, and convert everywhere to use the macros.
* Added var/is_processing to /datum to keep track of whether an instance is already in a processing list (prevents it being in the list twice!) and also debugging, making sure its not in two lists etc.
* NOTE: The global machines list is **no longer sorted** for performance reasons.  As far as I know, the only module that actually ever cared was cameras.   Our camera system already handles its own sorting in the cameranets anyway, so it should no longer be needed.
2017-12-29 15:31:59 -05:00
killer653
fb8ba69ada Fixes all the other stuff 2017-10-15 20:56:13 -04:00
killer653
0080539924 More fixes 2017-10-15 19:54:50 -04:00
killer653
0f20177c5f Some more fixes 2017-10-15 19:02:26 -04:00
killer653
3cd3054811 Fixes filter being used, which prevented compiling 2017-10-15 19:01:55 -04:00
Cyantime
56afe20d39 Fixes some trinary device direction initializations 2017-09-28 17:39:46 -04:00
Anewbe
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
Cyantime
aaef8163be Fixes upgrading capacitors in unary freezers doing nothing. 2017-08-16 17:34:13 -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
silveryferret
de8619bb11 Lets scrubbers scrub volatile fuel 2017-07-29 21:54:49 -04:00
Leshana
8752999a14 Atmospherics Destroy() cleanup - return qdel hints. 2017-06-05 23:01:39 -04:00
Yoshax
91e060621d Fixes scrubber Phoron scrubbing 2017-04-13 22:32:40 +01:00
killer653
ebaa115d0e Removes an unused gas from the code
I have no idea why this is in the code.
Its unobtainable in game and would be difficult to create even with
admin powers, as there's no canister to spawn it in or anything like
that so you'd have to VV an already existing gas.
2017-01-02 18:41:05 -05:00
ForFoxSake
802b70ba5b De-cluttered Atmospherics, enabled air vent direction switching, and added digital valve un-wrenching. 2016-12-07 21:50:26 +00:00
MagmaRam
38aa0217f9 No longer able to crawl through welded vents. 2016-11-15 20:56:58 -06:00
Zuhayr
18c2f33eab Ported ventcrawling from vg. 2016-09-21 17:16:03 +01:00
Neerti
0a389a418b Revert "Ported ventcrawling from vg." 2016-09-20 17:21:58 -04:00
Zuhayr
843c48a9ee Ported ventcrawling from vg. 2016-09-16 04:05:49 +01:00
SinTwo
045c393683 Revert "Revert "Frame Cleanup""
This reverts commit 82722ba42f.
2016-08-13 19:55:57 -04:00
Yoshax
82722ba42f Revert "Frame Cleanup" 2016-08-06 00:27:03 +01:00
SinTwo
66c3a007a9 frame cleanup fixes 2016-07-23 23:45:24 -04:00
SinTwo
5d25d72593 Frame Fixes 2016-06-01 14:32:56 -04:00
SinTwo
5ae20ceb8b Buildables v1.2 (#1517)
* Removes text2path, adds constructability to a few things, adds a locker_painter.dm, and several fixes.

* Fixes Maps due to working on ancient versions.

* Path error.

* Adds a missing ..()
2016-05-03 22:18:12 +01:00
SinTwo
b356f5cf21 Construction Update 2016-03-25 16:02:36 -04:00
Kelenius
c9c9dde819 Removes old unticked code 2016-02-01 12:47:20 +03:00
mwerezak
5603884095 Removes #undefine 2015-08-18 17:20:39 -04:00
Zuhayr
a8dc3a282b Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into turfs 2015-08-18 12:06:53 -07:00
Zuhayr
3b712adb5f Removed intact var in favour of is_plating() proc, fixed issues with invisible initialized pipes. 2015-08-16 17:51:19 -07:00
PsiOmegaDelta
7b5b7162d0 Merge pull request #10673 from Baystation12/master
Dev-freeze
2015-08-16 10:30:13 +02:00
mwerezak
176e4232ca Fixes #9155
Heaters and freezers now check if there are other machines in their turf that have the same connection dirs.
2015-08-15 18:28:09 -04:00
PsiOmega
cee5f1a057 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/objects/items.dm
2015-07-06 18:33:09 +02:00
PsiOmega
cdb4270f48 Merge remote-tracking branch 'upstream/master' into dev-freeze 2015-07-06 17:31:41 +02:00
mwerezak
bd59733fdb Fixes #9714
Fixes incorrect arguments to calculate_transfer_moles()
2015-07-05 01:18:38 -04:00
GinjaNinja32
63ea8338fb Merge remote-tracking branch 'upstream/dev' into span_class=notice
Conflicts:
	code/ZAS/Diagnostic.dm
	code/game/machinery/computer3/laptop.dm
	code/game/machinery/requests_console.dm
	code/game/objects/items/stacks/tiles/plasteel.dm
2015-06-05 00:49:13 +01:00
PsiOmegaDelta
6c903907c0 Merge remote-tracking branch 'upstream/master' into dev-freeze 2015-06-04 08:10:49 +02:00
mwerezak
17008aa7ed Copies vent pump hibernation over to scrubbers 2015-06-02 22:51:45 -04:00
GinjaNinja32
81d23c85cc code/ATMOSPHERICS \red \blue etc to span classes 2015-05-29 19:36:15 +01:00
PsiOmega
9006419fcd Creates a default vent for atmospherics tanks. 2015-05-14 15:31:39 +02:00
Chinsky
ad67215b08 Merge pull request #9073 from PsiOmegaDelta/QDels
Implementing Destroy():s
2015-05-12 18:26:57 +03:00
PsiOmega
66ead991e7 Terminals, scrubbers, airlocks, and alarms get a Destroy() review. 2015-05-12 08:16:30 +02:00
Mloc
e602a7e286 remove the sub-area system
Removes area/list/related and area/master.
They were only used by the old lighting subarea system.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 17:06:29 +01:00
PsiOmega
6f9da12276 Implementing Destroy():s
First out: APCs, security camera consoles, vents.
2015-05-03 10:45:35 +02:00
PsiOmega
fcfdcecd3a initialize() should now always be called, be it on game starting up or object being created after game start.
Partially fixes #9036.
2015-04-30 19:28:35 +02: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
PsiOmega
71a8ddf50e Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/gamemodes/cult/runes.dm
	code/modules/paperwork/paper.dm
	code/modules/projectiles/projectile.dm
2015-04-08 10:55:26 +02:00
PsiOmega
d8a6576f36 Examination fixes.
Fixes #8491.
Fixes #8579.
2015-04-06 10:46:19 +02:00