Hybrid shuttle
13
code/game/objects/structures/props/alien_props_vr.dm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/obj/structure/prop/alien/computer/hybrid
|
||||||
|
name = "hybrid console"
|
||||||
|
desc = "The console flashes what appear to be symbols you've never seen before, intermixed with human writing moving too fast to comprehend."
|
||||||
|
icon = 'icons/obj/abductor_vr.dmi'
|
||||||
|
icon_state = "console-c"
|
||||||
|
interaction_message = "<span class='warning'>The screen flashes an 'access denied' message at you. Perhaps for the best.</span>"
|
||||||
|
|
||||||
|
/obj/structure/prop/alien/pod/hybrid
|
||||||
|
name = "hybrid pod"
|
||||||
|
desc = "This seems to be a container for something."
|
||||||
|
icon = 'icons/obj/abductor_vr.dmi'
|
||||||
|
icon_state = "experiment"
|
||||||
|
interaction_message = "<span class='warning'>You don't see any mechanism to open this thing. Probably for the best.</span>"
|
||||||
@@ -1,3 +1,17 @@
|
|||||||
|
/turf/simulated/shuttle/floor/alienplating/blue
|
||||||
|
icon = 'icons/turf/shuttle_alien_blue.dmi'
|
||||||
|
icon_state = "alienplating"
|
||||||
|
|
||||||
|
/turf/simulated/shuttle/floor/alienplating/blue/half
|
||||||
|
icon_state = "alienplatinghalf"
|
||||||
|
|
||||||
|
/turf/simulated/shuttle/floor/alien/blue
|
||||||
|
icon = 'icons/turf/shuttle_alien_blue.dmi'
|
||||||
|
icon_state = "alienpod1"
|
||||||
|
light_range = 4
|
||||||
|
light_power = 0.8
|
||||||
|
light_color = "#66ffff" // Bright cyan.
|
||||||
|
|
||||||
/turf/simulated/floor/flesh
|
/turf/simulated/floor/flesh
|
||||||
name = "flesh"
|
name = "flesh"
|
||||||
desc = "This slick flesh ripples and squishes under your touch"
|
desc = "This slick flesh ripples and squishes under your touch"
|
||||||
|
|||||||
13
code/modules/mining/shelter_atoms_vr.dm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/obj/structure/fans/hardlight
|
||||||
|
name = "hardlight shield"
|
||||||
|
desc = "Retains air, allows passage."
|
||||||
|
plane = TURF_PLANE
|
||||||
|
layer = ABOVE_TURF_LAYER
|
||||||
|
density = FALSE
|
||||||
|
icon = 'icons/effects/effects_vr.dmi'
|
||||||
|
icon_state = "hardlight"
|
||||||
|
buildstackamount = 2
|
||||||
|
|
||||||
|
light_range = 3
|
||||||
|
light_power = 1
|
||||||
|
light_color = "#FFFFFF"
|
||||||
34
code/modules/power/smes_vr.dm
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/obj/machinery/power/smes/buildable/hybrid
|
||||||
|
name = "hybrid power storage unit"
|
||||||
|
desc = "A high-capacity superconducting magnetic energy storage (SMES) unit, modified with alien technology to generate small amounts of power from seemingly nowhere."
|
||||||
|
icon = 'icons/obj/power_vr.dmi'
|
||||||
|
var/recharge_rate = 10000
|
||||||
|
var/overlay_icon = 'icons/obj/power_vr.dmi'
|
||||||
|
|
||||||
|
/obj/machinery/power/smes/buildable/hybrid/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||||
|
if(W.is_screwdriver() || W.is_wirecutter())
|
||||||
|
to_chat(user,"<span class='warning'>\The [src] full of weird alien technology that's best not messed with.</span>")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
/obj/machinery/power/smes/buildable/hybrid/update_icon()
|
||||||
|
cut_overlays()
|
||||||
|
if(stat & BROKEN) return
|
||||||
|
|
||||||
|
add_overlay("smes-op[outputting]")
|
||||||
|
|
||||||
|
if(inputting == 2)
|
||||||
|
add_overlay("smes-oc2")
|
||||||
|
else if (inputting == 1)
|
||||||
|
add_overlay("smes-oc1")
|
||||||
|
else
|
||||||
|
if(input_attempt)
|
||||||
|
add_overlay("smes-oc0")
|
||||||
|
|
||||||
|
var/clevel = chargedisplay()
|
||||||
|
if(clevel>0)
|
||||||
|
add_overlay("smes-og[clevel]")
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/machinery/power/smes/buildable/hybrid/process()
|
||||||
|
charge += min(recharge_rate, capacity - charge)
|
||||||
|
..()
|
||||||
@@ -16,4 +16,6 @@
|
|||||||
|
|
||||||
/obj/structure/table/darkglass/dismantle(obj/item/weapon/wrench/W, mob/user)
|
/obj/structure/table/darkglass/dismantle(obj/item/weapon/wrench/W, mob/user)
|
||||||
to_chat(user, "<span class='warning'>You cannot dismantle \the [src].</span>")
|
to_chat(user, "<span class='warning'>You cannot dismantle \the [src].</span>")
|
||||||
return
|
return
|
||||||
|
/obj/structure/table/alien/blue
|
||||||
|
icon = 'icons/turf/shuttle_alien_blue.dmi'
|
||||||
|
|||||||
BIN
icons/effects/effects_vr.dmi
Normal file
|
After Width: | Height: | Size: 668 B |
BIN
icons/obj/abductor_vr.dmi
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
icons/obj/flight_computer_vr.dmi
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 51 KiB |
@@ -878,6 +878,11 @@
|
|||||||
icon_state = "shuttle2"
|
icon_state = "shuttle2"
|
||||||
requires_power = 1
|
requires_power = 1
|
||||||
|
|
||||||
|
/area/shuttle/blue_fo
|
||||||
|
name = "\improper Hybrid Shuttle"
|
||||||
|
icon_state = "shuttle2"
|
||||||
|
requires_power = 1
|
||||||
|
|
||||||
// Belter Dock
|
// Belter Dock
|
||||||
|
|
||||||
/area/quartermaster/belterdock
|
/area/quartermaster/belterdock
|
||||||
|
|||||||
@@ -220,7 +220,7 @@
|
|||||||
my_landmark = "tether_excursion_hangar"
|
my_landmark = "tether_excursion_hangar"
|
||||||
|
|
||||||
radio_announce = 1
|
radio_announce = 1
|
||||||
announcer = "Excursion Shuttle"
|
announcer = "Docking System"
|
||||||
|
|
||||||
routes_to_make = list(
|
routes_to_make = list(
|
||||||
/datum/shuttle_destination/excursion/outside_tether = 0,
|
/datum/shuttle_destination/excursion/outside_tether = 0,
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
my_landmark = "tether_excursion_dockarm"
|
my_landmark = "tether_excursion_dockarm"
|
||||||
|
|
||||||
radio_announce = 1
|
radio_announce = 1
|
||||||
announcer = "Excursion Shuttle"
|
announcer = "Docking System"
|
||||||
|
|
||||||
/datum/shuttle_destination/excursion/docked_tether/get_arrival_message()
|
/datum/shuttle_destination/excursion/docked_tether/get_arrival_message()
|
||||||
return "Attention, [master.my_shuttle.visible_name] has arrived at Docking Arm One."
|
return "Attention, [master.my_shuttle.visible_name] has arrived at Docking Arm One."
|
||||||
@@ -273,6 +273,73 @@
|
|||||||
name = "Skies of Virgo 3B"
|
name = "Skies of Virgo 3B"
|
||||||
my_landmark = "tether_excursion_virgo3bsky"
|
my_landmark = "tether_excursion_virgo3bsky"
|
||||||
|
|
||||||
|
////////// Aliems!!
|
||||||
|
/obj/machinery/computer/shuttle_control/web/excursion/blue
|
||||||
|
name = "shuttle control console"
|
||||||
|
icon = 'icons/obj/flight_computer_vr.dmi'
|
||||||
|
icon_state = "center"
|
||||||
|
shuttle_tag = "Hybrid Shuttle"
|
||||||
|
req_access = list()
|
||||||
|
req_one_access = list(access_pilot)
|
||||||
|
wait_time = 0
|
||||||
|
var/setup = FALSE
|
||||||
|
|
||||||
|
/obj/machinery/computer/shuttle_control/web/excursion/blue/ui_interact()
|
||||||
|
if(!setup && alert("Steal the excursion shuttle's destinations and copy them to this shuttle?","Shuttle Setup","Yes","Cancel") == "Yes")
|
||||||
|
var/datum/shuttle/autodock/web_shuttle/HS = shuttle_controller.shuttles[shuttle_tag]
|
||||||
|
var/datum/shuttle/autodock/web_shuttle/ES = shuttle_controller.shuttles["Excursion Shuttle"]
|
||||||
|
if(!ES.web_master.destinations.len)
|
||||||
|
return
|
||||||
|
|
||||||
|
// First, instantiate all the destination subtypes relevant to this datum.
|
||||||
|
for(var/new_type in ES.web_master.destinations)
|
||||||
|
var/datum/shuttle_destination/D = new_type
|
||||||
|
//if(D.skip_me) //Don't care
|
||||||
|
// continue
|
||||||
|
HS.web_master.destinations += new D.type(HS.web_master)
|
||||||
|
|
||||||
|
// Now start the process of connecting all of them.
|
||||||
|
for(var/datum/shuttle_destination/D in HS.web_master.destinations)
|
||||||
|
for(var/type_to_link in D.routes_to_make)
|
||||||
|
var/travel_delay = D.routes_to_make[type_to_link]
|
||||||
|
D.link_destinations(HS.web_master.get_destination_by_type(type_to_link), D.preferred_interim_tag, travel_delay)
|
||||||
|
|
||||||
|
HS.web_master.current_destination = HS.web_master.get_destination_by_type(/datum/shuttle_destination/excursion/deepish_space)
|
||||||
|
setup = TRUE
|
||||||
|
..()
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/datum/shuttle/autodock/web_shuttle/excursion/blue
|
||||||
|
name = "Hybrid Shuttle"
|
||||||
|
visible_name = "XN-39 Prototype"
|
||||||
|
warmup_time = 0
|
||||||
|
current_location = "bluefo_start"
|
||||||
|
docking_controller_tag = "hybrid_shuttle_docker"
|
||||||
|
web_master_type = /datum/shuttle_web_master/excursion/blue
|
||||||
|
shuttle_area = /area/shuttle/blue_fo
|
||||||
|
abduct_chance = 0
|
||||||
|
flags = SHUTTLE_FLAGS_NONE
|
||||||
|
|
||||||
|
/datum/shuttle_web_master/excursion/blue
|
||||||
|
destination_class = /datum/shuttle_destination/excursion
|
||||||
|
starting_destination = /datum/shuttle_destination/excursion/deepish_space
|
||||||
|
|
||||||
|
/datum/shuttle_web_master/excursion/blue/build_destinations()
|
||||||
|
return
|
||||||
|
|
||||||
|
/datum/shuttle_destination/excursion/deepish_space
|
||||||
|
name = "Deepish Space"
|
||||||
|
my_landmark = "bluefo_start"
|
||||||
|
preferred_interim_tag = "tether_excursion_transit_space"
|
||||||
|
routes_to_make = list(
|
||||||
|
/datum/shuttle_destination/excursion/bluespace = 0
|
||||||
|
)
|
||||||
|
|
||||||
|
/datum/shuttle_destination/excursion/deepish_space/link_destinations(var/datum/shuttle_destination/other_place, var/interim_tag, var/travel_time = 0)
|
||||||
|
var/datum/shuttle_route/new_route = new(src, other_place, interim_tag, travel_time)
|
||||||
|
routes += new_route
|
||||||
|
|
||||||
////////// Distant Destinations
|
////////// Distant Destinations
|
||||||
/datum/shuttle_destination/excursion/bluespace
|
/datum/shuttle_destination/excursion/bluespace
|
||||||
name = "Bluespace Jump"
|
name = "Bluespace Jump"
|
||||||
|
|||||||
@@ -1379,6 +1379,7 @@
|
|||||||
#include "code\game\objects\structures\ghost_pods\silicon.dm"
|
#include "code\game\objects\structures\ghost_pods\silicon.dm"
|
||||||
#include "code\game\objects\structures\ghost_pods\silicon_vr.dm"
|
#include "code\game\objects\structures\ghost_pods\silicon_vr.dm"
|
||||||
#include "code\game\objects\structures\props\alien_props.dm"
|
#include "code\game\objects\structures\props\alien_props.dm"
|
||||||
|
#include "code\game\objects\structures\props\alien_props_vr.dm"
|
||||||
#include "code\game\objects\structures\props\beam_prism.dm"
|
#include "code\game\objects\structures\props\beam_prism.dm"
|
||||||
#include "code\game\objects\structures\props\blackbox.dm"
|
#include "code\game\objects\structures\props\blackbox.dm"
|
||||||
#include "code\game\objects\structures\props\fake_ai.dm"
|
#include "code\game\objects\structures\props\fake_ai.dm"
|
||||||
@@ -2189,6 +2190,7 @@
|
|||||||
#include "code\modules\mining\ore_datum_vr.dm"
|
#include "code\modules\mining\ore_datum_vr.dm"
|
||||||
#include "code\modules\mining\resonator_vr.dm"
|
#include "code\modules\mining\resonator_vr.dm"
|
||||||
#include "code\modules\mining\shelter_atoms.dm"
|
#include "code\modules\mining\shelter_atoms.dm"
|
||||||
|
#include "code\modules\mining\shelter_atoms_vr.dm"
|
||||||
#include "code\modules\mining\shelters.dm"
|
#include "code\modules\mining\shelters.dm"
|
||||||
#include "code\modules\mining\drilling\drill.dm"
|
#include "code\modules\mining\drilling\drill.dm"
|
||||||
#include "code\modules\mining\drilling\scanner.dm"
|
#include "code\modules\mining\drilling\scanner.dm"
|
||||||
@@ -2883,6 +2885,7 @@
|
|||||||
#include "code\modules\power\powernet.dm"
|
#include "code\modules\power\powernet.dm"
|
||||||
#include "code\modules\power\smes.dm"
|
#include "code\modules\power\smes.dm"
|
||||||
#include "code\modules\power\smes_construction.dm"
|
#include "code\modules\power\smes_construction.dm"
|
||||||
|
#include "code\modules\power\smes_vr.dm"
|
||||||
#include "code\modules\power\solar.dm"
|
#include "code\modules\power\solar.dm"
|
||||||
#include "code\modules\power\terminal.dm"
|
#include "code\modules\power\terminal.dm"
|
||||||
#include "code\modules\power\tracker.dm"
|
#include "code\modules\power\tracker.dm"
|
||||||
|
|||||||