diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index c9d644cb814..025f5fa5e88 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -42,8 +42,8 @@ return OXYLOSS//theres a reason it wasn't recommended by doctors /obj/item/multitool/proc/set_buffer(datum/buffer) - if(buffer) - UnregisterSignal(buffer, COMSIG_QDELETING) + if(src.buffer) + UnregisterSignal(src.buffer, COMSIG_QDELETING) if(QDELETED(buffer)) return src.buffer = buffer diff --git a/code/modules/mod/mod_link.dm b/code/modules/mod/mod_link.dm index 6c462718b3e..42d2f664a82 100644 --- a/code/modules/mod/mod_link.dm +++ b/code/modules/mod/mod_link.dm @@ -102,7 +102,7 @@ mod_link.frequency = tool_frequency /obj/item/mod/control/proc/can_call() - return wearer && wearer.stat < DEAD + return get_charge() && wearer && wearer.stat < DEAD /obj/item/mod/control/proc/make_link_visual() return make_link_visual_generic(mod_link, PROC_REF(on_overlay_change)) @@ -132,7 +132,7 @@ /obj/item/mod/control/proc/on_wearer_set_dir(atom/source, dir, newdir) SIGNAL_HANDLER - on_user_set_dir_generic(mod_link, newdir) + on_user_set_dir_generic(mod_link, newdir || SOUTH) /obj/item/clothing/neck/link_scryer name = "\improper MODlink scryer" @@ -144,7 +144,7 @@ /// The MODlink datum we operate. var/datum/mod_link/mod_link /// Initial frequency of the MODlink. - var/starting_frequency = "NT" + var/starting_frequency /// An additional name tag for the scryer, seen as "MODlink scryer - [label]" var/label @@ -173,7 +173,7 @@ . += span_notice("The battery charge reads [cell.percent()]%. Right-click with an empty hand to remove it.") else . += span_notice("It is missing a battery, one can be installed by clicking with a power cell on it.") - . += span_notice("The MODlink ID is [mod_link.id], frequency is [mod_link.frequency]. Right-click with multitool to copy/imprint frequency.") + . += span_notice("The MODlink ID is [mod_link.id], frequency is [mod_link.frequency || "unset"]. Right-click with multitool to copy/imprint frequency.") . += span_notice("Use in hand to set name.") /obj/item/clothing/neck/link_scryer/equipped(mob/living/user, slot) @@ -260,7 +260,7 @@ /obj/item/clothing/neck/link_scryer/proc/can_call() var/mob/living/user = loc - return istype(user) && cell.charge && user.stat < DEAD + return istype(user) && cell?.charge && user.stat < DEAD /obj/item/clothing/neck/link_scryer/proc/make_link_visual() var/mob/living/user = mod_link.get_user_callback.Invoke() @@ -296,7 +296,10 @@ /obj/item/clothing/neck/link_scryer/proc/on_user_set_dir(atom/source, dir, newdir) SIGNAL_HANDLER - on_user_set_dir_generic(mod_link, newdir) + on_user_set_dir_generic(mod_link, newdir || SOUTH) + +/obj/item/clothing/neck/link_scryer/loaded + starting_frequency = "NT" /obj/item/clothing/neck/link_scryer/loaded/Initialize(mapload) . = ..() diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm index 06f89ddb03c..eaf4b75d7ee 100644 --- a/code/modules/mod/mod_ui.dm +++ b/code/modules/mod/mod_ui.dm @@ -16,6 +16,7 @@ "has_pai" = ispAI(ai_assistant), "is_ai" = ai_assistant && ai_assistant == user, "link_id" = mod_link.id, + "link_freq" = mod_link.frequency, "link_call" = mod_link.get_other()?.id, // Wires "open" = open, diff --git a/icons/mob/actions/actions_mod.dmi b/icons/mob/actions/actions_mod.dmi index 84fcbc00dbb..f788de20194 100644 Binary files a/icons/mob/actions/actions_mod.dmi and b/icons/mob/actions/actions_mod.dmi differ diff --git a/tgui/packages/tgui/interfaces/MODsuit.tsx b/tgui/packages/tgui/interfaces/MODsuit.tsx index 593dc109bf8..53928a5efa0 100644 --- a/tgui/packages/tgui/interfaces/MODsuit.tsx +++ b/tgui/packages/tgui/interfaces/MODsuit.tsx @@ -36,6 +36,7 @@ type SuitStatus = { has_pai: boolean; is_ai: boolean; link_id: string; + link_freq: string; link_call: string; }; @@ -320,6 +321,7 @@ const SuitStatusSection = (props, context) => { has_pai, is_ai, link_id, + link_freq, link_call, } = data.suit_status; const { display_time, shift_time, shift_id } = data.module_custom_status; @@ -385,11 +387,14 @@ const SuitStatusSection = (props, context) => {