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()