From a198920436553987bd87560762519455563ca581 Mon Sep 17 00:00:00 2001 From: fira Date: Sat, 14 Oct 2023 18:46:54 +0100 Subject: [PATCH 1/7] Fixes Tape Recorder failing to record when no language is given (#4663) # About the pull request The very same proc has a check on the language existing two line further up, because it's a potential use cases -- but fails to check it again and runtimes further below. # Explain why it's good for the game Bugfix # Testing Photographs and Procedure Untested # Changelog :cl: fix: Fixed Tape Recorder failing to record when no language information is present. /:cl: --- code/game/objects/items/devices/taperecorder.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 01567084d5c7..a4247c90a5b3 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -168,7 +168,7 @@ mytape.timestamp += mytape.used_capacity var/language_known = (M.universal_speak || (speaking && (speaking.name in known_languages))) var/mob_name = language_known ? M.GetVoice() : "Unknown" - var/message = language_known ? msg : speaking.scramble(msg) + var/message = (!speaking || language_known) ? msg : speaking.scramble(msg) mytape.storedinfo += "\[[time2text(mytape.used_capacity,"mm:ss")]\] [mob_name] [verb], \"[italics ? "" : null][message][italics ? "" : null]\"" From 8b326c1dddafeb65653b74e6d0268f0362f76475 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 14 Oct 2023 19:54:39 +0100 Subject: [PATCH 2/7] Automatic changelog for PR #4663 [ci skip] --- html/changelogs/AutoChangeLog-pr-4663.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4663.yml diff --git a/html/changelogs/AutoChangeLog-pr-4663.yml b/html/changelogs/AutoChangeLog-pr-4663.yml new file mode 100644 index 000000000000..0f441fcdccf2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4663.yml @@ -0,0 +1,4 @@ +author: "fira" +delete-after: True +changes: + - bugfix: "Fixed Tape Recorder failing to record when no language information is present." \ No newline at end of file From 61cb689b153ce530ba55f0a964a7f939d82a6309 Mon Sep 17 00:00:00 2001 From: harryob Date: Sat, 14 Oct 2023 18:47:22 +0100 Subject: [PATCH 3/7] mods can restart the server without starting the round (#4665) with the weird issues we've been accumulating lately which require a lobby restart this check is just annoying our mods and tadmins :cl: admin: administrators without R_DEBUG can now restart the server without starting the round /:cl: --- code/modules/admin/tabs/server_tab.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/admin/tabs/server_tab.dm b/code/modules/admin/tabs/server_tab.dm index 6e5ded23206a..84c9426dfa3f 100644 --- a/code/modules/admin/tabs/server_tab.dm +++ b/code/modules/admin/tabs/server_tab.dm @@ -6,10 +6,6 @@ if (!usr.client.admin_holder || !(usr.client.admin_holder.rights & R_MOD)) return - if(!check_rights(R_DEBUG, FALSE) && SSticker.current_state != GAME_STATE_FINISHED) - to_chat(usr, "You can't restart the world until the round has ended!") - return - var/confirm = alert("Restart the game world?", "Restart", "Yes", "Cancel") if(confirm == "Cancel") return From c002a9439466c2b490f4891ddbd186b28c919eb2 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 14 Oct 2023 20:15:33 +0100 Subject: [PATCH 4/7] Automatic changelog for PR #4665 [ci skip] --- html/changelogs/AutoChangeLog-pr-4665.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4665.yml diff --git a/html/changelogs/AutoChangeLog-pr-4665.yml b/html/changelogs/AutoChangeLog-pr-4665.yml new file mode 100644 index 000000000000..894b91f62cda --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4665.yml @@ -0,0 +1,4 @@ +author: "harryob" +delete-after: True +changes: + - admin: "administrators without R_DEBUG can now restart the server without starting the round" \ No newline at end of file From 242a782dce2974516caa56bf638a03f04a4261fc Mon Sep 17 00:00:00 2001 From: Birdtalon Date: Sat, 14 Oct 2023 18:48:06 +0100 Subject: [PATCH 5/7] Adds safety check to bioprinter for resources and already printing (#4669) # About the pull request Fixes #4338 Also adds check to see if we actually have enough metal, all safety checks were done inside the tgui, better to have them here. # Explain why it's good for the game # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: Limb printer can no longer double print or print without metal. /:cl: --- code/game/machinery/bioprinter.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 81d498ba02e2..65f6fe1842f4 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -113,6 +113,10 @@ switch(action) if("print") + if(working) + //If we're already printing something then we're too busy to multi task. + to_chat(usr, SPAN_NOTICE("[src] is busy at the moment.")) + return FALSE var/recipe = params["recipe_id"] var/valid_recipe = FALSE for(var/datum/bioprinter_recipe/product_recipes in products) @@ -124,6 +128,10 @@ message_admins("[key_name(usr)] attempted to print an invalid recipe on \the [src].") return FALSE var/datum/bioprinter_recipe/recipe_datum = new recipe + if(stored_metal < recipe_datum.metal) + to_chat(usr, SPAN_NOTICE("[src] does not have enough stored metal.")) + QDEL_NULL(recipe_datum) + return FALSE stored_metal -= recipe_datum.metal to_chat(usr, SPAN_NOTICE("\The [src] is now printing the selected organ. Please hold.")) working = TRUE @@ -146,6 +154,8 @@ /obj/structure/machinery/bioprinter/proc/print_limb(limb_path) if(inoperable()) + //In case we lose power or anything between the print and the callback we don't want to permenantly break the printer + working = FALSE return new limb_path(get_turf(src)) working = FALSE From cf037cc34df2eb6812de4ced3a46158f46652b2e Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Sat, 14 Oct 2023 20:30:16 +0100 Subject: [PATCH 6/7] Automatic changelog for PR #4669 [ci skip] --- html/changelogs/AutoChangeLog-pr-4669.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4669.yml diff --git a/html/changelogs/AutoChangeLog-pr-4669.yml b/html/changelogs/AutoChangeLog-pr-4669.yml new file mode 100644 index 000000000000..008ed56b3b86 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4669.yml @@ -0,0 +1,4 @@ +author: "Birdtalon" +delete-after: True +changes: + - bugfix: "Limb printer can no longer double print or print without metal." \ No newline at end of file From 8100348430793121b90a8be369233d063d2f30ef Mon Sep 17 00:00:00 2001 From: fira Date: Sat, 14 Oct 2023 18:48:31 +0100 Subject: [PATCH 7/7] Fixes Disconnected Observers runtiming HUD (#4667) # About the pull request A simple runtime job... Login() to an observed mob with a disconnected observer will crash the inventory HUD proc because it has no client. # Explain why it's good for the game Less runtimes # Testing Photographs and Procedure Tested with dual client and breakpoints # Changelog Internal change only --- code/_onclick/hud/human.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index d514bdedfcdf..37a858d76699 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -116,6 +116,10 @@ return var/mob/living/carbon/human/H = mymob var/mob/screenmob = viewer || H + + if(!screenmob?.client) + return + if(!gear.len) inventory_shown = FALSE return //species without inv slots don't show items. @@ -181,6 +185,9 @@ var/mob/living/carbon/human/H = mymob var/mob/screenmob = viewer || H + if(!screenmob?.client) + return + if(H.hud_used) if(H.hud_used.hud_shown) if(H.s_store)