From 8c8be2b92e8a64c705cb8f5c0dfb00804ba4669f Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 25 Dec 2020 21:45:07 +0000
Subject: [PATCH 01/24] tackle and puddle
---
code/datums/components/tackle.dm | 9 +++++++++
.../mob/living/carbon/human/innate_abilities/blobform.dm | 2 --
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index a5f9271f4b..e88945b6e2 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -89,6 +89,11 @@
to_chat(user, "You can't tackle while tased!")
return
+ left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
+ right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
+ if(left && right_paralysis)
+ to_chat(user, "You can't tackle without the use of your arms!")
+
user.face_atom(A)
var/list/modifiers = params2list(params)
@@ -280,6 +285,10 @@
attack_mod -= 2
if(HAS_TRAIT(sacker, TRAIT_GIANT))
attack_mod += 2
+ left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
+ right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
+ if(left_paralysis || right_paralysis)
+ attack_mod -= 2
if(ishuman(target))
var/mob/living/carbon/human/S = sacker
diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm
index 5d2693915d..ed3c7e21d4 100644
--- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm
+++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm
@@ -62,7 +62,6 @@
H.add_movespeed_modifier(/datum/movespeed_modifier/slime_puddle)
- H.layer -= 1 //go one layer down so people go over you
ENABLE_BITFIELD(H.pass_flags, PASSMOB) //this actually lets people pass over you
squeak = H.AddComponent(/datum/component/squeak, custom_sounds = list('sound/effects/blobattack.ogg')) //blorble noise when people step on you
@@ -103,7 +102,6 @@
REMOVE_TRAIT(H, TRAIT_HUMAN_NO_RENDER, SLIMEPUDDLE_TRAIT)
H.update_disabled_bodyparts(silent = TRUE)
H.remove_movespeed_modifier(/datum/movespeed_modifier/slime_puddle)
- H.layer += 1 //go one layer back above!
DISABLE_BITFIELD(H.pass_flags, PASSMOB)
is_puddle = FALSE
if(squeak)
From 05e5c80dce093acca97d8ecabd863bd04db50896 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Sat, 26 Dec 2020 00:17:29 +0000
Subject: [PATCH 02/24] runtime
---
code/datums/components/tackle.dm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index e88945b6e2..5f55e5463a 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -89,8 +89,8 @@
to_chat(user, "You can't tackle while tased!")
return
- left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
- right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
+ var/left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
+ var/right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
if(left && right_paralysis)
to_chat(user, "You can't tackle without the use of your arms!")
@@ -285,8 +285,8 @@
attack_mod -= 2
if(HAS_TRAIT(sacker, TRAIT_GIANT))
attack_mod += 2
- left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
- right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
+ var/left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
+ var/right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
if(left_paralysis || right_paralysis)
attack_mod -= 2
From f5ecdad8e95358a5b05c960b4982b2123e4201f0 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 10:58:46 -0700
Subject: [PATCH 03/24] Update eldritch_antag.dm
---
code/modules/antagonists/eldritch_cult/eldritch_antag.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm
index 25602c8588..d54f008108 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm
@@ -98,7 +98,7 @@
var/pck = pick("assasinate","protect")
switch(pck)
if("assasinate")
- var/datum/objective/assassinate/A = new
+ var/datum/objective/assassinate/once/A = new
A.owner = owner
var/list/owners = A.get_owners()
A.find_target(owners,protection)
From 92b2177316e54b960494546af0d7e08d4a68cc7f Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 11:35:09 -0700
Subject: [PATCH 04/24] Update _job.dm
---
code/modules/jobs/job_types/_job.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index 9b816a9f90..64ab4791d3 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -133,12 +133,12 @@
return TRUE
/datum/job/proc/GetAntagRep()
- . = CONFIG_GET(keyed_list/antag_rep)[lowertext(title)]
+ . = CONFIG_GET(keyed_list/antag_rep)[ckey(title)]
if(. == null)
return antag_rep
/datum/job/proc/GetThreat()
- . = CONFIG_GET(keyed_list/job_threat)[lowertext(title)]
+ . = CONFIG_GET(keyed_list/job_threat)[ckey(title)]
if(. == null)
return threat
From 27ecbdd6f149d41b6790e762bcd2b8501402b2d8 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 16:22:14 -0800
Subject: [PATCH 05/24] why did i do this
---
code/modules/mob/say_vr.dm | 89 ++++++++++++++++++++++++++++++++++----
1 file changed, 80 insertions(+), 9 deletions(-)
diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 471bd9939e..76c45b5d0e 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -86,15 +86,6 @@ proc/get_top_level_mob(var/mob/S)
else if(!params)
var/subtle_emote = stripped_multiline_input_or_reflect(user, "Choose an emote to display.", "Subtler" , null, MAX_MESSAGE_LEN)
if(subtle_emote && !check_invalid(user, subtle_emote))
- var/type = input("Is this a visible or hearable emote?") as null|anything in list("Visible", "Hearable")
- switch(type)
- if("Visible")
- emote_type = EMOTE_VISIBLE
- if("Hearable")
- emote_type = EMOTE_AUDIBLE
- else
- alert("Unable to use this emote, must be either hearable or visible.")
- return
message = subtle_emote
else
return FALSE
@@ -111,6 +102,77 @@ proc/get_top_level_mob(var/mob/S)
user.visible_message(message = message, self_message = message, vision_distance = 1, ignored_mobs = GLOB.dead_mob_list, omni = TRUE)
+///////////////// SUBTLE 3: DARE DICE
+
+/datum/emote/living/subtler_table
+ key = "subtler_table"
+ key_third_person = "subtler_table"
+ message = null
+ mob_type_blacklist_typecache = list(/mob/living/brain)
+
+/datum/emote/living/subtler_table/proc/check_invalid(mob/user, input)
+ if(stop_bad_mime.Find(input, 1, 1))
+ to_chat(user, "Invalid emote.")
+ return TRUE
+ return FALSE
+
+/datum/emote/living/subtler_table/run_emote(mob/user, params, type_override = null)
+ if(!locate(/obj/structure/table) in range(user, 1))
+ to_chat(user, "There are no tables around you.")
+ return FALSE
+ if(jobban_isbanned(user, "emote"))
+ to_chat(user, "You cannot send subtle emotes (banned).")
+ return FALSE
+ else if(user.client && user.client.prefs.muted & MUTE_IC)
+ to_chat(user, "You cannot send IC messages (muted).")
+ return FALSE
+ else if(!params)
+ var/subtle_emote = stripped_multiline_input_or_reflect(user, "Choose an emote to display.", "Subtler" , null, MAX_MESSAGE_LEN)
+ if(subtle_emote && !check_invalid(user, subtle_emote))
+ message = subtle_emote
+ else
+ return FALSE
+ else
+ message = params
+ if(type_override)
+ emote_type = type_override
+ . = TRUE
+ if(!can_run_emote(user))
+ return FALSE
+
+ user.log_message("[message] (TABLE-WRAPPING)", LOG_SUBTLER)
+ message = "[user] [user.say_emphasis(message)]"
+
+ var/list/show_to = list()
+ var/list/processing = list()
+ var/safety = 25
+ for(var/obj/structure/table/T in range(user, 1))
+ if(safety-- <= 0)
+ to_chat(user, "Table scan aborted early, some people might have not received the message (max 25)")
+ break
+ if(get_dist(T, user) > 7)
+ continue // nah
+ processing |= T
+ for(var/mob/M in range(T, 1))
+ show_to |= M
+ var/obj/structure/table/other
+ other = locate() in get_step(T, NORTH)
+ if(other)
+ processing |= other
+ other = locate() in get_step(T, SOUTH)
+ if(other)
+ processing |= other
+ other = locate() in get_step(T, WEST)
+ if(other)
+ processing |= other
+ other = locate() in get_step(T, EAST)
+ if(other)
+ processing |= other
+
+ for(var/i in show_to)
+ var/mob/M = show_to
+ M.show_message(message)
+
///////////////// VERB CODE
/mob/living/verb/subtle()
set name = "Subtle"
@@ -128,3 +190,12 @@ proc/get_top_level_mob(var/mob/S)
to_chat(usr, "Speech is currently admin-disabled.")
return
usr.emote("subtler")
+
+///////////////// VERB CODE 3
+/mob/living/verb/subtler_table()
+ set name = "Subtler Around Table"
+ set category = "IC"
+ if(GLOB.say_disabled) //This is dumb but it's here because heehoo copypaste, who the FUCK uses this to identify lag?
+ to_chat(usr, "Speech is currently admin-disabled.")
+ return
+ usr.emote("subtler_table")
From b885abb69dd761d80404fadec12dacbfc8b222c5 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 16:28:10 -0800
Subject: [PATCH 06/24] okay
---
code/modules/mob/say_vr.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 76c45b5d0e..2123400816 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -170,7 +170,7 @@ proc/get_top_level_mob(var/mob/S)
processing |= other
for(var/i in show_to)
- var/mob/M = show_to
+ var/mob/M = i
M.show_message(message)
///////////////// VERB CODE
From 97be4a5d12b5361caf3835863e9f7211ab41635a Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 17:34:31 -0700
Subject: [PATCH 07/24] Update say_vr.dm
---
code/modules/mob/say_vr.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 2123400816..11fd42c3b1 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -153,7 +153,7 @@ proc/get_top_level_mob(var/mob/S)
if(get_dist(T, user) > 7)
continue // nah
processing |= T
- for(var/mob/M in range(T, 1))
+ for(var/mob/living/M in range(T, 1)) // no ghosts/cameramobs
show_to |= M
var/obj/structure/table/other
other = locate() in get_step(T, NORTH)
From 36125c609d64e69a3d58d7933c419662da84cc99 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sat, 26 Dec 2020 18:41:31 -0800
Subject: [PATCH 08/24] ily putnam
---
code/modules/mob/say_vr.dm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 2123400816..5eb8dae286 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -147,6 +147,9 @@ proc/get_top_level_mob(var/mob/S)
var/list/processing = list()
var/safety = 25
for(var/obj/structure/table/T in range(user, 1))
+ processing |= T
+ for(var/i in processing)
+ var/obj/structure/table/T = i
if(safety-- <= 0)
to_chat(user, "Table scan aborted early, some people might have not received the message (max 25)")
break
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 09/24] 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 10/24] 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 11/24] 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 12/24] 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 13/24] 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 14/24] 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 15/24] 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
. = ..()
From e0c928a74562391f52f085193e04e58bc094e5cc Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 27 Dec 2020 06:57:15 -0700
Subject: [PATCH 16/24] Update respawn.dm
---
code/modules/mob/dead/observer/respawn.dm | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/code/modules/mob/dead/observer/respawn.dm b/code/modules/mob/dead/observer/respawn.dm
index f966051ed3..94ebf42a2a 100644
--- a/code/modules/mob/dead/observer/respawn.dm
+++ b/code/modules/mob/dead/observer/respawn.dm
@@ -155,16 +155,18 @@
penalize = client.prefs.respawn_restrictions_active
client.prefs.respawn_restrictions_active = penalize
- to_chat(src, "You have been respawned to the lobby. \
+ message_admins("[key_name_admin(src)] was respawned to lobby [penalize? "with" : "without"] restrictions.")
+ log_game("[key_name(src)] was respawned to lobby [penalize? "with" : "without"] restrictions.")
+ var/mob/dead/new_player/N = transfer_to_lobby()
+
+ to_chat(N, "You have been respawned to the lobby. \
Remember to take heed of rules regarding round knowledge - notably, that ALL past lives are forgotten. \
Any character you join as has NO knowledge of round events unless specified otherwise by an admin.")
- message_admins("[key_name_admin(src)] was respawned to lobby [penalize? "with" : "without"] restrictions.")
- log_game("[key_name(src)] was respawned to lobby [penalize? "with" : "without"] restrictions.")
- transfer_to_lobby()
-
/**
* Actual proc that removes us and puts us back on lobby
+ *
+ * Returns the new mob.
*/
/mob/dead/observer/proc/transfer_to_lobby()
if(!client) // if no one's in us we can just be deleted
@@ -179,3 +181,4 @@
var/mob/dead/new_player/M = new /mob/dead/new_player
M.ckey = ckey
+ return M
From d06c82ae6433090d2073bc50a21736e658867a1d Mon Sep 17 00:00:00 2001
From: HeroWithYay
Date: Mon, 28 Dec 2020 03:21:41 +1300
Subject: [PATCH 17/24] It has the wrong description, fixing it.
---
code/datums/diseases/advance/symptoms/flesh_eating.dm | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index 774d97202e..b2b71c9a8e 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -31,9 +31,8 @@ Bonus
var/bleed = FALSE
var/pain = FALSE
threshold_desc = list(
- "Resistance 9" = "Doubles the intensity of the immolation effect, but reduces the frequency of all of this symptom's effects.",
- "Stage Speed 8" = "Increases explosion radius and explosion damage to the host when the host is wet.",
- "Transmission 8" = "Additionally synthesizes chlorine trifluoride and napalm inside the host. More chemicals are synthesized if the resistance 9 threshold has been met."
+ "Resistance 7" = "Erodes the host's skin, causing them to bleed profusely.",
+ "Transmission 8" = "Eat's away at the host's musclemass, causing increased fatigue."
)
/datum/symptom/flesh_eating/Start(datum/disease/advance/A)
From 798b1b50f43a9473d03fa6d39257f7fd2d49b222 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 27 Dec 2020 10:38:07 -0700
Subject: [PATCH 18/24] Update plushes.dm
---
code/game/objects/items/plushes.dm | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index 9bc20565a6..5b0a593267 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -33,6 +33,8 @@
//--end of love :'(--
var/snowflake_id //if we set from a config snowflake plushie.
+ /// wrapper, do not use, read only
+ var/__ADMIN_SET_TO_ID
var/can_random_spawn = TRUE //if this is FALSE, don't spawn this for random plushies.
/obj/item/toy/plush/random_snowflake/Initialize(mapload, set_snowflake_id)
@@ -112,10 +114,21 @@
return ..()
+/obj/item/toy/plush/vv_get_var(var_name)
+ if(var_name == NAMEOF(src, __ADMIN_SET_TO_ID))
+ return debug_variables("__ADMIN: SET SNOWFLAKE ID", snowflake_id, 0, src)
+ return ..()
+
+/obj/item/toy/plush/vv_edit_var(var_name, var_value)
+ if(var_name == NAMEOF(src, __ADMIN_SET_TO_ID))
+ return set_snowflake_from_config(var_value)
+ return ..()
+
/obj/item/toy/plush/proc/set_snowflake_from_config(id)
var/list/configlist = CONFIG_GET(keyed_list/snowflake_plushies)
var/list/jsonlist = configlist[id]
- ASSERT(jsonlist)
+ if(!jsonlist)
+ return FALSE
jsonlist = json_decode(jsonlist)
if(jsonlist["inherit_from"])
var/path = text2path(jsonlist["inherit_from"])
@@ -151,6 +164,7 @@
var/datum/component/squeak/S = GetComponent(/datum/component/squeak)
S?.override_squeak_sounds = squeak_override
snowflake_id = id
+ return TRUE
/obj/item/toy/plush/handle_atom_del(atom/A)
if(A == grenade)
From d4f94724ece7855fffd3b22f1c6018d4556767e4 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Sun, 27 Dec 2020 10:51:44 -0700
Subject: [PATCH 19/24] Update plushes.dm
---
code/game/objects/items/plushes.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index 5b0a593267..3588b7be63 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -116,7 +116,7 @@
/obj/item/toy/plush/vv_get_var(var_name)
if(var_name == NAMEOF(src, __ADMIN_SET_TO_ID))
- return debug_variables("__ADMIN: SET SNOWFLAKE ID", snowflake_id, 0, src)
+ return debug_variable("__ADMIN: SET SNOWFLAKE ID", snowflake_id, 0, src)
return ..()
/obj/item/toy/plush/vv_edit_var(var_name, var_value)
From 0e9a29fc15b96036fdfb64f65e5074e5b5688e14 Mon Sep 17 00:00:00 2001
From: CitadelStationBot
Date: Mon, 28 Dec 2020 10:43:41 -0600
Subject: [PATCH 20/24] Automatic changelog generation for PR #13887 [ci skip]
---
html/changelogs/AutoChangeLog-pr-13887.yml | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-13887.yml
diff --git a/html/changelogs/AutoChangeLog-pr-13887.yml b/html/changelogs/AutoChangeLog-pr-13887.yml
new file mode 100644
index 0000000000..83069a4e64
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-13887.yml
@@ -0,0 +1,4 @@
+author: "HeroWithYay"
+delete-after: True
+changes:
+ - bugfix: "Changed description of Necrotizing Fasciitis symptom."
From eb8bb6c678303a914e7786d0a499848211387271 Mon Sep 17 00:00:00 2001
From: CitadelStationBot
Date: Mon, 28 Dec 2020 10:53:35 -0600
Subject: [PATCH 21/24] Automatic changelog generation for PR #13883 [ci skip]
---
html/changelogs/AutoChangeLog-pr-13883.yml | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-13883.yml
diff --git a/html/changelogs/AutoChangeLog-pr-13883.yml b/html/changelogs/AutoChangeLog-pr-13883.yml
new file mode 100644
index 0000000000..884adafffe
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-13883.yml
@@ -0,0 +1,5 @@
+author: "silicons"
+delete-after: True
+changes:
+ - rscadd: "set-pose has been added"
+ - tweak: "temporary flavor text renamed to set pose, fully visible in examine"
From e32f0a613f985fa694d3cfd04666ae457acef49b Mon Sep 17 00:00:00 2001
From: CitadelStationBot
Date: Mon, 28 Dec 2020 10:55:30 -0600
Subject: [PATCH 22/24] Automatic changelog generation for PR #13882 [ci skip]
---
html/changelogs/AutoChangeLog-pr-13882.yml | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-13882.yml
diff --git a/html/changelogs/AutoChangeLog-pr-13882.yml b/html/changelogs/AutoChangeLog-pr-13882.yml
new file mode 100644
index 0000000000..fe545bdc23
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-13882.yml
@@ -0,0 +1,4 @@
+author: "ERP mains"
+delete-after: True
+changes:
+ - rscadd: "Subtler Around Table is now a verb"
From b1e5888ce04faac65097f5bdd47fce8dcbaabe5e Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Mon, 28 Dec 2020 17:40:04 +0000
Subject: [PATCH 23/24] Update tackle.dm
---
code/datums/components/tackle.dm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index 5f55e5463a..c69df4f5e3 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -89,9 +89,9 @@
to_chat(user, "You can't tackle while tased!")
return
- var/left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM)
- var/right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM)
- if(left && right_paralysis)
+ var/left_paralysis = HAS_TRAIT(user, TRAIT_PARALYSIS_L_ARM)
+ var/right_paralysis = HAS_TRAIT(user, TRAIT_PARALYSIS_R_ARM)
+ if(left_paralysis && right_paralysis)
to_chat(user, "You can't tackle without the use of your arms!")
user.face_atom(A)
From 4e51f914f5ffc4f17fbb2612c9c66a3be64cb177 Mon Sep 17 00:00:00 2001
From: CitadelStationBot
Date: Mon, 28 Dec 2020 14:15:33 -0600
Subject: [PATCH 24/24] Automatic changelog generation for PR #13869 [ci skip]
---
html/changelogs/AutoChangeLog-pr-13869.yml | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-13869.yml
diff --git a/html/changelogs/AutoChangeLog-pr-13869.yml b/html/changelogs/AutoChangeLog-pr-13869.yml
new file mode 100644
index 0000000000..5d4ca4817c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-13869.yml
@@ -0,0 +1,6 @@
+author: "timothyteakettle"
+delete-after: True
+changes:
+ - tweak: "slime puddles are no longer layered down one layer"
+ - tweak: "you cannot tackle with two paralysed arms"
+ - tweak: "tackling with a single paralysed arm lowers your tackle roll by 2"