From aec81add9db6080d3f33494254f1bbd3fa70f9b0 Mon Sep 17 00:00:00 2001 From: Zergspower Date: Fri, 7 Apr 2023 18:28:11 -0500 Subject: [PATCH] [Missed Mirror]Tram doors update (#74350) (#20403) Tram doors update (#74350) ## About The Pull Request - Fixes tram doors not opening when bumped mid-travel - Simplifies door code, removes 2 procs - Reduces timer to open unpowered door to 7 seconds - New tram door open/close sounds - Moves doors into their own file ## Why It's Good For The Game - You're supposed to be able to jump out of the tram - 14 seconds to open an unpowered tram door has no real benefit being that long except to annoy you Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> --- code/__DEFINES/industrial_lift.dm | 2 - .../industrial_lift/tram/tram_doors.dm | 131 ++++++++++++++++++ .../industrial_lift/tram/tram_lift_master.dm | 11 +- .../industrial_lift/tram/tram_machinery.dm | 131 ------------------ sound/machines/tramclose.ogg | Bin 0 -> 33845 bytes sound/machines/tramopen.ogg | Bin 0 -> 20243 bytes tgstation.dme | 1 + 7 files changed, 135 insertions(+), 141 deletions(-) create mode 100644 code/modules/industrial_lift/tram/tram_doors.dm create mode 100644 sound/machines/tramclose.ogg create mode 100644 sound/machines/tramopen.ogg diff --git a/code/__DEFINES/industrial_lift.dm b/code/__DEFINES/industrial_lift.dm index 2b4401da5e2..05225385128 100644 --- a/code/__DEFINES/industrial_lift.dm +++ b/code/__DEFINES/industrial_lift.dm @@ -22,8 +22,6 @@ // Defines for update_lift_doors #define OPEN_DOORS "open" #define CLOSE_DOORS "close" -#define LOCK_DOORS "lock" -#define UNLOCK_DOORS "unlock" // Defines for the state of tram destination signs #define DESTINATION_WEST_ACTIVE "west_active" diff --git a/code/modules/industrial_lift/tram/tram_doors.dm b/code/modules/industrial_lift/tram/tram_doors.dm new file mode 100644 index 00000000000..cf1171725fe --- /dev/null +++ b/code/modules/industrial_lift/tram/tram_doors.dm @@ -0,0 +1,131 @@ +/obj/machinery/door/window/tram + name = "tram door" + desc = "Probably won't crush you if you try to rush them as they close. But we know you live on that danger, try and beat the tram!" + icon = 'icons/obj/doors/tramdoor.dmi' + req_access = list("tcomms") + var/associated_lift = MAIN_STATION_TRAM + var/datum/weakref/tram_ref + /// Are the doors in a malfunctioning state (dangerous) + var/malfunctioning = FALSE + +/obj/machinery/door/window/tram/left + icon_state = "left" + base_state = "left" + +/obj/machinery/door/window/tram/left/directional/south + plane = WALL_PLANE_UPPER + +/obj/machinery/door/window/tram/right + icon_state = "right" + base_state = "right" + +/obj/machinery/door/window/tram/hilbert + icon = 'icons/obj/lavaland/survival_pod.dmi' + associated_lift = HILBERT_TRAM + icon_state = "windoor" + base_state = "windoor" + +/obj/machinery/door/window/tram/emag_act(mob/living/user) + if(obj_flags & EMAGGED) + return + balloon_alert(user, "disabled motion sensors") + obj_flags |= EMAGGED + +/// Random event called by code\modules\events\tram_malfunction.dm +/// Makes the doors malfunction +/obj/machinery/door/window/tram/proc/start_malfunction() + if(obj_flags & EMAGGED) + return + + malfunctioning = TRUE + process() + +/// Random event called by code\modules\events\tram_malfunction.dm +/// Returns doors to their original status +/obj/machinery/door/window/tram/proc/end_malfunction() + if(obj_flags & EMAGGED) + return + + malfunctioning = FALSE + process() + +/obj/machinery/door/window/tram/proc/cycle_doors(command, forced=FALSE) + if(command == "open" && icon_state == "[base_state]open") + if(!forced && !hasPower()) + return FALSE + return TRUE + if(command == "close" && icon_state == base_state) + return TRUE + switch(command) + if("open") + playsound(src, 'sound/machines/tramopen.ogg', 100, TRUE) + do_animate("opening") + icon_state ="[base_state]open" + sleep(7 DECISECONDS) + set_density(FALSE) + air_update_turf(TRUE, FALSE) + if("close") + if((obj_flags & EMAGGED) || malfunctioning) + flick("[base_state]spark", src) + playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + sleep(6 DECISECONDS) + playsound(src, 'sound/machines/tramclose.ogg', 100, TRUE) + do_animate("closing") + icon_state = base_state + sleep(19 DECISECONDS) + if((obj_flags & EMAGGED) || malfunctioning) + if(malfunctioning && prob(85)) + return + for(var/i in 1 to 3) + for(var/mob/living/crushee in get_turf(src)) + crush() + sleep(2 DECISECONDS) + air_update_turf(TRUE, TRUE) + operating = FALSE + set_density(TRUE) + + update_freelook_sight() + return TRUE + +/obj/machinery/door/window/tram/right/directional/south + plane = WALL_PLANE_UPPER + +/obj/machinery/door/window/tram/proc/find_tram() + for(var/datum/lift_master/lift as anything in GLOB.active_lifts_by_type[TRAM_LIFT_ID]) + if(lift.specific_lift_id == associated_lift) + tram_ref = WEAKREF(lift) + +/obj/machinery/door/window/tram/Initialize(mapload, set_dir, unres_sides) + . = ..() + RemoveElement(/datum/element/atmos_sensitive, mapload) + INVOKE_ASYNC(src, PROC_REF(open)) + GLOB.tram_doors += src + find_tram() + +/obj/machinery/door/window/tram/Destroy() + GLOB.tram_doors -= src + return ..() + +/obj/machinery/door/window/tram/examine(mob/user) + . = ..() + . += span_notice("It has labels indicating that it has an emergency mechanism to open using just your hands in the event of an emergency.") + +/obj/machinery/door/window/tram/try_safety_unlock(mob/user) + if(!hasPower() && density) + balloon_alert(user, "pulling emergency exit...") + if(do_after(user, 7 SECONDS, target = src)) + try_to_crowbar(null, user, TRUE) + return TRUE + +/obj/machinery/door/window/tram/bumpopen(mob/user) + if(operating || !density) + return + var/datum/lift_master/tram/tram_part = tram_ref?.resolve() + add_fingerprint(user) + if(tram_part.travel_distance < XING_DEFAULT_TRAM_LENGTH || tram_part.travel_distance > tram_part.travel_trip_length - XING_DEFAULT_TRAM_LENGTH) + return // we're already animating, don't reset that + cycle_doors(OPEN_DOORS, TRUE) //making a daring exit midtravel? make sure the doors don't go in the wrong state on arrival. + return + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/tram/left, 0) +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/tram/right, 0) diff --git a/code/modules/industrial_lift/tram/tram_lift_master.dm b/code/modules/industrial_lift/tram/tram_lift_master.dm index a2d88283f4c..84f48c659ea 100644 --- a/code/modules/industrial_lift/tram/tram_lift_master.dm +++ b/code/modules/industrial_lift/tram/tram_lift_master.dm @@ -6,6 +6,8 @@ var/travel_direction = NONE ///if we're travelling, how far do we have to go var/travel_distance = 0 + ///how far in total we'll be travelling + var/travel_trip_length = 0 ///multiplier on how much damage/force the tram imparts on things it hits var/collision_lethality = 1 @@ -116,6 +118,7 @@ travel_direction = get_dir(idle_platform, destination_platform) travel_distance = get_dist(idle_platform, destination_platform) + travel_trip_length = travel_distance idle_platform = destination_platform set_travelling(TRUE) set_controls(LIFT_PLATFORM_LOCKED) @@ -127,7 +130,6 @@ /datum/lift_master/tram/proc/dispatch_tram(obj/effect/landmark/tram/destination_platform) SEND_SIGNAL(src, COMSIG_TRAM_TRAVEL, idle_platform, destination_platform) - update_tram_doors(UNLOCK_DOORS) for(var/obj/structure/industrial_lift/tram/tram_part as anything in lift_platforms) //only thing everyone needs to know is the new location. if(tram_part.travelling) //wee woo wee woo there was a double action queued. damn multi tile structs @@ -142,7 +144,6 @@ /datum/lift_master/tram/process(delta_time) if(!travel_distance) - update_tram_doors(LOCK_DOORS) update_tram_doors(OPEN_DOORS) addtimer(CALLBACK(src, PROC_REF(unlock_controls)), 2 SECONDS) return PROCESS_KILL @@ -210,12 +211,6 @@ /datum/lift_master/tram/proc/set_door_state(tram_door, action) switch(action) - if(LOCK_DOORS) - INVOKE_ASYNC(tram_door, TYPE_PROC_REF(/obj/machinery/door/window/tram, lock)) - - if(UNLOCK_DOORS) - INVOKE_ASYNC(tram_door, TYPE_PROC_REF(/obj/machinery/door/window/tram, unlock)) - if(OPEN_DOORS) INVOKE_ASYNC(tram_door, TYPE_PROC_REF(/obj/machinery/door/window/tram, cycle_doors), action) diff --git a/code/modules/industrial_lift/tram/tram_machinery.dm b/code/modules/industrial_lift/tram/tram_machinery.dm index 37ad1ce5198..6d0294e1a00 100644 --- a/code/modules/industrial_lift/tram/tram_machinery.dm +++ b/code/modules/industrial_lift/tram/tram_machinery.dm @@ -718,135 +718,6 @@ GLOBAL_LIST_EMPTY(tram_doors) if(!(machine_stat & (NOPOWER|BROKEN)) && !panel_open) . += emissive_appearance(icon, light_mask, src, alpha = alpha) -/obj/machinery/door/window/tram - name = "tram door" - desc = "Probably won't crush you if you try to rush them as they close. But we know you live on that danger, try and beat the tram!" - icon = 'icons/obj/doors/tramdoor.dmi' - var/associated_lift = MAIN_STATION_TRAM - var/datum/weakref/tram_ref - /// Directions the tram door can be forced open in an emergency - var/space_dir = null - var/malfunctioning = FALSE - -/obj/machinery/door/window/tram/left - icon_state = "left" - base_state = "left" - -/obj/machinery/door/window/tram/left/directional/south - plane = WALL_PLANE_UPPER - -/obj/machinery/door/window/tram/right - icon_state = "right" - base_state = "right" - -/obj/machinery/door/window/tram/hilbert - icon = 'icons/obj/lavaland/survival_pod.dmi' - associated_lift = HILBERT_TRAM - icon_state = "windoor" - base_state = "windoor" - -/obj/machinery/door/window/tram/emag_act(mob/living/user) - if(obj_flags & EMAGGED) - return - balloon_alert(user, "disabled motion sensors") - obj_flags |= EMAGGED - -/obj/machinery/door/window/tram/proc/start_malfunction() - if(obj_flags & EMAGGED) - return - - malfunctioning = TRUE - process() - -/obj/machinery/door/window/tram/proc/end_malfunction() - if(obj_flags & EMAGGED) - return - - malfunctioning = FALSE - process() - -/obj/machinery/door/window/tram/proc/cycle_doors(command, forced=FALSE) - if(command == "open" && icon_state == "[base_state]open") - if(!forced) - if(!hasPower()) - return 0 - return 1 - if(command == "close" && icon_state == base_state) - return 1 - playsound(src, 'sound/machines/windowdoor.ogg', 100, TRUE) - switch(command) - if("open") - do_animate("opening") - icon_state ="[base_state]open" - sleep(7 DECISECONDS) - set_density(FALSE) - air_update_turf(TRUE, FALSE) - if("close") - if(obj_flags & EMAGGED | malfunctioning) - flick("[base_state]spark", src) - playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - sleep(6 DECISECONDS) - do_animate("closing") - icon_state = base_state - sleep(19 DECISECONDS) - if(obj_flags & EMAGGED | malfunctioning) - if(malfunctioning && prob(85)) - return - for(var/i=1 to 3) - for(var/mob/living/crushee in get_turf(src)) - crush() - sleep(2 DECISECONDS) - air_update_turf(TRUE, TRUE) - operating = FALSE - set_density(TRUE) - - update_freelook_sight() - return 1 - -//When the tram is in station, the doors are locked to engineering and command only. -/obj/machinery/door/window/tram/lock() - req_access = list("engineering") - -/obj/machinery/door/window/tram/unlock() - req_access = null - -/obj/machinery/door/window/tram/right/directional/south - plane = WALL_PLANE_UPPER - -/obj/machinery/door/window/tram/proc/find_tram() - for(var/datum/lift_master/lift as anything in GLOB.active_lifts_by_type[TRAM_LIFT_ID]) - if(lift.specific_lift_id == associated_lift) - tram_ref = WEAKREF(lift) - -/obj/machinery/door/window/tram/Initialize(mapload, set_dir, unres_sides) - . = ..() - RemoveElement(/datum/element/atmos_sensitive, mapload) - INVOKE_ASYNC(src, PROC_REF(open)) - GLOB.tram_doors += src - find_tram() - -/obj/machinery/door/window/tram/Destroy() - GLOB.tram_doors -= src - return ..() - -/obj/machinery/door/window/tram/examine(mob/user) - . = ..() - . += span_notice("It has labels indicating that it has an emergency mechanism to open from the inside using just your hands in the event of an emergency.") - -/obj/machinery/door/window/tram/try_safety_unlock(mob/user) - if(!hasPower() && density) - to_chat(user, span_notice("You begin pulling the tram emergency exit handle...")) - if(do_after(user, 15 SECONDS, target = src)) - try_to_crowbar(null, user, TRUE) - return TRUE - -/obj/machinery/door/window/tram/open_and_close() - var/datum/lift_master/tram/tram_part = tram_ref?.resolve() - if(!open()) - return - if(tram_part.travelling) //making a daring exit midtravel? make sure the doors don't go in the wrong state on arrival. - return PROCESS_KILL - /obj/machinery/button/tram name = "tram request" desc = "A button for calling the tram. It has a speakerbox in it with some internals." @@ -870,8 +741,6 @@ GLOBAL_LIST_EMPTY(tram_doors) . += span_notice("There's a small inscription on the button...") . += span_notice("THIS CALLS THE TRAM! IT DOES NOT OPERATE IT! The console on the tram tells it where to go!") -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/tram/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/tram/right, 0) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/tram_controls, 0) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/destination_sign/indicator, 32) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/tram, 32) diff --git a/sound/machines/tramclose.ogg b/sound/machines/tramclose.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d6777a6aab1bcb59593bbd3dc1f432acf156ca7f GIT binary patch literal 33845 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 9113d223e24..7b7160f2251 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3576,6 +3576,7 @@ #include "code\modules\industrial_lift\industrial_lift.dm" #include "code\modules\industrial_lift\lift_indicator.dm" #include "code\modules\industrial_lift\lift_master.dm" +#include "code\modules\industrial_lift\tram\tram_doors.dm" #include "code\modules\industrial_lift\tram\tram_floors.dm" #include "code\modules\industrial_lift\tram\tram_landmark.dm" #include "code\modules\industrial_lift\tram\tram_lift_master.dm"