From 02bc2ec1f07086b7133fd5b9907e2955c92baeed Mon Sep 17 00:00:00 2001 From: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Date: Tue, 9 Jul 2024 03:35:43 +0300 Subject: [PATCH] Fixes living limbs touching invisible/abstract atoms and improves their grammar (#84749) ## About The Pull Request Closes #84709 I also rewrote a couple of descriptions and gave user a different warning formatted with ``span_userdanger`` as to be more visible (because having your limb torn off is a pretty big deal) ## Why It's Good For The Game Bugfix + better structured sentences ## Changelog :cl: fix: Living limbs can no longer make you touch ghosts or abstract concepts of start, landmark, influence or job spellcheck: Fixed improper word usage and improved grammar for living limbs /:cl: --- code/modules/mob/living/basic/ruin_defender/flesh.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/basic/ruin_defender/flesh.dm b/code/modules/mob/living/basic/ruin_defender/flesh.dm index 6f46e690700..f59ef674e86 100644 --- a/code/modules/mob/living/basic/ruin_defender/flesh.dm +++ b/code/modules/mob/living/basic/ruin_defender/flesh.dm @@ -71,7 +71,7 @@ continue if(movable == victim) continue - if(!victim.CanReach(movable)) + if(!victim.CanReach(movable) || victim.invisibility) continue candidates += movable if(!length(candidates)) @@ -80,7 +80,7 @@ if(isnull(candidate)) return victim.start_pulling(candidate, supress_message = TRUE) - victim.visible_message(span_warning("[victim][victim.p_s()] [current_bodypart] instinctually starts feeling [candidate]!")) + victim.visible_message(span_warning("[victim]'s [current_bodypart.name] instinctively starts feeling [candidate]!")) return if(HAS_TRAIT(victim, TRAIT_IMMOBILIZED)) @@ -127,7 +127,11 @@ if(BODY_ZONE_R_LEG) part_type = /obj/item/bodypart/leg/right/flesh - target.visible_message(span_danger("[src] [target_part ? "tears off and attaches itself" : "attaches itself"] to where [target][target.p_s()] limb used to be!")) + if (!isnull(target_part)) + target.visible_message(span_danger("[src] tears off [target]'s [target_part.plaintext_zone] and attaches itself in [target_part.p_their()] place!"), span_userdanger("[src] tears off your [target_part.plaintext_zone] and attaches itself in [target_part.p_their()] place!")) + else + target.visible_message(span_danger("[src] attaches itself to where [target]'s [target.parse_zone_with_bodypart(target_zone)] used to be!"), span_userdanger("[src] attaches itself to where your [target.parse_zone_with_bodypart(target_zone)] used to be!")) + var/obj/item/bodypart/new_bodypart = new part_type() forceMove(new_bodypart) new_bodypart.replace_limb(target, TRUE)