From 5484163efed6df04865f06989cf99633d8d8443d Mon Sep 17 00:00:00 2001 From: Nanai Date: Sat, 23 Nov 2013 06:55:12 -0500 Subject: [PATCH] Implant mode changability, explosive variable fix Fixed and upgraded as per Ravensdale's request in #3966 --- .../objects/items/weapons/implants/implant.dm | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 38150b5a8d2..7b5d1f98d0d 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -127,6 +127,7 @@ Implant Specifics:
"} /obj/item/weapon/implant/explosive name = "explosive implant" desc = "A military grade micro bio-explosive. Highly dangerous." + var/elevel = "Localized Limb" var/phrase = "supercalifragilisticexpialidocious" icon_state = "implant_evil" @@ -159,18 +160,41 @@ Implant Specifics:
"} return if(istype(imp_in, /mob/)) var/mob/T = imp_in - message_admins("Explosive implant triggered in [T] ([T.key]). (JMP) ") log_game("Explosive implant triggered in [T] ([T.key]).") - T.gib() - explosion(get_turf(imp_in), 1, 3, 4, 6, 3) + if(ishuman(imp_in)) + if (elevel == "Localized Limb") + if(part) //For some reason, small_boom() didn't work. So have this bit of working copypaste. + imp_in.visible_message("\red Something beeps inside [imp_in][part ? "'s [part.display_name]" : ""]!") + playsound(loc, 'sound/items/countdown.ogg', 75, 1, -3) + sleep(25) + if (istype(part,/datum/organ/external/chest) || \ + istype(part,/datum/organ/external/groin) || \ + istype(part,/datum/organ/external/head)) + part.createwound(BRUISE, 60) //mangle them instead + explosion(get_turf(imp_in), -1, -1, 2, 3) + del(src) + else + explosion(get_turf(imp_in), -1, -1, 2, 3) + part.droplimb(1) + del(src) + if (elevel == "Destroy Body") + explosion(get_turf(T), -1, 0, 1, 6) + T.gib() + if (elevel == "Full Explosion") + explosion(get_turf(T), 0, 1, 3, 6) + T.gib() + + else + explosion(get_turf(imp_in), 0, 1, 3, 6) var/turf/t = get_turf(imp_in) if(t) t.hotspot_expose(3500,125) implanted(mob/source as mob) + elevel = alert("What sort of explosion would you prefer?", "Implant Intent", "Localized Limb", "Destroy Body", "Full Explosion") phrase = input("Choose activation phrase:") as text var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "") phrase = sanitize_simple(phrase, replacechars) @@ -215,7 +239,7 @@ Implant Specifics:
"} part.createwound(BRUISE, 60) //mangle them instead else part.droplimb(1) - explosion(get_turf(imp_in), -1, -1, 2, 3, 3) + explosion(get_turf(imp_in), -1, -1, 2, 3) del(src) /obj/item/weapon/implant/chem