From a9d1598e6c2645be013a5fab5a79d6b667acb396 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Sat, 9 Dec 2023 15:08:35 +0100 Subject: [PATCH 1/2] improved robot HUD handling --- code/_onclick/hud/robot.dm | 6 +++--- code/modules/admin/verbs/modify_robot.dm | 4 +++- code/modules/mob/living/silicon/robot/robot.dm | 6 +++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 114f1786534..c494fd685e2 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -217,13 +217,13 @@ var/obj/screen/robot_inventory update_robot_modules_display() -/datum/hud/proc/update_robot_modules_display() +/datum/hud/proc/update_robot_modules_display(var/reset = FALSE) if(!isrobot(mymob)) return var/mob/living/silicon/robot/r = mymob - if(r.shown_robot_modules) + if(r.shown_robot_modules && !reset) //Modules display is shown //r.client.screen += robot_inventory //"store" icon @@ -292,4 +292,4 @@ var/obj/screen/robot_inventory return sprite_datum.sprite_hud_icon_state if(modtype) return lowertext(modtype) - return "nomod" \ No newline at end of file + return "nomod" diff --git a/code/modules/admin/verbs/modify_robot.dm b/code/modules/admin/verbs/modify_robot.dm index 2562d891b38..2bae8348565 100644 --- a/code/modules/admin/verbs/modify_robot.dm +++ b/code/modules/admin/verbs/modify_robot.dm @@ -6,7 +6,7 @@ if(!check_rights(R_ADMIN)) return - if(!istype(target)) + if(!istype(target) || !target.module) return if(!target.module.modules) @@ -45,6 +45,7 @@ robot.module.contents.Remove(add_item) target.module.modules.Add(add_item) target.module.contents.Add(add_item) + target.hud_used.update_robot_modules_display() to_chat(usr, "You added \"[add_item]\" to [target].") if(istype(add_item, /obj/item/stack/)) var/obj/item/stack/item_with_synth = add_item @@ -94,6 +95,7 @@ if(!istype(selected_module_module, /obj/item/)) break to_chat(usr, "You removed \"[selected_module_module]\" from [target]") + target.hud_used.update_robot_modules_display(TRUE) target.module.emag.Remove(selected_module_module) target.module.modules.Remove(selected_module_module) target.module.contents.Remove(selected_module_module) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 438bc52a27c..8c235d87ab8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -341,6 +341,7 @@ hands.icon_state = get_hud_module_icon() feedback_inc("cyborg_[lowertext(modtype)]",1) updatename() + hud_used.update_robot_modules_display() notify_ai(ROBOT_NOTIFICATION_NEW_MODULE, module.name) /mob/living/silicon/robot/proc/update_braintype() @@ -767,6 +768,7 @@ to_chat(usr, "You apply the upgrade to [src]!") usr.drop_item() U.loc = src + hud_used.update_robot_modules_display() else to_chat(usr, "Upgrade error!") @@ -804,12 +806,13 @@ /mob/living/silicon/robot/proc/module_reset() transform_with_anim() //VOREStation edit: sprite animation uneq_all() + hud_used.update_robot_modules_display(TRUE) modtype = initial(modtype) hands.icon_state = get_hud_module_icon() notify_ai(ROBOT_NOTIFICATION_MODULE_RESET, module.name) module.Reset(src) - qdel(module) + module.Destroy() module = null updatename("Default") @@ -1374,6 +1377,7 @@ laws.show_laws(src) to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and [TU.his] commands.") update_icon() + hud_used.update_robot_modules_display() else to_chat(user, "You fail to hack [src]'s interface.") to_chat(src, "Hack attempt detected.") From ac7f72227d8295060995f56f71ef92774754fe27 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Sat, 9 Dec 2023 15:44:08 +0100 Subject: [PATCH 2/2] we also unequipp all on admin handling. --- code/modules/admin/verbs/modify_robot.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/admin/verbs/modify_robot.dm b/code/modules/admin/verbs/modify_robot.dm index 2bae8348565..9413353cf7f 100644 --- a/code/modules/admin/verbs/modify_robot.dm +++ b/code/modules/admin/verbs/modify_robot.dm @@ -95,6 +95,7 @@ if(!istype(selected_module_module, /obj/item/)) break to_chat(usr, "You removed \"[selected_module_module]\" from [target]") + target.uneq_all() target.hud_used.update_robot_modules_display(TRUE) target.module.emag.Remove(selected_module_module) target.module.modules.Remove(selected_module_module)