From 630ff3722d3780287e08b5b63fcf7409aaff8969 Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:58:01 +0200 Subject: [PATCH] [s] Lowers xenomorph acid damage on living mobs (#22291) * What does acid taste like? * Contra Review * Contra Review * Contra Review * Update code/modules/mob/living/carbon/human/human_defense.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --------- Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --- code/datums/spells/alien_spells/corrosive_acid_spit.dm | 5 ++++- code/game/objects/obj_defense.dm | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/datums/spells/alien_spells/corrosive_acid_spit.dm b/code/datums/spells/alien_spells/corrosive_acid_spit.dm index c8e63943814..18a58b9494b 100644 --- a/code/datums/spells/alien_spells/corrosive_acid_spit.dm +++ b/code/datums/spells/alien_spells/corrosive_acid_spit.dm @@ -20,7 +20,10 @@ if(!plasma_check(200, user)) to_chat(user, "You don't have enough plasma to perform this action!") return - if(target.acid_act(200, 100)) + var/acid_damage_modifier = 100 + if(isliving(target)) + acid_damage_modifier = 50 + if(target.acid_act(2 * acid_damage_modifier, acid_damage_modifier)) visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!") add_attack_logs(user, target, "Applied corrosive acid") // Want this logged user.add_plasma(-200) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index fbe24478e2f..3eda5902247 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -166,14 +166,13 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e ///the obj's reaction when touched by acid /obj/acid_act(acidpwr, acid_volume) if(!(resistance_flags & UNACIDABLE) && acid_volume) - if(!acid_level) SSacid.processing[src] = src add_overlay(GLOB.acid_overlay, TRUE) var/acid_cap = acidpwr * 300 //so we cannot use huge amounts of weak acids to do as well as strong acids. if(acid_level < acid_cap) acid_level = min(acid_level + acidpwr * acid_volume, acid_cap) - return 1 + return TRUE ///the proc called by the acid subsystem to process the acid that's on the obj /obj/proc/acid_processing()