Commit Graph

17 Commits

Author SHA1 Message Date
ShadowLarkens
dad9020f9a TGUI Engineering... and a bunch of other random things 2020-10-21 13:02:19 -07:00
Meghan-Rossi
9611ae902e Makes wall-mounted machines layer above windows (#7708)
Makes wall-mounted machines layer above windows so that they are clickable if placed on windows
2020-10-16 23:01:39 -07:00
Leshana
85d3cbfa12 Replaced "area" shuttles with "landmark" shuttles.
Largely ported from the work done at Baystation in Baystation12#17460 and later commits.

 - Shuttles no longer require a separate area for each location they jump to.
   Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
   This means that more than one shuttle could use the same docking port (not at the same time of course).
 - Enhanced shuttle control computers to use nanoui if they didn't.
 - Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
 - Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
 - Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests

This all required a bit of infrastructure improvements.

 - ChangeArea proc, for changing the area of a turf.
 - Fixed lighting overlays actually being able to be destroyed.
 - Added a few utility macros and procs.
 - Added "turf translation" procs which are like move_contents_to but more flexible.

(cherry picked from commit c837078105)
2020-03-13 00:26:08 -04:00
kevinz000
46c79c7d3e [READY]Makes a bunch of processes subsystems instead (#5814
* Converts various New() definitions to Initialization()
* Adds absolute pathing
2019-01-15 22:58:06 -08:00
kevinz000
c2c688c4c8 caps 2018-12-06 18:34:37 -08:00
Atermonera
de65c3c643 NanoUI now processes again 2018-08-25 21:13:16 -07:00
Leshana
4c910f0f2e Port cycle_to_external_air mode for airlock controllers.
* Adds a flag to controllers that instructs the airlock program to always purge between IN/OUT and also to pump air to "outside" instead of tanks when purging to go OUT.
* Tweak the way the airlock fudges target pressures so it more reliably operates when trying to pump down to vacuum.
* Adds an exterior airlock sensor that reads the air pressure in *front* of it, so it can be mounted on a shuttle but measure air outside the shuttle.
2018-02-07 17:32:15 -05: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
PsiOmega
327e81958b Shuttle mech sensors can now be slaved to airlock docking controllers. 2014-09-17 07:46:39 +02:00
mwerezak
9d7c5dc197 Gives filters proper names, updates airlocks to use filters
Docking ports still don't use filters though, as it would mess with the
docking ports that are also airlocks. Docking is infrequent though so it
should be fine.
2014-08-15 20:27:00 -04:00
PsiOmega
0036bea6b6 A sensor which registers mechs and trains attempting to pass by and, if necessary, blocks their movement.
If enabled, detects mechs/trains and blocks their movement if they are coming from any of the directions set by dir. Can currently only be enabled/disabled by radio command and airlocks are updated to utilize this.

The current setup allows mechs to move through airlocks during normal cycles, which for example lets Odysseus out to save lives.
Once a shuttle docks however, the sensors are enabled to prevent boarding.

If blocked, players receive a simple message stating that their command has been overridden.
2014-07-26 20:07:18 +02:00
Mark Aherne
7e7e6cd8ac Continued work in progress on a major revision of the NanoUI templating system. 2014-07-11 10:48:42 +01:00
Mike
129ee988b4 Adds a docking controller to the research shuttle
Squashes 3 commits:

Adds a controller for single door based docks

Adds a docking controller to the research shuttle

Adds override control to airlock dock nano-ui
2014-06-09 23:29:03 -04:00
mwerezak
ad7a1c5d59 Adds docking controllers
Squashed 10 commits:

Adds simple docking controllers

Adds docking_controllers.dm

Moves docking handshake code into its own type
Keeps docking code separate from the code for messing with airlocks and
doors.

Improves handling of invalid states

Adds docking controller to research shuttle dock

Also adds the start of a nano-ui template.

Resetting the dock controller resets the override

Adds debug verbs

Adds support for overriding docking checks

Less confusing name for the docking program
2014-06-09 23:14:53 -04:00
mwerezak
3bc6f4c9b6 Generalizes embedded_controller/radio 2014-06-09 23:08:07 -04:00
Loganbacca
347f4068c6 Various fixes
- removed double windows
- added pipe dispensers
- removed one rogue wire
- rearranged the atmos monitoring room based on forum feedback
- changed radiation collector blast doors to same switch network
- tweaked poddoor New() function so they render over glass if closed at round start
- setup engine room pipe network to neutralize the SM at round start - it now cools the nitrogen in the chamber
- added extra functionality to advanced airlock "purge" and "secure" buttons
- made a few tweaks to airlock/door controller NanoUI
2014-02-18 00:24:20 +13:00
Loganbacca
d35fbfd562 Airlock controller rewrite
- /datum/computer/file/embedded_program moved from embedded_controller_base.dm to code/game/machinery/embedded_controller/airlock_program.dm
- embedded_controller_base.dm cleaned up and identical parts of the controller subtypes were moved here
- embedded_controller subtypes moved to code/game/machinery/embedded_controller/airlock_controllers.dm
- Added nanoUI templates for airlock controllers
- Added a couple of classes to nano/css/shared.css for colouring buttons
- Minor map update to maintain airlock compatibility and fix a broken airlock near virology
2014-02-13 14:23:02 +13:00