From 42d2373c014e3d2ed721161f6357b20f830bedd4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 26 Mar 2015 01:14:41 -0400 Subject: [PATCH] Borg Defib Fixes --- code/game/objects/items/weapons/defib.dm | 15 ++++++++------- code/modules/mob/living/silicon/robot/robot.dm | 3 +++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index a596df8b15a..72501b2a708 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -416,6 +416,7 @@ var/revivecost = 1000 var/cooldown = 0 var/busy = 0 + var/safety = 1 flags = NODROP /obj/item/weapon/borg_defib/attack(mob/M, mob/user) @@ -431,14 +432,14 @@ user << "This unit is only designed to work on humanoid lifeforms." return else - if(user.a_intent == "harm") + if(user.a_intent == "harm" && !safety) busy = 1 H.visible_message("[user] has touched [H.name] with [src]!", \ "[user] has touched [H.name] with [src]!") H.adjustStaminaLoss(50) H.Weaken(5) H.updatehealth() //forces health update before next life tick - playsound(get_turf(src), 'sound/weapons/Egloves.ogg', 50, 1, -1) + playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) H.emote("gasp") add_logs(user, M, "stunned", object="defibrillator") if(isrobot(user)) @@ -457,7 +458,7 @@ update_icon() if(do_after(user, 30)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process user.visible_message("[user] places [src] on [M.name]'s chest.", "You place [src] on [M.name]'s chest.") - playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 0) + playsound(get_turf(src), 'sound/machines/defib_charge.ogg', 50, 0) var/mob/dead/observer/ghost = H.get_ghost() var/tplus = world.time - H.timeofdeath var/tlimit = 6000 //past this much time the patient is unrecoverable (in deciseconds) @@ -469,7 +470,7 @@ var/health = H.health M.visible_message("[M]'s body convulses a bit.") playsound(get_turf(src), "bodyfall", 50, 1) - playsound(get_turf(src), 'sound/weapons/Egloves.ogg', 50, 1, -1) + playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1) for(var/datum/organ/external/O in H.organs) total_brute += O.brute_dam total_burn += O.burn_dam @@ -481,7 +482,7 @@ H.adjustFireLoss(tobehealed) H.adjustBruteLoss(tobehealed) user.visible_message("[user] pings: Resuscitation successful.") - playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0) + playsound(get_turf(src), 'sound/machines/defib_success.ogg', 50, 0) H.stat = 1 H.update_revive() H.emote("gasp") @@ -501,7 +502,7 @@ if(ghost) ghost << "Your heart is being defibrillated. Return to your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)" ghost << sound('sound/effects/genetics.ogg') - playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, 0) + playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0) if(isrobot(user)) var/mob/living/silicon/robot/R = user R.cell.use(revivecost) @@ -512,7 +513,7 @@ update_icon() else user.visible_message("[user] buzzes: Patient is not in a valid state. Operation aborted.") - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) + playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0) busy = 0 update_icon() else diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 15d48f454d4..7d9c71f337d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -878,6 +878,9 @@ var/list/robot_verbs_default = list( del(D) src.module.modules += new /obj/item/weapon/pickaxe/diamonddrill(src.module) src.module.rebuild() + if(src.module && istype(src.module, /obj/item/weapon/robot_module/medical)) + for(var/obj/item/weapon/borg_defib/F in src.module.modules) + F.safety = 0 updateicon() else user << "You fail to [ locked ? "unlock" : "lock"] [src]'s interface."