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)