From 0cd0770549067924f78223674a6f639dfd7b0a3c Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 21:32:12 -0800
Subject: [PATCH 1/7] fix
---
code/datums/elements/flavor_text.dm | 22 +++++++++++++++++++
code/modules/mob/living/carbon/human/human.dm | 2 +-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index ae139104f0..128496abf5 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -13,6 +13,8 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/save_key
/// Do not attempt to render a preview on examine. If this is on, it will display as \[flavor_name\]
var/examine_no_preview = FALSE
+ /// Examine FULLY views. Overrides examine_no_preview
+ var/examine_full_view = FALSE
/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE)
. = ..()
@@ -30,6 +32,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
always_show = _always_show
can_edit = _edit
save_key = _save_key
+ max_length = _max_length
examine_no_preview = _examine_no_preview
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
@@ -71,6 +74,9 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
examine_list += "\[[flavor_name]\]"
return
var/msg = replacetext(text, "\n", " ")
+ if(examine_full_view)
+ examine_list += "[msg]"
+ return
if(length_char(msg) <= 40)
examine_list += "[msg]"
else
@@ -113,6 +119,18 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/datum/element/flavor_text/F = choices[chosen]
F.set_flavor(src)
+/mob/proc/set_pose()
+ set name = "Set Pose"
+ set desc = "Sets your temporary flavor text"
+ set category = "IC"
+
+ var/list/L = GLOB.mobs_with_editable_flavor_text[src]
+ var/datum/element/flavor_text/carbon/temporary/T = locate() in L
+ if(T)
+ to_chat(src, "Your mob type does not support temporary flavor text.")
+ return
+ T.set_flavor(src)
+
/datum/element/flavor_text/proc/set_flavor(mob/user)
if(!(user in texts_by_atom))
return FALSE
@@ -167,3 +185,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
texts_by_atom[user] = ""
if(user.dna)
user.dna.features[save_key] = ""
+
+/datum/element/flavor_text/carbon/temporary
+ examine_full_view = TRUE
+ max_len = 1024
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 3aa26de5cf..43ec23db18 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -43,7 +43,7 @@
AddComponent(/datum/component/mood)
AddComponent(/datum/component/combat_mode)
AddElement(/datum/element/flavor_text/carbon, _name = "Flavor Text", _save_key = "flavor_text")
- AddElement(/datum/element/flavor_text, "", "Temporary Flavor Text", "This should be used only for things pertaining to the current round!")
+ AddElement(/datum/element/flavor_text/carbon/temporary, "", "Set Pose (Temporary Flavor Text)", "This should be used only for things pertaining to the current round!")
AddElement(/datum/element/flavor_text, _name = "OOC Notes", _addendum = "Put information on ERP/vore/lewd-related preferences here. THIS SHOULD NOT CONTAIN REGULAR FLAVORTEXT!!", _always_show = TRUE, _save_key = "ooc_notes", _examine_no_preview = TRUE)
/mob/living/carbon/human/Destroy()
From 5bd20acc1dbadb27da47dd1e573a49f60cce82f8 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 21:44:37 -0800
Subject: [PATCH 2/7] fix
---
code/datums/elements/flavor_text.dm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 128496abf5..0a9171a90a 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -32,7 +32,6 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
always_show = _always_show
can_edit = _edit
save_key = _save_key
- max_length = _max_length
examine_no_preview = _examine_no_preview
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
@@ -40,7 +39,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being
var/mob/M = target
LAZYOR(GLOB.mobs_with_editable_flavor_text[M], src)
- M.verbs |= /mob/proc/manage_flavor_tests
+ add_verb(M, /mob/proc/manage_flavor_tests)
if(save_key && ishuman(target))
RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, .proc/update_prefs_flavor_text)
@@ -189,3 +188,10 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/datum/element/flavor_text/carbon/temporary
examine_full_view = TRUE
max_len = 1024
+
+/datum/element/flavor_text/carbon/temporary/Attach(datum/target, text, _name, _addendum, _max_len, _always_show, _edit, _save_key, _examine_no_preview)
+ . = ..()
+ if(. & ELEMENT_INCOMPATIBLE)
+ return
+ if(ismob(target))
+ add_verb(target, /mob/proc/set_pose)
From fa6537a092239f65c9cebc9ebd55d64c8114deb7 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 21:53:38 -0800
Subject: [PATCH 3/7] fix
---
code/datums/elements/flavor_text.dm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 0a9171a90a..769ea5510b 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -124,7 +124,10 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
set category = "IC"
var/list/L = GLOB.mobs_with_editable_flavor_text[src]
- var/datum/element/flavor_text/carbon/temporary/T = locate() in L
+ var/datum/element/flavor_text/carbon/temporary/T
+ for(var/i in L)
+ if(istype(i, /datum/element/flavor_text/carbon/temporary))
+ T = i
if(T)
to_chat(src, "Your mob type does not support temporary flavor text.")
return
@@ -195,3 +198,8 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
return
if(ismob(target))
add_verb(target, /mob/proc/set_pose)
+
+/datum/element/flavor_Text/carbon/temporary/Detach(datum/source, force)
+ . = ..()
+ if(ismob(source))
+ remove_verb(target, /mob/proc/set_pose)
From 1c06dd92c2740d8e7dbc19d0462a6c5a827ad8f1 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 21:55:17 -0800
Subject: [PATCH 4/7] fix
---
code/datums/elements/flavor_text.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 769ea5510b..81aa8f40e0 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -202,4 +202,4 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/datum/element/flavor_Text/carbon/temporary/Detach(datum/source, force)
. = ..()
if(ismob(source))
- remove_verb(target, /mob/proc/set_pose)
+ remove_verb(source, /mob/proc/set_pose)
From 3535916fd86f2b6d27c4bf55631d11cf3d595c22 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 22:02:56 -0800
Subject: [PATCH 5/7] fix
---
code/datums/elements/flavor_text.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 81aa8f40e0..4b6ebff666 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -128,7 +128,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
for(var/i in L)
if(istype(i, /datum/element/flavor_text/carbon/temporary))
T = i
- if(T)
+ if(!T)
to_chat(src, "Your mob type does not support temporary flavor text.")
return
T.set_flavor(src)
From 67d9e7993491c8d3fa80c70b0af503193db8f7a6 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 27 Dec 2020 05:27:46 -0800
Subject: [PATCH 6/7] fix
---
code/modules/mob/living/carbon/human/human.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 43ec23db18..03816555b3 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -43,7 +43,7 @@
AddComponent(/datum/component/mood)
AddComponent(/datum/component/combat_mode)
AddElement(/datum/element/flavor_text/carbon, _name = "Flavor Text", _save_key = "flavor_text")
- AddElement(/datum/element/flavor_text/carbon/temporary, "", "Set Pose (Temporary Flavor Text)", "This should be used only for things pertaining to the current round!")
+ AddElement(/datum/element/flavor_text/carbon/temporary, "", "Set Pose (Temporary Flavor Text)", "This should be used only for things pertaining to the current round!", _save_key = null)
AddElement(/datum/element/flavor_text, _name = "OOC Notes", _addendum = "Put information on ERP/vore/lewd-related preferences here. THIS SHOULD NOT CONTAIN REGULAR FLAVORTEXT!!", _always_show = TRUE, _save_key = "ooc_notes", _examine_no_preview = TRUE)
/mob/living/carbon/human/Destroy()
From ec2df686c3e992dbe0edfa177ad55968fa35d8bf Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 27 Dec 2020 05:31:58 -0800
Subject: [PATCH 7/7] maybe
---
code/datums/elements/flavor_text.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 4b6ebff666..6217665157 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/static/list/i_dont_even_know_who_you_are = typecacheof(list(/datum/antagonist/abductor, /datum/antagonist/ert,
/datum/antagonist/nukeop, /datum/antagonist/wizard))
-/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key = "flavor_text", _examine_no_preview = FALSE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()