From a7efaeb0e53c97ea39ece8c8c0faf68607034b1f Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 16 Nov 2020 09:35:03 -0700 Subject: [PATCH 1/7] Update living.dm --- code/modules/mob/living/living.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index da03c4b533..8743649c66 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -296,9 +296,12 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", - "You have grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", target = M, - target_message = "[src] has grabbed you[(zone_selected == "l_arm" || zone_selected == "r_arm")? " by your hands":" passively"]!") + if((zone_selected == BODY_ZONE_PRECISE_GROIN) && isfelinid(src) && isfelinid(M)) + visible_message("[src] coils their tail with [AM], pulling them along!", "[src] has entwined their tail with yours, pulling you along!") + else + visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", + "You have grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", target = M, + target_message = "[src] has grabbed you[(zone_selected == "l_arm" || zone_selected == "r_arm")? " by your hands":" passively"]!") if(!iscarbon(src)) M.LAssailant = null else From 24257de407e91fa64a6d799446e9dd7f475a565c Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 16 Nov 2020 09:50:05 -0700 Subject: [PATCH 2/7] Update living.dm --- code/modules/mob/living/living.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8743649c66..0a1a250dc9 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -296,7 +296,9 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - if((zone_selected == BODY_ZONE_PRECISE_GROIN) && isfelinid(src) && isfelinid(M)) + var/self_tailcheck = dna?.species?.mutant_bodyparts["mam_tail"] && (dna.species.mutant_bodyparts["mam_tail"] != "None") + var/other_tailcheck = M.dna?.species?.mutant_bodyparts["mam_tail"] && (M.dna.species.mutant_bodyparts["mam_tail"] != "None") + if((zone_selected == BODY_ZONE_PRECISE_GROIN) && self_tailcheck && other_tailcheck) visible_message("[src] coils their tail with [AM], pulling them along!", "[src] has entwined their tail with yours, pulling you along!") else visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", From 3f7bcb3d3051e85d8818b14d987540a4497afbd4 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 16 Nov 2020 13:17:17 -0700 Subject: [PATCH 3/7] Update code/modules/mob/living/living.dm Co-authored-by: DeltaFire15 <46569814+DeltaFire15@users.noreply.github.com> --- code/modules/mob/living/living.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0a1a250dc9..d3b0c0f666 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -299,7 +299,7 @@ var/self_tailcheck = dna?.species?.mutant_bodyparts["mam_tail"] && (dna.species.mutant_bodyparts["mam_tail"] != "None") var/other_tailcheck = M.dna?.species?.mutant_bodyparts["mam_tail"] && (M.dna.species.mutant_bodyparts["mam_tail"] != "None") if((zone_selected == BODY_ZONE_PRECISE_GROIN) && self_tailcheck && other_tailcheck) - visible_message("[src] coils their tail with [AM], pulling them along!", "[src] has entwined their tail with yours, pulling you along!") + visible_message("[src] coils [p_their()] tail with [AM], pulling [M.p_them()] along!", "[src] has entwined [p_their()] tail with yours, pulling you along!") else visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", "You have grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", target = M, From cee17c3f65042b66bf86de731723635668cad7af Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 16 Nov 2020 13:24:38 -0700 Subject: [PATCH 4/7] Update living.dm --- code/modules/mob/living/living.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d3b0c0f666..a6aca39a5f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -258,6 +258,13 @@ AM.setDir(current_dir) now_pushing = FALSE +// i wish to have a "friendly chat" with whoever made three tail variables instead of one +/mob/living/proc/has_tail() + if(!dna || !dna.species || !dna.species.mutant_bodyparts) + return FALSE + var/list/L = dna.species.mutant_bodyparts // caches list because i refuse to type it out and because performance + return (L["mam_tail"] && (L["mam_tail"] != "None")) || (L["tail_human"] && (L["tail_human"] != "None")) || (L["tail_lizard"] && (L["tail_lizard"] != "None")) + /mob/living/start_pulling(atom/movable/AM, state, force = pull_force, supress_message = FALSE) if(!AM || !src) return FALSE @@ -296,9 +303,7 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - var/self_tailcheck = dna?.species?.mutant_bodyparts["mam_tail"] && (dna.species.mutant_bodyparts["mam_tail"] != "None") - var/other_tailcheck = M.dna?.species?.mutant_bodyparts["mam_tail"] && (M.dna.species.mutant_bodyparts["mam_tail"] != "None") - if((zone_selected == BODY_ZONE_PRECISE_GROIN) && self_tailcheck && other_tailcheck) + if((zone_selected == BODY_ZONE_PRECISE_GROIN) && has_tail() && M.has_tail()) visible_message("[src] coils [p_their()] tail with [AM], pulling [M.p_them()] along!", "[src] has entwined [p_their()] tail with yours, pulling you along!") else visible_message("[src] has grabbed [M][(zone_selected == "l_arm" || zone_selected == "r_arm")? " by [M.p_their()] hands":" passively"]!", From 45d84ec7d4f6f8b000f2baa5f496b3981b8c9395 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 21 Nov 2020 21:04:48 -0700 Subject: [PATCH 5/7] Update living.dm --- code/modules/mob/living/living.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a6aca39a5f..6addd664a6 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -260,8 +260,11 @@ // i wish to have a "friendly chat" with whoever made three tail variables instead of one /mob/living/proc/has_tail() + return FALSE + +/mob/living/carbon/human/has_tail() if(!dna || !dna.species || !dna.species.mutant_bodyparts) - return FALSE + return ..() var/list/L = dna.species.mutant_bodyparts // caches list because i refuse to type it out and because performance return (L["mam_tail"] && (L["mam_tail"] != "None")) || (L["tail_human"] && (L["tail_human"] != "None")) || (L["tail_lizard"] && (L["tail_lizard"] != "None")) From fbdc3396530df4882ba9b7a76266ea7ea1dcfc64 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 22 Nov 2020 13:31:36 -0700 Subject: [PATCH 6/7] Update living.dm --- code/modules/mob/living/living.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6addd664a6..43ea9a74c2 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -259,7 +259,7 @@ now_pushing = FALSE // i wish to have a "friendly chat" with whoever made three tail variables instead of one -/mob/living/proc/has_tail() +/mob/proc/has_tail() return FALSE /mob/living/carbon/human/has_tail() From cf3c4d9d8933aa9a86d70c97700a3626172f742c Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 23 Nov 2020 00:28:17 -0700 Subject: [PATCH 7/7] Update living.dm --- code/modules/mob/living/living.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 43ea9a74c2..2accfe7d0d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -263,9 +263,9 @@ return FALSE /mob/living/carbon/human/has_tail() - if(!dna || !dna.species || !dna.species.mutant_bodyparts) + if(!dna || !dna.features) return ..() - var/list/L = dna.species.mutant_bodyparts // caches list because i refuse to type it out and because performance + var/list/L = dna.features // caches list because i refuse to type it out and because performance return (L["mam_tail"] && (L["mam_tail"] != "None")) || (L["tail_human"] && (L["tail_human"] != "None")) || (L["tail_lizard"] && (L["tail_lizard"] != "None")) /mob/living/start_pulling(atom/movable/AM, state, force = pull_force, supress_message = FALSE)