From c05781a5797361049ccd10391784b15a994f5f8a Mon Sep 17 00:00:00 2001 From: Archie Date: Tue, 8 Jun 2021 01:06:46 -0300 Subject: [PATCH] Lotsa runtime fixes --- code/datums/traits/good.dm | 8 ++++---- code/datums/traits/negative.dm | 7 +++++-- code/game/machinery/posi_alert.dm | 2 +- code/game/mecha/mech_fabricator.dm | 2 +- code/modules/modular_computers/hardware/battery_module.dm | 7 +++++-- code/modules/surgery/organs/organ_internal.dm | 4 +++- 6 files changed, 19 insertions(+), 11 deletions(-) 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..6b0b2b59 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -116,7 +116,7 @@ var/datum/material/M = mat_id var/amount = materials.materials[mat_id] var/ref = REF(M) - output += "[M.name]: [amount] cm³" + output += "[M]: [amount] cm³" if(amount >= MINERAL_MATERIAL_AMOUNT) output += "- Remove \[1\]" if(amount >= (MINERAL_MATERIAL_AMOUNT * 10)) diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm index c6b96e31..e03427cc 100644 --- a/code/modules/modular_computers/hardware/battery_module.dm +++ b/code/modules/modular_computers/hardware/battery_module.dm @@ -12,6 +12,10 @@ battery = new battery_type(src) ..() +/obj/item/computer_hardware/battery/Destroy() + . = ..() + QDEL_NULL(battery) + /obj/item/computer_hardware/battery/try_insert(obj/item/I, mob/living/user = null) if(!holder) return FALSE @@ -50,7 +54,6 @@ holder.shutdown_computer() return TRUE - return FALSE @@ -91,4 +94,4 @@ name = "nano battery" desc = "A tiny power cell, commonly seen in low-end portable microcomputers." icon_state = "cell_micro" - maxcharge = 300 \ No newline at end of file + maxcharge = 300 diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index cf224f7c..6e8056a1 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -25,6 +25,7 @@ var/now_fixed var/high_threshold_cleared var/low_threshold_cleared + rad_flags = RAD_NO_CONTAMINATE /obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) if(!iscarbon(M) || owner == M) @@ -134,7 +135,8 @@ ///Damage decrements by a percent of its maxhealth var/healing_amount = -(maxHealth * healing_factor) ///Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's health - healing_amount -= owner.satiety > 0 ? 4 * healing_factor * owner.satiety / MAX_SATIETY : 0 + if(owner) + healing_amount -= owner.satiety > 0 ? 4 * healing_factor * owner.satiety / MAX_SATIETY : 0 applyOrganDamage(healing_amount) //to FERMI_TWEAK //Make it so each threshold is stuck.