Commit Graph

654 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 e49d87bc2a 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:21:55 -05:00
Arokha Sieyes ff228754b3 Merge polaris sync 01 17 2018
Planes, layers, human/update_icon()
2018-01-17 17:56:51 -05:00
Leshana 6310c1da78 Eliminate duplicate code in pipes hide & process procs.
* These procs were repeated verbatim on the different subtypes of /obj/machinery/atmospherics/pipe.  Consolidated them in the parent.
* Added little comment headers over the different types of pipes to make the file easier to read.
2018-01-15 14:26:19 -05:00
Neerti 96d3d361d0 Adds Boats, Ports /TG/ Buckling (#4527)
* Adds Boats, Ports /TG/ Buckling

* Travis Appeasement

* Changelog
2018-01-14 14:58:15 -06:00
Leshana 807f1c7b4b Merge remote-tracking branch 'polaris-upstream/master' into polaris-sync-2018-01-09
# Conflicts:
#	code/game/objects/items/devices/communicator/UI.dm
#	code/game/objects/structures/flora.dm
#
2018-01-09 14:40:09 -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 28c193cbdb Merge remote-tracking branch 'refs/remotes/polaris-upstream/master' into polaris-sync-2018-01-04
# Conflicts:
#       code/game/objects/items/devices/communicator/communicator.dm
#       code/modules/client/preference_setup/occupation/occupation.dm
#       code/modules/mob/living/simple_animal/animals/cat.dm
#       code/modules/mob/mob_helpers.dm
#       code/unit_tests/zas_tests.dm
#       maps/southern_cross/southern_cross-1.dmm
#       maps/southern_cross/southern_cross-3.dmm
#       maps/southern_cross/southern_cross-6.dmm
#       vorestation.dme
2018-01-04 22:44:04 -05: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
Cyantime 6e24c453eb Merge branch 'master' into algaegen 2017-12-01 19:14:56 -05:00
Cyantime ee435ef63f Unfix 2017-11-29 01:13:18 -05:00
Cyantime 9147613dbb Just the fixes 2017-11-29 01:09:01 -05:00
Cyantime 1dad838505 Build farms are unfilled by default 2017-11-28 22:51:43 -05:00
Cyantime 2c31da4064 Oxygen Generator improvements 2017-11-28 22:05:28 -05:00
killer653 1bb71ef429 Polaris Sync 2017-10-16 22:16:24 -04: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 ede7f79dfe Forgot this. 2017-09-30 00:28:33 -04:00
Cyantime 36e78b48f1 Adds plasma research outpost. 2017-09-29 02:28:43 -04:00
Cyantime 56afe20d39 Fixes some trinary device direction initializations 2017-09-28 17:39:46 -04:00
killer653 bddfa16f82 Polaris sync 2017-09-15 21:17:34 -04:00
Neerti 194188fe8d Fixes Radiator Pipes 2017-09-13 16:08:13 -04:00
Gearshy 302d6d62f6 Makes nitrogen tanks bigger 2017-09-13 21:32:44 +02: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
Anewbe 6ffebcef6e Merge pull request #3775 from Neerti/9/8/2017_tg_maploader_port
Port's TG's Maploader
2017-09-11 17:17:23 -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 c246d701b1 Makes passive vents constructable 2017-09-07 16:56:34 -04:00
killer653 cafac8efae Polaris Sync 2017-08-28 20:52:11 -04:00
Cyantime aaef8163be Fixes upgrading capacitors in unary freezers doing nothing. 2017-08-16 17:34:13 -04:00
killer653 468e73c7f3 Polaris sync 2017-08-06 19:07:17 -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
Cyantime ad0c5be5f6 fixes "aglae" 2017-06-24 23:20:33 -04:00
Leshana e644dbe18a Destroy() cleanups in VOREStation code
* Remove remaining hard del()'s in our code.
* Replace deleted() and gcDestroyed with QDELETED macro.
* Fix some strange calls directly to Del() (capital D)
* Make Destroy() return qdel hints.
* Make a few of the Destroy()'s more comprehensive in cleaning up references.
* In edited Destroy() procs, converted to use qdel_null and qdel_null_list macros when possible for pretty code.
* Removed unused variable `sleevecard`
2017-06-10 22:44:03 -04:00
Leshana eb1712ee58 Pipe network datum Destroy() cleanup
* Every pipe in a pipeline has a reference to the pipeline.  This needs to be cleared, both so the pipeline can be gc'd, and also so the pipes don't try and keep using the qdel'd pipeline.
* Same story for each pipeline in a pipe network, and each machine in a pipe network.
* Pipe networks are also in the pipe_networks global list.  While the controller would detect and remove it from the list on the next tick, cleaning up ourselves is the responsible thing to do.
2017-06-10 22:41:51 -04:00
Leshana 78e0930576 Atmospherics Destroy() cleanup - return qdel hints. 2017-06-10 22:41:51 -04:00
PsiOmegaDelta 7b47590645 Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-10 22:41:51 -04:00
Yoshax 1ca8244e5d Puts 3x more gas in pressure tanks 2017-06-08 20:39:07 +01:00
Leshana 010cca1d44 Pipe network datum Destroy() cleanup
* Every pipe in a pipeline has a reference to the pipeline.  This needs to be cleared, both so the pipeline can be gc'd, and also so the pipes don't try and keep using the qdel'd pipeline.
* Same story for each pipeline in a pipe network, and each machine in a pipe network.
* Pipe networks are also in the pipe_networks global list.  While the controller would detect and remove it from the list on the next tick, cleaning up ourselves is the responsible thing to do.
2017-06-05 23:01:39 -04:00
Leshana 8752999a14 Atmospherics Destroy() cleanup - return qdel hints. 2017-06-05 23:01:39 -04:00
PsiOmegaDelta ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana c45c86d632 Air alarm fixes and addition of civilian EVA on z1 2017-05-05 02:28:09 -04:00
Leshana 12bc03157a Adds the Algae Oxygen Generator
* This device converts CO2 to O2 using power and "algae".  The extra carbon is a byproduct in the form of "graphite"
* This is intended for virgo3b, which has no oxygen in its atmosphere but enough CO2 for us to just extract it.
2017-05-03 01:54:55 -04:00
Arokha Sieyes 0a43f52a9e Eris Omni Atmos Device Sprite 2017-04-23 18:55:56 -04:00
Arokha Sieyes eaf6ea0a4b Eris Large Tank Sprites 2017-04-23 18:54:43 -04:00
Arokha Sieyes aea0673e89 Eris Heater/Cooler Sprites 2017-04-23 17:01:49 -04:00
Yoshax 91e060621d Fixes scrubber Phoron scrubbing 2017-04-13 22:32:40 +01:00