diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm
index 5dc968b388d..f01e08f9a78 100644
--- a/code/game/atom_procs.dm
+++ b/code/game/atom_procs.dm
@@ -174,13 +174,17 @@
return DblClick()
/atom/DblClick() //TODO: DEFERRED: REWRITE
+// world << "checking if this shit gets called at all"
if (world.time <= usr:lastDblClick+2)
- //world << "BLOCKED atom.DblClick() on [src] by [usr] : src.type is [src.type]"
+// world << "BLOCKED atom.DblClick() on [src] by [usr] : src.type is [src.type]"
return
else
- //world << "atom.DblClick() on [src] by [usr] : src.type is [src.type]"
+// world << "atom.DblClick() on [src] by [usr] : src.type is [src.type]"
usr:lastDblClick = world.time
-
+ if (istype(usr, /mob/living/silicon/ai))
+ var/mob/living/silicon/ai/ai = usr
+ if (ai.control_disabled)
+ return
..()
@@ -205,7 +209,12 @@
return
if ((!( src in usr.contents ) && (((!( isturf(src) ) && (!( isturf(src.loc) ) && (src.loc && !( isturf(src.loc.loc) )))) || !( isturf(usr.loc) )) && (src.loc != usr.loc && (!( istype(src, /obj/screen) ) && !( usr.contents.Find(src.loc) ))))))
- return
+ if (istype(usr, /mob/living/silicon/ai))
+ var/mob/living/silicon/ai/ai = usr
+ if (ai.control_disabled)
+ return
+ else
+ return
var/t5 = in_range(src, usr) || src.loc == usr
@@ -218,6 +227,7 @@
if (istype(src, /datum/organ) && src in usr.contents)
return
+// world << "according to dblclick(), t5 is [t5]"
if (((t5 || (W && (W.flags & 16))) && !( istype(src, /obj/screen) )))
if (usr.next_move < world.time)
usr.prev_move = usr.next_move
diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm
index 259290336d9..aee512563b3 100644
--- a/code/game/gamemodes/malfunction/malfunction.dm
+++ b/code/game/gamemodes/malfunction/malfunction.dm
@@ -76,8 +76,8 @@
/datum/game_mode/malfunction/process()
AI_win_timeleft--
- if(AI_win_timeleft == 1200) // Was 1790
- malf_mode_declared = 1
+// if(AI_win_timeleft == 1200) // Was 1790
+// malf_mode_declared = 1
check_win()
/datum/game_mode/malfunction/check_win()
diff --git a/code/game/objects/devices/aicard.dm b/code/game/objects/devices/aicard.dm
index 5a91f323b70..5f6dfa6a01e 100644
--- a/code/game/objects/devices/aicard.dm
+++ b/code/game/objects/devices/aicard.dm
@@ -40,6 +40,7 @@
M.icon_state = "ai"
src.icon_state = "aicard"
src.name = "inteliCard"
+ src.overlays = null
return
else
if (M.real_name != "Inactive AI")
@@ -92,6 +93,16 @@
src.attack_self(usr)
sleep(10)
+ if (href_list["wireless"])
+ for(var/mob/living/silicon/ai/A in src)
+ A.control_disabled = !A.control_disabled
+ A << "The intelicard's wireless port has been [A.control_disabled ? "disabled" : "enabled"]!"
+ if (A.control_disabled)
+ src.overlays -= image('pda.dmi', "aicard-on")
+ else
+ src.overlays += image('pda.dmi', "aicard-on")
+ src.attack_self(usr)
+
attack_self(mob/user)
user.machine = src
@@ -121,7 +132,7 @@
if (A.stat == 2)
dat += "AI nonfunctional"
else
- dat += {"Wipe AI"}
+ dat += {"Wipe AI [A.control_disabled ? "Enable" : "Disable"] Wireless Activity"}
user << browse(dat, "window=aicard")
onclose(user, "aicard")
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index bd7f49e9cd3..3a4ff8c42a9 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -150,9 +150,9 @@
stat(null, "Intent: [src.a_intent]")
stat(null, "Move Mode: [src.m_intent]")
- if(ticker.mode.name == "AI malfunction")
- if(ticker.mode:malf_mode_declared)
- stat(null, "Time left: [ ticker.mode:AI_win_timeleft]")
+// if(ticker.mode.name == "AI malfunction")
+// if(ticker.mode:malf_mode_declared)
+// stat(null, "Time left: [ ticker.mode:AI_win_timeleft]")
if(emergency_shuttle.online && emergency_shuttle.location < 2)
var/timeleft = emergency_shuttle.timeleft()
if (timeleft)
diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi
index aacced9005c..e6ad2a0ec42 100644
Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ