From d5d4e8b506987365b0930dc29d57538b6e3b799c Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Wed, 25 Apr 2012 23:26:42 +0100 Subject: [PATCH] TG: Fixes for detective work. Should fix some of the massive lag, probably caused by all those list()s that were being made for every atom. And this is why I should not code at 2AM. (A UI overhaul-ish thing will come soon for the detective computer.) Revision: r3257 Author: joe.heinemeyer --- code/game/machinery/turrets.dm | 34 ++++++++++++-------- code/game/objects/devices/scanners.dm | 1 + code/modules/DetectiveWork/detective_work.dm | 2 +- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 240e5d2291..0a4ec6453c 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -385,6 +385,20 @@ user << browse(t, "window=turretid") onclose(user, "turretid") + +/obj/machinery/turret/attack_alien(mob/living/carbon/alien/humanoid/M as mob) + if(!(stat & BROKEN)) + playsound(src.loc, 'slash.ogg', 25, 1, -1) + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O.show_message(text("\red [] has slashed at []!", M, src), 1) + src.health -= 15 + if (src.health <= 0) + src.die() + else + M << "\green That object is useless to you." + return + /obj/machinery/turretid/Topic(href, href_list) ..() if (src.locked) @@ -400,6 +414,12 @@ src.attack_hand(usr) /obj/machinery/turretid/proc/updateTurrets() + if(control_area) + for (var/obj/machinery/turret/aTurret in get_area_all_atoms(control_area)) + aTurret.setState(enabled, lethal) + src.update_icons() + +/obj/machinery/turretid/proc/update_icons() if (src.enabled) if (src.lethal) src.icon_state = "motion1" @@ -417,20 +437,6 @@ for (var/obj/machinery/turret/aTurret in turrets) aTurret.setState(enabled, lethal) -/obj/machinery/turret/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!(stat & BROKEN)) - playsound(src.loc, 'slash.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has slashed at []!", M, src), 1) - src.health -= 15 - if (src.health <= 0) - src.die() - else - M << "\green That object is useless to you." - return - - /obj/structure/turret/gun_turret name = "Gun Turret" density = 1 diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 589abcdea7..f8b2c6963f 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -1,3 +1,4 @@ + /* CONTAINS: T-RAY diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/DetectiveWork/detective_work.dm index b2c22c4ccc..adc8f1fe9e 100644 --- a/code/modules/DetectiveWork/detective_work.dm +++ b/code/modules/DetectiveWork/detective_work.dm @@ -549,7 +549,7 @@ obj/machinery/computer/forensic_scanning for(var/n = 2, n <= perp_list.len, n++) //Lets see if it is already in the database var/list/target = perp_list[n] var/atom/atom_checker = target[1] - var/atom_checker_scan = (A.original_atom ? atom_checker.original_atom[1] == A.original_atom[1] : 0) + var/atom_checker_scan = (A.original_atom.len ? atom_checker.original_atom[1] == A.original_atom[1] : 0) if(atom_checker.original_atom[1] == A || atom_checker_scan) //Found the original object! found2 = 1 var/list/prints = target[2]