start of stealthmode

This commit is contained in:
Seris02
2020-01-20 09:51:17 +08:00
parent bb6fac4390
commit 8da447c678
@@ -8,6 +8,8 @@
var/toggled = FALSE
icon_state = "hijack"
var/eye_color
var/stealthmode = FALSE
var/stealthcooldown = 0
/obj/item/implant/hijack/activate()
. = ..()
@@ -16,20 +18,26 @@
imp_in.click_intercept = src
imp_in.siliconaccesstoggle = TRUE
to_chat(imp_in,"<span class='notice'>You turn on [src]'s silicon interactions.</span>")
if (ishuman(imp_in))
var/mob/living/carbon/human/H = imp_in
H.eye_color = "ff0"
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
H.update_body()
if (ishuman(imp_in) && !stealthmode)
toggle_eyes(TRUE)
else
imp_in.click_intercept = null
imp_in.siliconaccesstoggle = FALSE
to_chat(imp_in,"<span class='notice'>You turn off [src]'s silicon interactions.</span>")
if (ishuman(imp_in))
var/mob/living/carbon/human/H = imp_in
H.eye_color = eye_color
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
H.update_body()
if (ishuman(imp_in) && !stealthmode)
toggle_eyes(FALSE)
/obj/item/implant/hijack/proc/toggle_eyes(on)
if (!on)
var/mob/living/carbon/human/H = imp_in
H.eye_color = eye_color
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
H.update_body()
else
var/mob/living/carbon/human/H = imp_in
H.eye_color = "ff0"
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
H.update_body()
/obj/item/implant/hijack/implant(mob/living/target, mob/user, silent = FALSE)
if(..())
@@ -50,6 +58,8 @@
/obj/item/implant/hijack/proc/InterceptClickOn(mob/living/user,params,atom/object)
if (user.get_active_held_item() || isitem(object) || !toggled || user.incapacitated())
return
if (stealthmode == FALSE && istype(object,/obj/machinery/power/apc))
hijack_remotely()
var/area/a = get_area(object)
if (!hasSiliconAccessInArea(imp_in,a))
return
@@ -69,3 +79,14 @@
return TRUE
object.attack_ai(imp_in)
return TRUE
/obj/item/implant/hijack/proc/hijack_remotely(/obj/machinery/power/apc/apc)
if (apc.hijacker)
return //can't remotely hijack an already hijacked APC
if (do_after(imp_in,25 SECONDS,target=apc))
apc.hijacker = imp_in
imp_in.toggleSiliconAccessArea(apc.area)
apc.update_icon()
cooldown = world.time + 2 MINUTES
toggle_eyes(TRUE)
stealthmode = FALSE