diff --git a/code/modules/overmap/ships/engines/gas_thruster_vr.dm b/code/modules/overmap/ships/engines/gas_thruster_vr.dm new file mode 100644 index 0000000000..c3deb55c47 --- /dev/null +++ b/code/modules/overmap/ships/engines/gas_thruster_vr.dm @@ -0,0 +1,71 @@ +//These connect at the corner 2 steps and 3 steps in the dir from their loc +/obj/machinery/atmospherics/unary/engine/bigger + name = "large rocket nozzle" + desc = "Advanced rocket nozzle, expelling gas at hypersonic velocities to propel the ship." + icon = 'icons/turf/shuttle_parts64.dmi' + icon_state = "engine_off" + + volume_per_burn = 30 + charge_per_burn = 6000 + boot_time = 70 + + bound_width = 64 + bound_height = 64 + +/obj/machinery/atmospherics/unary/engine/bigger/atmos_init() + if(node) + return + + var/node_connect = dir + var/turf/one_step = get_step(src,node_connect) + + for(var/obj/machinery/atmospherics/target in get_step(one_step,node_connect)) + if(can_be_node(target, 1)) + node = target + break + + update_icon() + update_underlays() + +/obj/machinery/atmospherics/unary/engine/bigger/burn() + . = ..() + if(.) + icon_state = "engine_on" + spawn(2 SECONDS) + icon_state = initial(icon_state) + +/obj/machinery/atmospherics/unary/engine/biggest + name = "huge rocket nozzle" + desc = "Enormous rocket nozzle, expelling gas at hypersonic velocities to propel the ship." + icon = 'icons/turf/shuttle_parts96.dmi' + icon_state = "engine_off" + + volume_per_burn = 50 + charge_per_burn = 10000 + boot_time = 100 + + bound_width = 96 + bound_height = 96 + +/obj/machinery/atmospherics/unary/engine/biggest/burn() + . = ..() + if(.) + icon_state = "engine_on" + spawn(2 SECONDS) + icon_state = initial(icon_state) + +/obj/machinery/atmospherics/unary/engine/biggest/atmos_init() + if(node) + return + + var/node_connect = dir + var/turf/one_step = get_step(src,node_connect) + var/turf/two_step = get_step(one_step,node_connect) + + for(var/obj/machinery/atmospherics/target in get_step(two_step,node_connect)) + if(can_be_node(target, 1)) + node = target + break + + update_icon() + update_underlays() \ No newline at end of file diff --git a/code/modules/overmap/ships/engines/thermal.dm b/code/modules/overmap/ships/engines/thermal.dm deleted file mode 100644 index 9c4af11cc6..0000000000 --- a/code/modules/overmap/ships/engines/thermal.dm +++ /dev/null @@ -1,99 +0,0 @@ -//Thermal nozzle engine -/datum/ship_engine/thermal - name = "thermal engine" - -/datum/ship_engine/thermal/get_status() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return "Fuel pressure: [E.air_contents.return_pressure()]" - -/datum/ship_engine/thermal/get_thrust() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - if(!is_on()) - return 0 - var/pressurized_coef = E.air_contents.return_pressure()/E.effective_pressure - return round(E.thrust_limit * E.nominal_thrust * pressurized_coef) - -/datum/ship_engine/thermal/burn() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.burn() - -/datum/ship_engine/thermal/set_thrust_limit(var/new_limit) - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - E.thrust_limit = new_limit - -/datum/ship_engine/thermal/get_thrust_limit() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.thrust_limit - -/datum/ship_engine/thermal/is_on() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.on - -/datum/ship_engine/thermal/toggle() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - E.on = !E.on - -//Actual thermal nozzle engine object - -/obj/machinery/atmospherics/unary/engine - name = "engine nozzle" - desc = "Simple thermal nozzle, uses heated gast to propell the ship." - icon = 'icons/obj/ship_engine.dmi' - icon_state = "nozzle" - var/on = 1 - var/thrust_limit = 1 //Value between 1 and 0 to limit the resulting thrust - var/nominal_thrust = 3000 - var/effective_pressure = 3000 - var/datum/ship_engine/thermal/controller - -/obj/machinery/atmospherics/unary/engine/Initialize() - . = ..() - controller = new(src) - -/obj/machinery/atmospherics/unary/engine/Destroy() - ..() - controller.die() - -/obj/machinery/atmospherics/unary/engine/proc/burn() - if (!on) - return - if(air_contents.temperature > 0) - var/transfer_moles = 100 * air_contents.volume/max(air_contents.temperature * R_IDEAL_GAS_EQUATION, 0,01) - transfer_moles = round(thrust_limit * transfer_moles, 0.01) - if(transfer_moles > air_contents.total_moles) - on = !on - return 0 - - var/datum/gas_mixture/removed = air_contents.remove(transfer_moles) - - loc.assume_air(removed) - if(air_contents.temperature > PHORON_MINIMUM_BURN_TEMPERATURE) - var/exhaust_dir = reverse_direction(dir) - var/turf/T = get_step(src,exhaust_dir) - if(T) - new/obj/effect/engine_exhaust(T,exhaust_dir,air_contents.temperature) - return 1 - -//Exhaust effect -/obj/effect/engine_exhaust - name = "engine exhaust" - icon = 'icons/effects/effects.dmi' - icon_state = "exhaust" - anchored = 1 - - New(var/turf/nloc, var/ndir, var/temp) - set_dir(ndir) - ..(nloc) - - if(nloc) - nloc.hotspot_expose(temp,125) - - spawn(20) - loc = null \ No newline at end of file diff --git a/icons/turf/shuttle_parts64.dmi b/icons/turf/shuttle_parts64.dmi new file mode 100644 index 0000000000..8f0004bbb7 Binary files /dev/null and b/icons/turf/shuttle_parts64.dmi differ diff --git a/icons/turf/shuttle_parts96.dmi b/icons/turf/shuttle_parts96.dmi new file mode 100644 index 0000000000..0ba521e880 Binary files /dev/null and b/icons/turf/shuttle_parts96.dmi differ diff --git a/maps/tether/submaps/offmap/talon1.dmm b/maps/tether/submaps/offmap/talon1.dmm index 69e0bf463d..b2648492d4 100644 --- a/maps/tether/submaps/offmap/talon1.dmm +++ b/maps/tether/submaps/offmap/talon1.dmm @@ -5559,13 +5559,6 @@ }, /turf/simulated/wall/rshull, /area/talon/deckone/port_eng) -"ka" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ - icon_state = "map-fuel"; - dir = 1 - }, -/turf/simulated/wall/rshull, -/area/talon/deckone/port_eng) "kb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ icon_state = "intact-fuel"; @@ -5602,17 +5595,17 @@ /turf/simulated/wall/rshull, /area/talon/deckone/starboard_eng) "kg" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ - icon_state = "map-fuel"; - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 9 }, /turf/simulated/wall/rshull, /area/talon/deckone/starboard_eng) "kh" = ( -/obj/machinery/atmospherics/unary/engine{ - dir = 1 +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 }, -/turf/space, +/turf/simulated/floor/reinforced/airless, /area/talon/deckone/port_eng) "ki" = ( /obj/machinery/door/blast/regular{ @@ -5623,10 +5616,10 @@ /turf/simulated/floor/plating, /area/talon/deckone/central_hallway) "kj" = ( -/obj/machinery/atmospherics/unary/engine{ - dir = 1 +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 }, -/turf/space, +/turf/simulated/floor/reinforced/airless, /area/talon/deckone/starboard_eng) "kk" = ( /obj/structure/catwalk, @@ -6619,6 +6612,9 @@ /obj/item/clothing/accessory/holster/waist, /turf/simulated/floor/tiled/dark, /area/talon/deckone/armory) +"yg" = ( +/turf/space, +/area/talon/deckone/starboard_eng) "ym" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -6910,6 +6906,12 @@ }, /turf/simulated/floor/tiled/steel, /area/talon/deckone/secure_storage) +"GP" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 5 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/deckone/starboard_eng) "Hb" = ( /obj/structure/catwalk, /turf/space, @@ -6955,6 +6957,12 @@ }, /turf/simulated/floor/reinforced/airless, /area/talon/maintenance/deckone_starboard_aft_wing) +"JI" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 5 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/deckone/port_eng) "JJ" = ( /obj/effect/floor_decal/industrial/warning/dust/corner{ dir = 8 @@ -7200,6 +7208,12 @@ }, /turf/simulated/floor/reinforced/airless, /area/talon/maintenance/deckone_starboard_fore_wing) +"OS" = ( +/obj/machinery/atmospherics/unary/engine/bigger{ + dir = 1 + }, +/turf/space, +/area/talon/deckone/port_eng) "Pi" = ( /obj/structure/catwalk, /turf/space, @@ -7216,6 +7230,12 @@ }, /turf/simulated/floor/tiled/techmaint, /area/talon/deckone/workroom) +"QJ" = ( +/obj/machinery/atmospherics/unary/engine/bigger{ + dir = 1 + }, +/turf/space, +/area/talon/deckone/starboard_eng) "Rc" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 4 @@ -7249,6 +7269,9 @@ }, /turf/simulated/floor/reinforced/airless, /area/talon/maintenance/deckone_starboard_aft_wing) +"SX" = ( +/turf/space, +/area/talon/deckone/port_eng) "TP" = ( /obj/structure/cable/green{ d1 = 1; @@ -15811,7 +15834,7 @@ jL jS jZ kh -aa +OS aa aa aa @@ -15951,9 +15974,9 @@ js jB jM jT -ka -kh -aa +kb +JI +SX aa aa aa @@ -16235,9 +16258,9 @@ ju jC jM jT -ka +kc kh -aa +OS aa aa aa @@ -16377,9 +16400,9 @@ iL jD jN Xi -kc -kh -aa +ji +JI +SX aa aa aa @@ -18367,7 +18390,7 @@ jO Im kd kj -aa +QJ aa aa aa @@ -18507,9 +18530,9 @@ jv jG jP jW -ke -kj -aa +kf +GP +yg aa aa aa @@ -18793,7 +18816,7 @@ jP jW ke kj -aa +QJ aa aa aa @@ -18934,8 +18957,8 @@ jI jQ jX kg -kj -aa +GP +yg aa aa aa diff --git a/maps/tether/tether_jobs.dm b/maps/tether/tether_jobs.dm index a09d05a247..f7f03758d6 100644 --- a/maps/tether/tether_jobs.dm +++ b/maps/tether/tether_jobs.dm @@ -8,7 +8,7 @@ assignable = FALSE visible = FALSE -/datum/job/talon/captain +/datum/job/talon_captain title = "Talon Captain" flag = TALCAP department_flag = TALON @@ -29,7 +29,7 @@ access = list(access_talon) minimal_access = list(access_talon) -/datum/job/talon/doctor +/datum/job/talon_doctor title = "Talon Doctor" flag = TALDOC department_flag = TALON @@ -49,7 +49,7 @@ access = list(access_talon) minimal_access = list(access_talon) -/datum/job/talon/engineer +/datum/job/talon_engineer title = "Talon Engineer" flag = TALENG department_flag = TALON @@ -69,7 +69,7 @@ access = list(access_talon) minimal_access = list(access_talon) -/datum/job/talon/pilot +/datum/job/talon_pilot title = "Talon Pilot" flag = TALPIL department_flag = TALON @@ -89,7 +89,7 @@ access = list(access_talon) minimal_access = list(access_talon) -/datum/job/talon/guard +/datum/job/talon_guard title = "Talon Guard" flag = TALSEC department_flag = TALON diff --git a/vorestation.dme b/vorestation.dme index a7b4957d8b..2f268abe7d 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2931,6 +2931,7 @@ #include "code\modules\overmap\ships\computers\shuttle.dm" #include "code\modules\overmap\ships\engines\engine.dm" #include "code\modules\overmap\ships\engines\gas_thruster.dm" +#include "code\modules\overmap\ships\engines\gas_thruster_vr.dm" #include "code\modules\overmap\ships\engines\ion_thruster.dm" #include "code\modules\paperwork\adminpaper.dm" #include "code\modules\paperwork\carbonpaper.dm"