From 4c1840783103f6099cced8cc6a316e28a64c56fc Mon Sep 17 00:00:00 2001 From: Jaraci <57604458+Jaraci@users.noreply.github.com> Date: Mon, 10 Aug 2026 01:36:56 +0100 Subject: [PATCH] Flags/banners with custom names and descriptions now keep these when hung up/deployed (#23012) See title. Players have been able to assign a custom description to the loadout flag/banner selection since forever, but it never persisted over to actual 'hung up' flag object and was essentially erased if ever used. image --------- Co-authored-by: Jaraci --- code/game/objects/structures/flags_banners.dm | 16 ++++++++++++++-- html/changelogs/omi-flagstuff.yml | 13 +++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/omi-flagstuff.yml diff --git a/code/game/objects/structures/flags_banners.dm b/code/game/objects/structures/flags_banners.dm index 4edb96b8a85..84e94e51562 100644 --- a/code/game/objects/structures/flags_banners.dm +++ b/code/game/objects/structures/flags_banners.dm @@ -171,7 +171,12 @@ if(isfloor(user.loc)) user.visible_message(SPAN_NOTICE("\The [user] deploys \the [src] on \the [get_turf(loc)]."), SPAN_NOTICE("You deploy \the [src] on \the [get_turf(loc)].")) user.drop_from_inventory(src) - new flag_structure(user.loc, user.dir, deploy = TRUE, item_flag_path = flag_path) + var/obj/structure/sign/flag/F = new flag_structure(user.loc, user.dir, deploy = TRUE, item_flag_path = flag_path) + F.name = src.name + F.desc = src.desc + if(F.linked_flag) + F.linked_flag.name = src.name + F.linked_flag.desc = src.desc qdel(src) /obj/item/flag/afterattack(var/atom/A, var/mob/user, var/adjacent) @@ -192,7 +197,12 @@ user.visible_message(SPAN_NOTICE("\The [user] fastens \the [src] to \the [A]."), SPAN_NOTICE("You fasten \the [src] to \the [A].")) user.drop_from_inventory(src) - new flag_structure(user.loc, placement_dir, deploy = TRUE, item_flag_path = flag_path) + var/obj/structure/sign/flag/F = new flag_structure(user.loc, user.dir, deploy = TRUE, item_flag_path = flag_path) + F.name = src.name + F.desc = src.desc + if(F.linked_flag) + F.linked_flag.name = src.name + F.linked_flag.desc = src.desc qdel(src) @@ -222,6 +232,8 @@ else user.visible_message(SPAN_NOTICE("\The [user] unfastens \the [src] and folds it back up."), SPAN_NOTICE("You unfasten \the [src] and fold it back up.")) var/obj/item/flag/F = new flag_item(get_turf(user)) + F.name = src.name + F.desc = src.desc user.put_in_hands(F) else user.visible_message(SPAN_NOTICE("\The [user] unfastens the tattered remnants of \the [src]."), SPAN_NOTICE("You unfasten the tattered remains of \the [src].")) diff --git a/html/changelogs/omi-flagstuff.yml b/html/changelogs/omi-flagstuff.yml new file mode 100644 index 00000000000..730115e2916 --- /dev/null +++ b/html/changelogs/omi-flagstuff.yml @@ -0,0 +1,13 @@ +# Your name. +author: Omicega + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - qol: "Flags and banners with custom names and descriptions now keep these custom names and descriptions when deployed."