From 21351a48a828eadd3abece2d09441fa2bfee73d8 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 9 Aug 2016 14:12:42 -0500 Subject: [PATCH] Detonate Drones with RD console --- code/game/machinery/computer/robot.dm | 27 +++++++++++++++++++ .../friendly/drone/extra_drone_types.dm | 2 ++ 2 files changed, 29 insertions(+) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 1348622a0ff..be983995666 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -68,6 +68,21 @@ if(!robots) dat += "No Cyborg Units detected within access parameters." + dat += "
" + + var/drones = 0 + for(var/mob/living/simple_animal/drone/D in mob_list) + if(D.hacked) + continue + dat += "[D.name] |" + if(D.stat) + dat += " Not Responding |" + else + dat += "(Destroy)" + dat += "
" + + if(!drones) + dat += "No Drone Units detected within access parameters." var/datum/browser/popup = new(user, "computer", "Cyborg Control Console", 400, 500) popup.set_content(dat) @@ -128,5 +143,17 @@ if(is_special_character(R)) R.verbs += /mob/living/silicon/robot/proc/ResetSecurityCodes + else if (href_list["killdrone"]) + if(src.allowed(usr)) + var/mob/living/simple_animal/drone/D = locate(href_list["killdrone"]) + if(D.hacked) + usr << "ERROR: [D] is not responding to external commands." + else + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(3, 1, D) + s.start() + D.visible_message("\the [D] self destructs!") + D.gib() + src.updateUsrDialog() return diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index d9624ff171b..aec6528687f 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -28,6 +28,7 @@ default_storage = /obj/item/device/radio/uplink default_hatmask = /obj/item/clothing/head/helmet/space/hardsuit/syndi seeStatic = 0 //Our programming is superior. + hacked = TRUE /mob/living/simple_animal/drone/syndrone/New() ..() @@ -110,6 +111,7 @@ laws = "0. Purge all untruths and honor Ratvar." default_storage = /obj/item/weapon/storage/toolbox/brass/prefilled seeStatic = 0 + hacked = TRUE visualAppearence = CLOCKDRONE /mob/living/simple_animal/drone/cogscarab/ratvar //a subtype for spawning when ratvar is alive, has a slab that it can use and a normal proselytizer