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