diff --git a/code/modules/modular_computers/computers/modular_computer/core.dm b/code/modules/modular_computers/computers/modular_computer/core.dm index 62238d84bc..8ba992fec9 100644 --- a/code/modules/modular_computers/computers/modular_computer/core.dm +++ b/code/modules/modular_computers/computers/modular_computer/core.dm @@ -100,7 +100,9 @@ return if(tesla_link) tesla_link.enabled = 1 - var/issynth = issilicon(user) // Robots and AIs get different activation messages. + var/issynth = FALSE + if((user.is_species(SPECIES_IPC) && istype(src, /obj/item/modular_computer/ecs)) || issilicon(user)) + issynth = TRUE // Robots and AIs and IPCs get different activation messages. if(damage > broken_damage) if(issynth) to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.") diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm index a08bff05b3..9bee09aae3 100644 --- a/code/modules/modular_computers/computers/modular_computer/interaction.dm +++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm @@ -31,7 +31,10 @@ if(enabled) bsod = 1 update_icon() - to_chat(usr, "You press a hard-reset button on \the [src]. It displays a brief debug screen before shutting down.") + if((usr.is_species(SPECIES_IPC) && istype(src, /obj/item/modular_computer/ecs))) + to_chat(usr, "You send signal for a hard-reset on \the [src].") + else + to_chat(usr, "You press a hard-reset button on \the [src]. It displays a brief debug screen before shutting down.") shutdown_computer(FALSE) spawn(2 SECONDS) bsod = 0 diff --git a/code/modules/organs/internal/exonet_connection_system.dm b/code/modules/organs/internal/exonet_connection_system.dm index 50ff09e945..9b092ef4e0 100644 --- a/code/modules/organs/internal/exonet_connection_system.dm +++ b/code/modules/organs/internal/exonet_connection_system.dm @@ -23,6 +23,8 @@ return if(owner.stat == DEAD) return + if(!computer) + return if(computer.battery_module.battery.charge < (computer.battery_module.battery.maxcharge)) transfer_charge() @@ -61,6 +63,9 @@ /obj/item/organ/internal/ecs/proc/exonet(mob/user) + if(!computer) + to_chat(user, "You have no exonet connection system installed") + return if(!computer.enabled && computer.screen_on) return computer.turn_on(user) switch(alert("Open Terminal or interact with it?", "Open Terminal or interact with it?", "Interact", "Terminal", "Emergency Shutdown")) diff --git a/infinity/code/modules/mob/living/carbon/human/machine_limb_functions.dm b/infinity/code/modules/mob/living/carbon/human/machine_limb_functions.dm index 8d075c5630..ef23eba26b 100644 --- a/infinity/code/modules/mob/living/carbon/human/machine_limb_functions.dm +++ b/infinity/code/modules/mob/living/carbon/human/machine_limb_functions.dm @@ -184,5 +184,8 @@ if(R.is_stump() || R.is_broken() || !R) return + if(!enter) + to_chat(usr, "You have no exonet connection port") + return else enter.exonet(src)