diff --git a/code/datums/action.dm b/code/datums/action.dm
index 8c97a38fe6..54c719a6d5 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -604,8 +604,8 @@
if (apc)
apc.set_hijacked_lighting()
apc.update_icon()
- H.stealthcooldown = world.time + 30 SECONDS
- H.toggle_eyes(H.toggled && !H.stealthmode)
+ H.stealthcooldown = world.time + 15 SECONDS
+ H.toggle_eyes()
to_chat(owner,"You toggle the hijack implant's stealthmode [H.stealthmode ? "on" : "off"].")
/datum/action/item_action/flash
diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm
index 952f5f82e2..f40d5a4f9b 100644
--- a/code/game/objects/items/implants/implant_hijack.dm
+++ b/code/game/objects/items/implants/implant_hijack.dm
@@ -1,4 +1,4 @@
-#define HIJACK_APC_MAX_AMOUNT 4
+#define HIJACK_APC_MAX_AMOUNT 5
/obj/item/implant/hijack
name = "hijack implant"
@@ -17,11 +17,12 @@
imp_in.click_intercept = toggled ? src : null
imp_in.siliconaccesstoggle = toggled ? TRUE : FALSE
to_chat(imp_in,"You turn [toggled ? "on" : "off"] [src]'s silicon interactions.")
- toggle_eyes(toggled && !stealthmode)
+ toggle_eyes()
-/obj/item/implant/hijack/proc/toggle_eyes(on)
+/obj/item/implant/hijack/proc/toggle_eyes()
if (!ishuman(imp_in))
return
+ var/on = toggled && !stealthmode
var/mob/living/carbon/human/H = imp_in
H.eye_color = on ? "ff0" : eye_color
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
@@ -51,7 +52,7 @@
return TRUE
/obj/item/implant/hijack/proc/InterceptClickOn(mob/living/user,params,atom/object)
- if (user.get_active_held_item() || isitem(object) || !toggled || user.incapacitated())
+ if (isitem(object) || !toggled || user.incapacitated())
return
if (stealthmode == FALSE && istype(object,/obj/machinery/power/apc) && !user.CanReach(object))
if (hijack_remotely(object))
@@ -74,6 +75,8 @@
if (modifiers["alt"])
object.AIAltClick(imp_in)
return TRUE
+ if (user.get_active_held_item())
+ return
object.attack_ai(imp_in)
return TRUE
@@ -97,7 +100,7 @@
imp_in.toggleSiliconAccessArea(apc.area)
apc.update_icon()
stealthcooldown = world.time + 3 MINUTES
- toggle_eyes(TRUE)
+ toggle_eyes()
else
to_chat(imp_in, "Aborting.")
imp_in.light_power = 0
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index d7536aaa25..8ba866ab85 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -99,8 +99,10 @@
. += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes."
else if(eye_color == BLOODCULT_EYE && iscultist(src) && HAS_TRAIT(src, TRAIT_CULT_EYES))
. += "[t_His] eyes are glowing an unnatural red!"
- else if(eye_color == "ff0" && HAS_TRAIT(src, TRAIT_HIJACKER))
- . += "[t_His] eyes are flickering a bright yellow!"
+ else if(HAS_TRAIT(src, TRAIT_HIJACKER))
+ var/obj/item/implant/hijack/H = user.getImplant(/obj/item/implant/hijack)
+ if (H && !H.stealthmode)
+ . += "[t_His] eyes are flickering a bright yellow!"
//ears
if(ears && !(SLOT_EARS in obscured))
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 26f4b4d164..81362a92ab 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -410,7 +410,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return TRUE
/atom/proc/hasSiliconAccessInArea(mob/user)
- return user && (issilicon(user) || (user.siliconaccesstoggle && (get_base_area(src) in user.siliconaccessareas)))
+ return user && (issilicon(user) || (user.siliconaccesstoggle && (get_area(src) in user.siliconaccessareas)))
/mob/proc/toggleSiliconAccessArea(area/area)
if (area in siliconaccessareas)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index f686fa2b92..d07cc605d3 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -863,7 +863,7 @@
/obj/machinery/power/apc/ui_data(mob/user)
var/obj/item/implant/hijack/H = user.getImplant(/obj/item/implant/hijack)
var/abilitiesavail = FALSE
- if (H && H.stealthmode)
+ if (H && !H.stealthmode)
abilitiesavail = TRUE
var/list/data = list(
"locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user),