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