diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index a836ac95..ab0f7584 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -123,6 +123,8 @@
signal_enabled = TRUE
/datum/proc/UnregisterSignal(datum/target, sig_type_or_types)
+ if(!target)
+ CRASH("[src] tried to unregister a signal without having a target.")
var/list/lookup = target.comp_lookup
if(!signal_procs || !signal_procs[target] || !lookup)
return
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index b1e073b9..1b02a0f1 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -300,7 +300,7 @@
/datum/quirk/draconicspeaker/remove()
var/mob/living/M = quirk_holder
- M.remove_language(/datum/language/draconic)
+ M?.remove_language(/datum/language/draconic)
/datum/quirk/slimespeaker
name = "Slime speaker"
@@ -316,7 +316,7 @@
/datum/quirk/slimespeaker/remove()
var/mob/living/M = quirk_holder
- M.remove_language(/datum/language/slime)
+ M?.remove_language(/datum/language/slime)
/datum/quirk/tajaspeaker
name = "Siik-Tajr speaker"
@@ -332,7 +332,7 @@
/datum/quirk/tajaspeaker/remove()
var/mob/living/M = quirk_holder
- M.remove_language(/datum/language/tajara)
+ M?.remove_language(/datum/language/tajara)
/datum/quirk/russianspeaker
name = "Neo-Russkiya speaker"
@@ -348,4 +348,4 @@
/datum/quirk/russianspeaker/remove()
var/mob/living/M = quirk_holder
- M.remove_language(/datum/language/spacerussian)
+ M?.remove_language(/datum/language/spacerussian)
diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index 56a65ccd..b2facc56 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -429,8 +429,11 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
/datum/quirk/mute/add()
var/mob/living/carbon/human/H = quirk_holder
mute = new
- H.gain_trauma(mute, TRAUMA_RESILIENCE_SURGERY)
- H.gain_trauma(TRAIT_MUTE, TRAUMA_RESILIENCE_SURGERY)
+ H.gain_trauma(mute, TRAUMA_RESILIENCE_ABSOLUTE)
+
+/datum/quirk/mute/remove()
+ var/mob/living/carbon/human/H = quirk_holder
+ H?.cure_trauma_type(mute, TRAUMA_RESILIENCE_ABSOLUTE)
/datum/quirk/mute/on_process()
if(quirk_holder.mind && LAZYLEN(quirk_holder.mind.antag_datums))
diff --git a/code/game/machinery/posi_alert.dm b/code/game/machinery/posi_alert.dm
index 24186a7e..8a5bde34 100644
--- a/code/game/machinery/posi_alert.dm
+++ b/code/game/machinery/posi_alert.dm
@@ -35,7 +35,7 @@
return
inuse = TRUE
flick("posialertflash",src)
- visible_message("There are positronic personalities available!", runechat_popup = TRUE)
+ visible_message("There are positronic personalities available!")
radio.talk_into(src, "There are positronic personalities available!", science_channel)
playsound(loc, 'sound/machines/ping.ogg', 50)
addtimer(CALLBACK(src, .proc/liftcooldown), 300)
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 611f3d36..74b61ef2 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -113,13 +113,12 @@
if(materials)
for(var/mat_id in materials.materials)
- var/datum/material/M = mat_id
- var/amount = materials.materials[mat_id]
+ var/datum/material/M = materials.materials[mat_id]
var/ref = REF(M)
- output += "[M.name]: [amount] cm³"
- if(amount >= MINERAL_MATERIAL_AMOUNT)
+ output += "[M.name]: [M.amount] cm³"
+ if(M.amount >= MINERAL_MATERIAL_AMOUNT)
output += "- Remove \[1\]"
- if(amount >= (MINERAL_MATERIAL_AMOUNT * 10))
+ if(M.amount >= (MINERAL_MATERIAL_AMOUNT * 10))
output += " | \[10\]"
output += " | \[50\]"
output += "
"
@@ -290,8 +289,9 @@
left_part += output_parts_list(part_set)
left_part += "