From 3d735f313e1fabcd466da46c7b8828ace2806902 Mon Sep 17 00:00:00 2001 From: Spookerton <918997+Spookerton@users.noreply.github.com> Date: Sat, 23 Dec 2023 16:18:34 +0300 Subject: [PATCH] [MIRROR] The OFD can't launch closets --- code/__defines/overmap.dm | 1 - .../overmap/disperser/disperser_console.dm | 18 ++----- .../overmap/disperser/disperser_fire.dm | 49 ++----------------- maps/torch/torch3_deck3.dmm | 11 +---- 4 files changed, 9 insertions(+), 70 deletions(-) diff --git a/code/__defines/overmap.dm b/code/__defines/overmap.dm index a9eee83eb376f..7356c7b0ddaa2 100644 --- a/code/__defines/overmap.dm +++ b/code/__defines/overmap.dm @@ -11,4 +11,3 @@ #define OVERMAP_WEAKNESS_EMP 2 #define OVERMAP_WEAKNESS_MINING 4 #define OVERMAP_WEAKNESS_EXPLOSIVE 8 -#define OVERMAP_WEAKNESS_DROPPOD 16 \ No newline at end of file diff --git a/code/modules/overmap/disperser/disperser_console.dm b/code/modules/overmap/disperser/disperser_console.dm index 3eeaf565f0601..5d083353f9651 100644 --- a/code/modules/overmap/disperser/disperser_console.dm +++ b/code/modules/overmap/disperser/disperser_console.dm @@ -141,21 +141,13 @@ return get_next_shot_seconds() * 1000 / coolinterval /obj/machinery/computer/ship/disperser/proc/get_charge_type() - var/obj/structure/ship_munition/disperser_charge/B = locate() in get_turf(back) - if(B) - return B.chargetype - var/obj/structure/closet/C = locate() in get_turf(back) - if(C) - return OVERMAP_WEAKNESS_DROPPOD + var/obj/structure/ship_munition/disperser_charge/charge = get_charge() + if (charge) + return charge.chargetype return OVERMAP_WEAKNESS_NONE /obj/machinery/computer/ship/disperser/proc/get_charge() - var/obj/structure/ship_munition/disperser_charge/B = locate() in get_turf(back) - if(B) - return B - - var/obj/structure/closet/C = locate() in get_turf(back) - return C + return locate(/obj/structure/ship_munition/disperser_charge) in get_turf(back) /obj/machinery/computer/ship/disperser/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = TRUE) if(!linked) @@ -184,8 +176,6 @@ switch(get_charge_type()) if(OVERMAP_WEAKNESS_NONE) charge = "[SPAN_BOLD("ERROR")]: No valid charge detected." - if(OVERMAP_WEAKNESS_DROPPOD) - charge = "HERMES" else var/obj/structure/ship_munition/disperser_charge/B = get_charge() charge = B.chargedesc diff --git a/code/modules/overmap/disperser/disperser_fire.dm b/code/modules/overmap/disperser/disperser_fire.dm index aae3e6828506c..606060f8cbe0b 100644 --- a/code/modules/overmap/disperser/disperser_fire.dm +++ b/code/modules/overmap/disperser/disperser_fire.dm @@ -75,19 +75,12 @@ handle_beam(start, direction) handle_overbeam() - if (chargetype != OVERMAP_WEAKNESS_DROPPOD) - qdel(atomcharge) + qdel(atomcharge) if(prob(cool_failchance())) explosion(middle, rand(6, 9)) next_shot = coolinterval + world.time - if(prob(100 - accuracy)) - if(chargetype == OVERMAP_WEAKNESS_DROPPOD) - // Remove it in case it's a droppod. - atomcharge.forceMove(locate(rand(1,world.maxx),rand(1,world.maxy), GLOB.using_map.get_empty_zlevel())) - return TRUE - reset_calibration() var/turf/overmaptarget = get_step(linked, overmapdir) @@ -161,44 +154,8 @@ targetturf = areaturf log_and_message_admins("Disperser beam hit sector at [targetturf.loc.name].", location=targetturf) - if(chargetype == OVERMAP_WEAKNESS_DROPPOD) - if(targetturf.density) - targetturf.ex_act(EX_ACT_DEVASTATING) - for(var/atom/A in targetturf) - A.ex_act(EX_ACT_LIGHT) - - for(var/mob/M in GLOB.player_list) - if(!AreConnectedZLevels(get_z(M), get_z(targetturf))) - continue - shake_camera(M, 25) - if(!isdeaf(M)) - sound_to(M, sound('sound/effects/explosionfar.ogg', volume=10)) - - if(M.can_be_floored()) - var/shouldstumble = FALSE - var/sincelastmove = world.time - M.l_move_time - - if(sincelastmove > QUICK_TO_STANDING SECONDS) - shouldstumble = prob(STANDING_FALL_PROB) - else if(sincelastmove > DELIBERATE_TO_STANDING) - shouldstumble = MOVING_QUICKLY(M) ? prob(RUNNING_FALL_PROB) : prob(STANDING_FALL_PROB) - else - shouldstumble = MOVING_QUICKLY(M) ? prob(RUNNING_FALL_PROB) : prob(WALKING_FALL_PROB) - - if(shouldstumble) - to_chat(M, SPAN_DANGER("You stumble onto the floor from the shaking!")) - M.AdjustStunned(2) - M.AdjustWeakened(2) - - charge.forceMove(targetturf) - // The disperser is not a taxi - for(var/mob/living/L in charge) - to_chat(L, SPAN_DANGER("Your body shakes violently, immense and agonising forces tearing it apart.")) - L.forceMove(targetturf) - L.ex_act(EX_ACT_DEVASTATING) - else - charge.fire(targetturf, strength, range) - qdel(charge) + charge.fire(targetturf, strength, range) + qdel(charge) /obj/machinery/computer/ship/disperser/proc/handle_beam(turf/start, direction) set waitfor = FALSE diff --git a/maps/torch/torch3_deck3.dmm b/maps/torch/torch3_deck3.dmm index 145543646e6aa..d671d324adb1d 100644 --- a/maps/torch/torch3_deck3.dmm +++ b/maps/torch/torch3_deck3.dmm @@ -17343,13 +17343,6 @@ }, /turf/simulated/floor/tiled, /area/hallway/primary/thirddeck/fore) -"Rl" = ( -/obj/floor_decal/industrial/hatch, -/obj/structure/closet/crate{ - name = "hermes crate" - }, -/turf/simulated/floor/tiled/dark, -/area/command/disperser) "Rm" = ( /obj/structure/cable/green{ d1 = 4; @@ -42765,11 +42758,11 @@ aI aa Qq Qq -Rl Pp Pp Pp -Rl +Pp +Pp Qq Qq aa