Converted Syndicate shuttle over to multi-shuttle setup.

This commit is contained in:
Zuhayr
2014-06-04 00:08:10 +09:30
parent 3bb5aa7818
commit 7a56a174dc
6 changed files with 39 additions and 122 deletions

View File

@@ -82,16 +82,21 @@ var/global/datum/shuttle_controller/shuttles
MS.origin = /area/syndicate_station/start
MS.destinations = list(
"NW" = /area/syndicate_station/northwest,
"N" = /area/syndicate_station/north,
"NE" = /area/syndicate_station/northeast,
"SW" = /area/syndicate_station/southwest,
"S" = /area/syndicate_station/south,
"SE" = /area/syndicate_station/southeast,
"Telecomms" = /area/syndicate_station/commssat,
"Mining" = /area/syndicate_station/mining
"Northwest of the station" = /area/syndicate_station/northwest,
"North of the station" = /area/syndicate_station/north,
"Northeast of the station" = /area/syndicate_station/northeast,
"Southwest of the station" = /area/syndicate_station/southwest,
"South of the station" = /area/syndicate_station/south,
"Southeast of the station" = /area/syndicate_station/southeast,
"Telecomms Satellite" = /area/syndicate_station/commssat,
"Mining Asteroid" = /area/syndicate_station/mining
)
MS.announcer = "NSV Icarus"
MS.arrival_message = "Attention, Exodus, you have a large signature approaching the station - looks unarmed to surface scans. We're too far out to intercept - brace for visitors."
MS.departure_message = "Your visitors are on their way out of the system, Exodus, burning delta-v like it's nothing. Good riddance."
MS.interim = /area/syndicate_station/transit
multi_shuttles["Syndicate"] = MS
locations["Syndicate"] = 1
delays["Syndicate"] = 10
@@ -159,11 +164,12 @@ var/global/datum/shuttle_controller/shuttles
for(var/mob/M in area_going_to)
if(M.client)
M << "\red The ship lurches beneath you!"
spawn(0)
if(M.buckled)
M << "\red Sudden acceleration presses you into your chair!"
shake_camera(M, 3, 1)
else
M << "\red The ship lurches beneath you!"
shake_camera(M, 10, 1)
if(istype(M, /mob/living/carbon))
if(!M.buckled)
@@ -237,4 +243,7 @@ var/global/datum/shuttle_controller/shuttles
hacked = 1
usr << "You short out the console's ID checking system. It's now available to everyone!"
else
..()
..()
/obj/machinery/computer/shuttle_control/bullet_act(var/obj/item/projectile/Proj)
visible_message("[Proj] ricochets off [src]!")

View File

@@ -5,6 +5,7 @@
var/at_origin = 1
var/move_time = 240
var/cooldown = 200
var/last_move = 0
var/announcer
var/arrival_message
@@ -42,21 +43,30 @@
if(..(user))
return
src.add_fingerprint(user)
var/dat
var/datum/multi_shuttle/MS = shuttles.multi_shuttles[shuttle_tag]
if(!istype(MS)) return
var/dat
dat = "<center>[shuttle_tag] Ship Control<hr>"
if(shuttles.moving[shuttle_tag])
dat += "Location: <font color='red'>Moving</font> <br>"
else
var/area/areacheck = get_area(src)
dat += "Location: [areacheck.name]<br>"
dat += "<b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
if((MS.last_move + MS.cooldown) > world.time)
dat += "<font color='red'>Engines charging.</font><br>"
else
dat += "<font color='green'>Engines ready.</font><br>"
dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>"
dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>"
user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=220x220")
user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=300x600")
/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list)
@@ -73,6 +83,10 @@
usr << "\blue [shuttle_tag] vessel is moving."
return
if((MS.last_move + MS.cooldown) > world.time)
usr << "\red The ship is inoperable while the engines are charging."
return
if(href_list["start"])
if(MS.at_origin)
@@ -121,4 +135,4 @@
shuttles.move_shuttle(shuttle_tag,locate(MS.last_departed),locate(MS.destinations[choice]))
MS.last_departed = MS.destinations[choice]
updateUsrDialog()
updateUsrDialog()