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)