From 88578f3471f6f5f424225c3a22a34576b47db882 Mon Sep 17 00:00:00 2001 From: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> Date: Wed, 16 Apr 2025 22:02:16 +0500 Subject: [PATCH] Fixes some acid procs (#28828) * sane * oh wow * isnull --- code/game/objects/effects/alien_acid.dm | 2 -- code/modules/mob/living/carbon/carbon_procs.dm | 8 ++++---- code/modules/mob/living/carbon/human/human_defense.dm | 2 ++ code/modules/mob/living/living.dm | 2 ++ code/modules/reagents/chemistry/reagents/toxins.dm | 10 +++++----- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index a00b1c65ce0..2d301f6161f 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -67,8 +67,6 @@ var/acid_used = min(acid_level * 0.05, 20) if(L.acid_act(10, acid_used, "feet")) acid_level = max(0, acid_level - acid_used * 10) - playsound(L, 'sound/weapons/sear.ogg', 50, TRUE) - to_chat(L, "[src] burns you!") //xenomorph corrosive acid /obj/effect/acid/alien diff --git a/code/modules/mob/living/carbon/carbon_procs.dm b/code/modules/mob/living/carbon/carbon_procs.dm index c00a6cc75a2..b76824dce3d 100644 --- a/code/modules/mob/living/carbon/carbon_procs.dm +++ b/code/modules/mob/living/carbon/carbon_procs.dm @@ -1235,13 +1235,13 @@ so that different stomachs can handle things in different ways VB*/ . |= LH.GetAccess() /mob/living/carbon/proc/can_breathe_gas() - if(!wear_mask) + if(isnull(internal)) // no internals - breath from environment return TRUE - if(!(wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT) && internal == null) - return TRUE + if(wear_mask?.flags & BLOCK_GAS_SMOKE_EFFECT || head?.flags & BLOCK_GAS_SMOKE_EFFECT) + return FALSE - return FALSE + return TRUE //to recalculate and update the mob's total tint from tinted equipment it's wearing. /mob/living/carbon/proc/update_tint() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2dbea5e84da..a743749c3e6 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -407,6 +407,8 @@ emp_act //DAMAGE// for(var/obj/item/organ/external/affecting in damaged) affecting.receive_damage(acidity, 2 * acidity) + to_chat(src, "The acid burns you!") + playsound(src, 'sound/weapons/sear.ogg', 50, TRUE) if(istype(affecting, /obj/item/organ/external/head)) var/obj/item/organ/external/head/head_organ = affecting diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index fdf3aee0c27..f6aaa2ede31 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -350,6 +350,8 @@ /mob/living/acid_act(acidpwr, acid_volume) take_organ_damage(acidpwr * min(1, acid_volume * 0.1)) + to_chat(src, "The acid burns you!") + playsound(src, 'sound/weapons/sear.ogg', 50, TRUE) return 1 /mob/living/welder_act(mob/user, obj/item/I) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index ace0353d07b..b9b684746e9 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -362,11 +362,11 @@ H.adjustFireLoss(clamp((volume - 5) * 3, 8, 75)) return - var/has_melted_something = FALSE - if(H.wear_mask && !(H.wear_mask.resistance_flags & ACID_PROOF)) + var/protected = TRUE + if(H.wear_mask && !(H.wear_mask.resistance_flags & ACID_PROOF) && !(H.head?.resistance_flags & ACID_PROOF)) to_chat(H, "Your [H.wear_mask.name] melts away!") qdel(H.wear_mask) - has_melted_something = TRUE + protected = FALSE if(H.head && !(H.head.resistance_flags & ACID_PROOF)) if(istype(H.head, /obj/item/clothing/head/mod) && ismodcontrol(H.back)) @@ -378,9 +378,9 @@ else to_chat(H, "Your [H.head.name] melts away!") qdel(H.head) - has_melted_something = TRUE + protected = FALSE - if(has_melted_something) + if(protected) return if(volume >= 5)