mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Merge branch 'Aurorastation/development' into Map-Development
# Conflicts: # code/TriDimension/controller_presets.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/game/objects/structures/crates_lockers/closets/wardrobe.dm # code/game/objects/structures/signs.dm # code/game/turfs/simulated/floor_types.dm # code/modules/random_map/mining_distribution.dm # code/modules/random_map/random_map.dm # code/world.dm # icons/obj/barsigns.dmi # icons/obj/decals.dmi # icons/obj/plants.dmi # icons/obj/structures.dmi # icons/turf/floors.dmi # icons/turf/wall_masks.dmi # maps/exodus-2.dmm
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
"door_state" = docking_program.memory["door_status"]["state"],
|
||||
"door_lock" = docking_program.memory["door_status"]["lock"],
|
||||
"can_force" = pod.can_force() || (emergency_shuttle.departed && pod.can_launch()), //allow players to manually launch ahead of time if the shuttle leaves
|
||||
"is_armed" = pod.arming_controller.armed,
|
||||
"is_armed" = pod.arming_controller.armed
|
||||
)
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
@@ -91,7 +91,7 @@
|
||||
data = list(
|
||||
"docking_status" = docking_program.get_docking_status(),
|
||||
"override_enabled" = docking_program.override_enabled,
|
||||
"armed" = armed,
|
||||
"armed" = armed
|
||||
)
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
@@ -102,19 +102,15 @@
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/card/emag) && !emagged)
|
||||
user << "\blue You emag the [src], arming the escape pod!"
|
||||
/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/emag_act(var/remaining_charges, var/mob/user)
|
||||
if (!emagged)
|
||||
user << "<span class='notice'>You emag the [src], arming the escape pod!</span>"
|
||||
emagged = 1
|
||||
if (istype(docking_program, /datum/computer/file/embedded_program/docking/simple/escape_pod))
|
||||
var/datum/computer/file/embedded_program/docking/simple/escape_pod/P = docking_program
|
||||
if (!P.armed)
|
||||
P.arm()
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
//A docking controller program for a simple door based docking port
|
||||
/datum/computer/file/embedded_program/docking/simple/escape_pod
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/obj/machinery/computer/shuttle_control
|
||||
name = "shuttle control console"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_state = "shuttle"
|
||||
|
||||
icon_screen = "shuttle"
|
||||
circuit = null
|
||||
|
||||
var/shuttle_tag // Used to coordinate data in shuttle controller.
|
||||
@@ -54,7 +55,7 @@
|
||||
"docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null,
|
||||
"can_launch" = shuttle.can_launch(),
|
||||
"can_cancel" = shuttle.can_cancel(),
|
||||
"can_force" = shuttle.can_force(),
|
||||
"can_force" = shuttle.can_force()
|
||||
)
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
@@ -83,15 +84,13 @@
|
||||
else if(href_list["cancel"])
|
||||
shuttle.cancel_launch(src)
|
||||
|
||||
/obj/machinery/computer/shuttle_control/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
if (istype(W, /obj/item/weapon/card/emag))
|
||||
src.req_access = list()
|
||||
src.req_one_access = list()
|
||||
/obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user)
|
||||
if (!hacked)
|
||||
req_access = list()
|
||||
req_one_access = list()
|
||||
hacked = 1
|
||||
usr << "You short out the console's ID checking system. It's now available to everyone!"
|
||||
else
|
||||
..()
|
||||
user << "You short out the console's ID checking system. It's now available to everyone!"
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/shuttle_control/bullet_act(var/obj/item/projectile/Proj)
|
||||
visible_message("\The [Proj] ricochets off \the [src]!")
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
emergency_shuttle.departed = 1
|
||||
|
||||
if (emergency_shuttle.evac)
|
||||
priority_announcement.Announce("The Emergency Shuttle has left the station. Estimate [round(emergency_shuttle.estimate_arrival_time()/60,1)] minutes until the shuttle docks at Central Command.")
|
||||
priority_announcement.Announce("The Emergency Shuttle has left the station. Estimate [round(emergency_shuttle.estimate_arrival_time()/60,1)] minutes until the shuttle docks at [dock_name].")
|
||||
else
|
||||
priority_announcement.Announce("The Crew Transfer Shuttle has left the station. Estimate [round(emergency_shuttle.estimate_arrival_time()/60,1)] minutes until the shuttle docks at Central Command.")
|
||||
priority_announcement.Announce("The Crew Transfer Shuttle has left the station. Estimate [round(emergency_shuttle.estimate_arrival_time()/60,1)] minutes until the shuttle docks at [dock_name].")
|
||||
|
||||
/datum/shuttle/ferry/emergency/can_launch(var/user)
|
||||
if (istype(user, /obj/machinery/computer/shuttle_control/emergency))
|
||||
@@ -155,15 +155,13 @@
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/machinery/computer/shuttle_control/emergency/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/card/emag) && !emagged)
|
||||
/obj/machinery/computer/shuttle_control/emergency/emag_act(var/remaining_charges, var/mob/user)
|
||||
if (!emagged)
|
||||
user << "<span class='notice'>You short out \the [src]'s authorization protocols.</span>"
|
||||
emagged = 1
|
||||
return
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/shuttle_control/emergency/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
read_authorization(W)
|
||||
..()
|
||||
|
||||
@@ -187,7 +185,7 @@
|
||||
else if (!shuttle.location)
|
||||
shuttle_status = "Standing-by at [station_name]."
|
||||
else
|
||||
shuttle_status = "Standing-by at Central Command."
|
||||
shuttle_status = "Standing-by at [dock_name]."
|
||||
if(WAIT_LAUNCH, FORCE_LAUNCH)
|
||||
shuttle_status = "Shuttle has recieved command and will depart shortly."
|
||||
if(WAIT_ARRIVE)
|
||||
@@ -222,7 +220,7 @@
|
||||
"can_force" = shuttle.can_force(src),
|
||||
"auth_list" = auth_list,
|
||||
"has_auth" = has_auth,
|
||||
"user" = debug? user : null,
|
||||
"user" = debug? user : null
|
||||
)
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
var/obj/machinery/computer/C = user
|
||||
|
||||
if(world.time <= reset_time)
|
||||
C.visible_message("\blue Central Command will not allow the Special Operations shuttle to launch yet.")
|
||||
C.visible_message("\blue [boss_name] will not allow the Special Operations shuttle to launch yet.")
|
||||
if (((world.time - reset_time)/10) > 60)
|
||||
C.visible_message("\blue [-((world.time - reset_time)/10)/60] minutes remain!")
|
||||
else
|
||||
@@ -93,12 +93,12 @@
|
||||
if (!location) //just arrived home
|
||||
for(var/turf/T in get_area_turfs(destination))
|
||||
var/mob/M = locate(/mob) in T
|
||||
M << "\red You have arrived at Central Command. Operation has ended!"
|
||||
M << "<span class='danger'>You have arrived at [boss_name]. Operation has ended!</span>"
|
||||
else //just left for the station
|
||||
launch_mauraders()
|
||||
for(var/turf/T in get_area_turfs(destination))
|
||||
var/mob/M = locate(/mob) in T
|
||||
M << "\red You have arrived at [station_name]. Commence operation!"
|
||||
M << "<span class='danger'>You have arrived at [station_name]. Commence operation!</span>"
|
||||
|
||||
var/obj/machinery/light/small/readylight/light = locate() in T
|
||||
if(light) light.set_state(1)
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
destination_dock_controllers[destination] = docking_controller
|
||||
else
|
||||
var/datum/computer/file/embedded_program/docking/C = locate(controller_tag)
|
||||
|
||||
|
||||
if(!istype(C))
|
||||
world << "<span class='danger'>warning: shuttle with docking tag [controller_tag] could not find it's controller!</span>"
|
||||
else
|
||||
destination_dock_controllers[destination] = C
|
||||
|
||||
|
||||
//might as well set this up here.
|
||||
if(origin) last_departed = origin
|
||||
last_location = start_location
|
||||
@@ -59,18 +59,19 @@
|
||||
if(cloaked || isnull(departure_message))
|
||||
return
|
||||
|
||||
command_announcement.Announce(departure_message,(announcer ? announcer : "Central Command"))
|
||||
command_announcement.Announce(departure_message,(announcer ? announcer : "[boss_name]"))
|
||||
|
||||
/datum/shuttle/multi_shuttle/proc/announce_arrival()
|
||||
|
||||
if(cloaked || isnull(arrival_message))
|
||||
return
|
||||
|
||||
command_announcement.Announce(arrival_message,(announcer ? announcer : "Central Command"))
|
||||
command_announcement.Announce(arrival_message,(announcer ? announcer : "[boss_name]"))
|
||||
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi
|
||||
icon_state = "syndishuttle"
|
||||
|
||||
icon_screen = "syndishuttle"
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob)
|
||||
|
||||
@@ -99,15 +100,15 @@
|
||||
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>"
|
||||
|
||||
|
||||
//Docking
|
||||
dat += "<center><br><br>"
|
||||
if(MS.skip_docking_checks())
|
||||
dat += "Docking Status: <font color='grey'>Not in use.</font></center>"
|
||||
dat += "Docking Status: <font color='grey'>Not in use.</font>"
|
||||
else
|
||||
var/override_en = MS.docking_controller.override_enabled
|
||||
var/docking_status = MS.docking_controller.get_docking_status()
|
||||
|
||||
|
||||
dat += "Docking Status: "
|
||||
switch(docking_status)
|
||||
if("undocked")
|
||||
@@ -118,16 +119,17 @@
|
||||
dat += "<font color='[override_en? "red" : "yellow"]'>Undocking</font>"
|
||||
if("docked")
|
||||
dat += "<font color='[override_en? "red" : "green"]'>Docked</font>"
|
||||
|
||||
|
||||
if(override_en) dat += " <font color='red'>(Override Enabled)</font>"
|
||||
|
||||
|
||||
dat += ". <A href='?src=\ref[src];refresh=[1]'>\[Refresh\]</A><br><br>"
|
||||
|
||||
|
||||
switch(docking_status)
|
||||
if("undocked")
|
||||
dat += "<b><A href='?src=\ref[src];dock_command=[1]'>Dock</A></b></center>"
|
||||
dat += "<b><A href='?src=\ref[src];dock_command=[1]'>Dock</A></b>"
|
||||
if("docked")
|
||||
dat += "<b><A href='?src=\ref[src];undock_command=[1]'>Undock</A></b></center>"
|
||||
dat += "<b><A href='?src=\ref[src];undock_command=[1]'>Undock</A></b>"
|
||||
dat += "</center>"
|
||||
|
||||
user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=300x600")
|
||||
|
||||
@@ -139,11 +141,11 @@
|
||||
var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch")
|
||||
if(choice == "Cancel")
|
||||
return 0
|
||||
|
||||
|
||||
choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel")
|
||||
if(choice == "Cancel")
|
||||
return 0
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list)
|
||||
@@ -165,11 +167,11 @@
|
||||
if (MS.moving_status != SHUTTLE_IDLE)
|
||||
usr << "\blue [shuttle_tag] vessel is moving."
|
||||
return
|
||||
|
||||
|
||||
if(href_list["dock_command"])
|
||||
MS.dock()
|
||||
return
|
||||
|
||||
|
||||
if(href_list["undock_command"])
|
||||
MS.undock()
|
||||
return
|
||||
@@ -178,7 +180,7 @@
|
||||
if(MS.at_origin)
|
||||
usr << "\red You are already at your home base."
|
||||
return
|
||||
|
||||
|
||||
if((MS.last_move + MS.cooldown*10) > world.time)
|
||||
usr << "\red The ship's drive is inoperable while the engines are charging."
|
||||
return
|
||||
@@ -186,7 +188,7 @@
|
||||
if(!check_docking(MS))
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
|
||||
if(!MS.return_warning)
|
||||
usr << "\red Returning to your home base will end your mission. If you are sure, press the button again."
|
||||
//TODO: Actually end the mission.
|
||||
@@ -207,11 +209,11 @@
|
||||
if((MS.last_move + MS.cooldown*10) > world.time)
|
||||
usr << "\red The ship's drive is inoperable while the engines are charging."
|
||||
return
|
||||
|
||||
|
||||
if(!check_docking(MS))
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
|
||||
var/choice = input("Select a destination.") as null|anything in MS.destinations
|
||||
if(!choice) return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user