Merge pull request #582 from Fox-McCloud/Escape-Pods

Escape Pod Fixes and Tweaks
This commit is contained in:
ZomgPonies
2015-03-17 08:29:40 -04:00
6 changed files with 31 additions and 21 deletions
@@ -18,7 +18,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
var/deny_shuttle = 0 //allows admins to prevent the shuttle from being called
var/departed = 0 //if the shuttle has left the station at least once
var/datum/announcement/priority/emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/shuttledock.ogg'))
var/datum/announcement/priority/emergency_shuttle_called = new(0, new_sound = sound('sound/AI/shuttlecalled.ogg'))
var/datum/announcement/priority/emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/shuttlerecalled.ogg'))
@@ -34,7 +34,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
if(is_stranded())
priority_announcement.Announce("Hostile environment detected. Departure has been postponed indefinitely pending conflict resolution.")
wait_for_launch = 0
return
return
//launch the pods!
for (var/datum/shuttle/ferry/escape_pod/pod in escape_pods)
if (!pod.arming_controller || pod.arming_controller.armed)
@@ -57,10 +57,9 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
priority_announcement.Announce("The scheduled Crew Transfer Shuttle has docked with the station. It will depart in approximately [round(emergency_shuttle.estimate_launch_time()/60,1)] minutes.")
//arm the escape pods
if (evac)
for (var/datum/shuttle/ferry/escape_pod/pod in escape_pods)
if (pod.arming_controller)
pod.arming_controller.arm()
for (var/datum/shuttle/ferry/escape_pod/pod in escape_pods)
if (pod.arming_controller)
pod.arming_controller.arm()
//begins the launch countdown and sets the amount of time left until launch
/datum/emergency_shuttle_controller/proc/set_launch_countdown(var/seconds)
@@ -186,7 +185,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
/datum/emergency_shuttle_controller/proc/has_eta()
return (wait_for_launch || shuttle.moving_status != SHUTTLE_IDLE && shuttle.moving_status != SHUTTLE_STRANDED)
/datum/emergency_shuttle_controller/proc/is_stranded()
return (shuttle.moving_status == SHUTTLE_STRANDED)
@@ -224,10 +223,10 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
var/timeleft = emergency_shuttle.estimate_launch_time()
return "ETD-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]"
if (is_stranded())
return "ETA-ERR"
return ""
/*
Some slapped-together star effects for maximum spess immershuns. Basically consists of a
+4 -4
View File
@@ -46,7 +46,7 @@ var/global/datum/shuttle_controller/shuttle_controller
shuttle.dock_target_station = "escape_pod_1_berth"
shuttle.dock_target_offsite = "escape_pod_1_recovery"
shuttle.transit_direction = NORTH
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN
process_shuttles += shuttle
shuttles["Escape Pod 1"] = shuttle
@@ -60,7 +60,7 @@ var/global/datum/shuttle_controller/shuttle_controller
shuttle.dock_target_station = "escape_pod_2_berth"
shuttle.dock_target_offsite = "escape_pod_2_recovery"
shuttle.transit_direction = NORTH
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN
process_shuttles += shuttle
shuttles["Escape Pod 2"] = shuttle
@@ -74,7 +74,7 @@ var/global/datum/shuttle_controller/shuttle_controller
shuttle.dock_target_station = "escape_pod_3_berth"
shuttle.dock_target_offsite = "escape_pod_3_recovery"
shuttle.transit_direction = EAST
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN
process_shuttles += shuttle
shuttles["Escape Pod 3"] = shuttle
@@ -90,7 +90,7 @@ var/global/datum/shuttle_controller/shuttle_controller
shuttle.dock_target_station = "escape_pod_5_berth"
shuttle.dock_target_offsite = "escape_pod_5_recovery"
shuttle.transit_direction = EAST //should this be WEST? I have no idea.
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN
process_shuttles += shuttle
shuttles["Escape Pod 5"] = shuttle
+13 -8
View File
@@ -208,7 +208,7 @@
icon = 'icons/obj/doors/Dooruranium.dmi'
mineral = "uranium"
var/last_event = 0
/obj/machinery/door/airlock/process()
// Deliberate no call to parent.
if(main_power_lost_until > 0 && world.time >= main_power_lost_until)
@@ -300,6 +300,11 @@
hackProof = 1
aiControlDisabled = 1
/obj/machinery/door/airlock/shuttle
name = "shuttle airlock"
icon = 'icons/obj/doors/doorshuttle.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_shuttle
/obj/machinery/door/airlock/alien
name = "Alien Airlock"
desc = "A mysterious alien airlock with a complicated opening mechanism."
@@ -319,7 +324,7 @@
else
user << "You do not know how to operate this airlock's mechanism."
return
/*
@@ -388,7 +393,7 @@ About the new airlock wires panel:
if(mainPowerCablesCut() && backupPowerCablesCut())
return 1
return 0
/obj/machinery/door/airlock/proc/mainPowerCablesCut()
return src.isWireCut(AIRLOCK_WIRE_MAIN_POWER1) || src.isWireCut(AIRLOCK_WIRE_MAIN_POWER2)
@@ -426,7 +431,7 @@ About the new airlock wires panel:
// Restore backup power only if main power is offline, otherwise permanently disable
backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0
update_icon()
/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0)
var/message = ""
if(src.isWireCut(AIRLOCK_WIRE_ELECTRIFY) && arePowerSystemsOn())
@@ -475,7 +480,7 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/update_icon()
if(overlays) overlays.Cut()
overlays = list()
if(emergency && arePowerSystemsOn())
if(emergency && arePowerSystemsOn())
overlays += image('icons/obj/doors/doorint.dmi', "elights")
if(density)
if(locked && lights)
@@ -494,7 +499,7 @@ About the new airlock wires panel:
icon_state = "door_open"
return
/obj/machinery/door/airlock/do_animate(animation)
switch(animation)
@@ -918,7 +923,7 @@ About the new airlock wires panel:
var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf)
if(killthis)
killthis.ex_act(2)//Smashin windows
if(density)
return 1
operating = 1
@@ -1049,7 +1054,7 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/CanAStarPass(var/obj/item/weapon/card/id/ID)
//Airlock is passable if it is open (!density), bot has access, and is not bolted shut)
return !density || (check_access(ID) && !locked)
/obj/machinery/door/airlock/emp_act(var/severity)
if(prob(40/severity))
var/duration = world.time + SecondsToTicks(30 / severity)
@@ -101,6 +101,12 @@ obj/structure/door_assembly
airlock_type = "/highsecurity"
glass = -1
door_assembly_shuttle
base_icon_state = "shuttle"
base_name = "shuttle airlock"
airlock_type = "/shuttle"
glass = -1
multi_tile
icon = 'icons/obj/doors/door_assembly2x1.dmi'
dir = EAST