From 838607556589b5bc1f69d0c8f28a89774e0d66fb Mon Sep 17 00:00:00 2001 From: Ron Date: Thu, 25 May 2017 07:42:57 -0400 Subject: [PATCH] Bug fixes (#2447) Fixes #639 Fixes #2445 Fixes #1708 Makes succumb tell you if you can't succumb. --- code/_onclick/item_attack.dm | 5 +++++ code/modules/mob/living/living.dm | 2 ++ code/modules/reagents/reagent_containers/blood_pack.dm | 7 ++++--- code/modules/research/rdconsole.dm | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index d7a38889afd..b8c456f54bc 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -84,5 +84,10 @@ avoid code duplication. This includes items that may sometimes act as a standard var/power = force if(HULK in user.mutations) power *= 2 + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/X = user + if(X.gloves && istype(X.gloves,/obj/item/clothing/gloves/force)) + var/obj/item/clothing/gloves/force/G = X.gloves + power *= G.amplification return target.hit_with_weapon(src, user, power, hit_zone) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 13a3be800fd..64a6a4f1a8d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -162,6 +162,8 @@ default behaviour is: src.adjustOxyLoss(src.health + 200) src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() src << "\blue You have given up life and succumbed to death." + else + src << "You are not injured enough to succumb to death!" /mob/living/proc/updatehealth() diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 83d706e2c49..f6c42724340 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -134,9 +134,10 @@ blood_splatter(target, null, 1) blood_splatter(src.loc, null, 1) playsound(src.loc, 'sound/effects/splat.ogg', 50, 1, -6) - H.bloody_hands() - if (src.loc == usr) - H.bloody_body() + if(istype(H)) + H.bloody_hands() + if (loc == usr) + H.bloody_body() // Line below will do a check where the target bloodbag is located and create a new one accordingly var/obj/item/weapon/reagent_containers/I = src.loc != usr ? new/obj/item/weapon/reagent_containers/blood/ripped(src.loc) : new/obj/item/weapon/reagent_containers/blood/ripped(usr.loc) if (reagents.get_reagent_amount("blood")) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 238d20478f8..d1c823d71c2 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -261,6 +261,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, for(var/obj/I in linked_destroy.contents) for(var/mob/M in I.contents) M.death() + qdel(M) if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack var/obj/item/stack/material/S = I if(S.get_amount() > 1)