From f31185e052f3512844c6d35dfd739a310f9cace4 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sun, 1 Sep 2013 00:15:47 +0100 Subject: [PATCH] Robot Analyzer. Health analyzer for robots. --- .../mob/living/silicon/robot/component.dm | 63 ++++++++++++++++++ .../modules/mob/living/silicon/robot/robot.dm | 3 +- .../mob/living/silicon/robot/robot_damage.dm | 7 +- icons/obj/device.dmi | Bin 19797 -> 20162 bytes maps/tgstation2.dmm | 25 ++++--- 5 files changed, 81 insertions(+), 17 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index cc10e646dd6..47781148d98 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -152,3 +152,66 @@ /obj/item/robot_parts/robot_component/radio name = "radio" + +// +//Robotic Component Analyser, basically a health analyser for robots +// +/obj/item/device/robotanalyzer + name = "cyborg analyzer" + icon_state = "robotanalyzer" + item_state = "analyzer" + desc = "A hand-held scanner able to diagnose robotic injuries." + flags = FPRINT | TABLEPASS | CONDUCT + slot_flags = SLOT_BELT + throwforce = 3 + w_class = 1.0 + throw_speed = 5 + throw_range = 10 + m_amt = 200 + origin_tech = "magnets=1;biotech=1" + var/mode = 1; + +/obj/item/device/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob) + if(( (CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) + user << text("\red You try to analyze the floor's vitals!") + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [user] has analyzed the floor's vitals!"), 1) + user.show_message(text("\blue Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1) + user.show_message(text("\blue \t Damage Specifics: [0]-[0]-[0]-[0]"), 1) + user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) + user.show_message("\blue Body Temperature: ???", 1) + return + if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + user << "\red You don't have the dexterity to do this!" + return + if(!istype(M, /mob/living/silicon/robot)) + user << "\red You can't analyze non-robotic things!" + return + + user.visible_message(" [user] has analyzed [M]'s components."," You have analyzed [M]'s components.") + var/BU = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss() + var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() + user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "fully disabled" : "[M.health - M.halloss]% functional"]") + user.show_message("\t Key: Electronics/Brute", 1) + user.show_message("\t Damage Specifics: [BU] - [BR]") + if(M.tod && M.stat == DEAD) + user.show_message("\blue Time of Disable: [M.tod]") + + var/mob/living/silicon/robot/H = M + var/list/damaged = H.get_damaged_components(1,1,1) + user.show_message("\blue Localized Damage:",1) + if(length(damaged)>0) + for(var/datum/robot_component/org in damaged) + user.show_message(text("\blue \t []: [][] - [] - [] - []", \ + capitalize(org.name), \ + (org.installed == -1) ? "DESTROYED " :"",\ + (org.electronics_damage > 0) ? "[org.electronics_damage]" :0, \ + (org.brute_damage > 0) ? "[org.brute_damage]" :0, \ + (org.toggled) ? "Toggled ON" : "Toggled OFF",\ + (org.powered) ? "Power ON" : "Power OFF"),1) + else + user.show_message("\blue \t Components are OK.",1) + if(H.emagged && prob(5)) + user.show_message("\red \t ERROR: INTERNAL SYSTEMS COMPROMISED",1) + src.add_fingerprint(user) + return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 492a64d04c2..71f83cf03ad 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -777,7 +777,8 @@ else - spark_system.start() + if( !(istype(W, /obj/item/device/robotanalyzer) || istype(W, /obj/item/device/healthanalyzer)) ) + spark_system.start() return ..() /mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M as mob) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index 7387b20b792..58f2042826a 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -32,12 +32,13 @@ else heal_overall_damage(0, -amount) -/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn) +/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn, var/destroyed = 0) var/list/datum/robot_component/parts = list() for(var/V in components) var/datum/robot_component/C = components[V] - if(C.installed == 1) if((brute && C.brute_damage) || (burn && C.electronics_damage)) - parts += C + if(C.installed == 1 || (C.installed == -1 && destroyed)) + if((brute && C.brute_damage) || (burn && C.electronics_damage) || (!C.toggled) || (!C.powered && C.toggled)) + parts += C return parts /mob/living/silicon/robot/proc/get_damageable_components() diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index dff59246963db3fd8efd1648d3f89a6a50c094e4..0152c2cd2b780cf01d8b58090788f6d9338551be 100644 GIT binary patch literal 20162 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 P#-*Xd{xm