From 69648b4a67a85326a375e6eec80f5f35b6932a83 Mon Sep 17 00:00:00 2001 From: VMSolidus Date: Thu, 5 Feb 2026 05:24:00 -0500 Subject: [PATCH] Kill Ancient Goto Statements (#21781) I had a brief discussion about Goto statements, then on a whim checked to see if we had any. We had some Gotos that are legally old enough to apply for a learner's permit in my state. I was bored so I decided to put them out of their misery. --- code/game/dna/dna_modifier.dm | 6 ----- code/game/machinery/body_scanner.dm | 2 -- code/game/machinery/iv_drip.dm | 21 ++++++++---------- .../game/objects/items/devices/radio/radio.dm | 1 - .../structures/stool_bed_chair_nest/bed.dm | 22 +++++++++---------- html/changelogs/hellfirejag - kill gotos.yml | 4 ++++ 6 files changed, 23 insertions(+), 33 deletions(-) create mode 100644 html/changelogs/hellfirejag - kill gotos.yml diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index d20dfd30617..c6511f9c6a7 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -207,8 +207,6 @@ for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) ex_act(severity) - //Foreach goto(35) - //SN src = null qdel(src) return if(2.0) @@ -216,8 +214,6 @@ for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) ex_act(severity) - //Foreach goto(108) - //SN src = null qdel(src) return if(3.0) @@ -225,8 +221,6 @@ for(var/atom/movable/A as mob|obj in src) A.forceMove(src.loc) ex_act(severity) - //Foreach goto(181) - //SN src = null qdel(src) return return diff --git a/code/game/machinery/body_scanner.dm b/code/game/machinery/body_scanner.dm index 2a30c6922f4..56ed0f32980 100644 --- a/code/game/machinery/body_scanner.dm +++ b/code/game/machinery/body_scanner.dm @@ -167,9 +167,7 @@ occupant = M update_use_power(POWER_USE_ACTIVE) update_icon() - //Foreach goto(154) add_fingerprint(user) - //G = null qdel(G) return TRUE diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 290094a690a..29eec603323 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -716,18 +716,15 @@ if(use_check_and_message(usr)) return - set_rate: - var/amount = tgui_input_number(usr, "Set the IV drip's transfer rate.", "IV Drip", transfer_amount, transfer_limit, 0.001, round_value = FALSE) - if(!amount) - return - if ((0.001 > amount || amount > transfer_limit) && amount != 0) - to_chat(usr, SPAN_WARNING("Entered value must be between 0.001 and [transfer_limit].")) - goto set_rate - if (transfer_amount == 0) - transfer_amount = REM - return - transfer_amount = amount - to_chat(usr, SPAN_NOTICE("Transfer rate set to [src.transfer_amount] u/sec.")) + + transfer_amount = tgui_input_number( \ + usr, \ + "Set the IV drip's transfer rate between 0.001 and [transfer_limit].", \ + "IV Drip", \ + transfer_amount, \ + transfer_limit, 0.001, \ + round_value = FALSE) + to_chat(usr, SPAN_NOTICE("Transfer rate set to [src.transfer_amount] u/sec.")) /obj/machinery/iv_drip/RefreshParts() ..() diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index ef85c800bc6..80aba18fdcb 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -556,7 +556,6 @@ var/global/list/default_interrogation_channels = list( else user.show_message(SPAN_NOTICE("\The [src] can no longer be modified or attached!")) updateDialog() - //Foreach goto(83) add_fingerprint(user) return else return diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index dc731a02a07..90461b050f2 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -609,18 +609,16 @@ if(use_check_and_message(usr)) return - set_rate: - var/amount = tgui_input_number(usr, "Set the IV drip's transfer rate.", "IV Drip", iv_transfer_rate, iv_transfer_rate_upperlimit, iv_transfer_rate_lowerlimit, round_value = FALSE) - if(!amount) - return - if ((0.001 > amount || amount > 4) && amount != 0) - to_chat(usr, SPAN_WARNING("Entered value must be between 0.001 and 4.")) - goto set_rate - if (iv_transfer_rate == 0) - iv_transfer_rate = REM - return - iv_transfer_rate = amount - to_chat(usr, SPAN_NOTICE("Transfer rate set to [src.iv_transfer_rate] u/sec.")) + + iv_transfer_rate = tgui_input_number( \ + usr, \ + "Set the IV drip's transfer rate between [iv_transfer_rate_lowerlimit] and [iv_transfer_rate_upperlimit].", \ + "IV Drip", \ + iv_transfer_rate, \ + iv_transfer_rate_upperlimit, \ + iv_transfer_rate_lowerlimit, \ + round_value = FALSE) + to_chat(usr, SPAN_NOTICE("Transfer rate set to [src.iv_transfer_rate] u/sec.")) /obj/structure/bed/roller/Move() . = ..() diff --git a/html/changelogs/hellfirejag - kill gotos.yml b/html/changelogs/hellfirejag - kill gotos.yml new file mode 100644 index 00000000000..8bb916c86fa --- /dev/null +++ b/html/changelogs/hellfirejag - kill gotos.yml @@ -0,0 +1,4 @@ +author: Hellfirejag +delete-after: True +changes: + - refactor: "Killed the last few ancient Goto statements."