Hybrid shuttle

This commit is contained in:
Aronai Sieyes
2020-03-05 23:25:49 -05:00
parent c9f7465ee2
commit 1255e1be77
15 changed files with 2951 additions and 2210 deletions

View 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>"

View File

@@ -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"

View 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"

View 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)
..()

View File

@@ -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'

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

BIN
icons/obj/abductor_vr.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 51 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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"

View File

@@ -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"