From 912738129bc1caf5ec5f2172fd2ec32d8e3d325e Mon Sep 17 00:00:00 2001 From: Alberyk Date: Sat, 10 Jun 2017 13:58:20 -0300 Subject: [PATCH] Bug fixes; resomi language, bloody hand and feets, suit cooling and more (#2653) Fixes #2652 Fixes #2276 Fixes #1975 Fixes #1590 --- .../game/objects/effects/decals/Cleanable/humans.dm | 2 +- code/game/objects/items/devices/suit_cooling.dm | 2 ++ code/modules/detectivework/tools/rag.dm | 2 +- code/modules/ghosttrap/trap.dm | 3 ++- code/modules/mob/living/carbon/carbon.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 4 ++-- .../modules/mob/living/silicon/robot/robot_items.dm | 7 +++---- .../mob/living/silicon/robot/robot_modules.dm | 1 - code/modules/research/rdconsole.dm | 13 ------------- code/modules/research/research.dm | 7 +++++++ 10 files changed, 20 insertions(+), 25 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index d070a5d9e82..02ba7e43a0b 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -123,7 +123,7 @@ if (blood_DNA) user.blood_DNA |= blood_DNA.Copy() - user.bloody_hands += taken + user.bloody_hands = taken user.hand_blood_color = basecolor user.update_inv_gloves(1) user.verbs += /mob/living/carbon/human/proc/bloody_doodle diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index 040ce6a474f..610495f3568 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -72,6 +72,8 @@ if(cell.charge <= 0) turn_off() + + update_icon() /obj/item/device/suit_cooling_unit/proc/get_environment_temperature() if (ishuman(loc)) diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index fd33888e86a..d796848a252 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -1,5 +1,5 @@ /mob - var/bloody_hands = 0 + var/bloody_hands = null var/mob/living/carbon/human/bloody_hands_mob var/track_blood = 0 var/list/feet_blood_DNA diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm index 21cccbc87d2..ae185f81467 100644 --- a/code/modules/ghosttrap/trap.dm +++ b/code/modules/ghosttrap/trap.dm @@ -230,7 +230,8 @@ datum/ghosttrap/drone/transfer_personality(var/mob/candidate, var/mob/living/sil /datum/ghosttrap/syndicateborg/welcome_candidate(var/mob/target) target << "You are a syndicate cyborg, bound to help and follow the orders of the mercenaries that are deploying you. Remember to speak to the other mercenaries to know more about their plans" - + mercs.add_antagonist_mind(target.mind,1) + /************** * pAI * **************/ diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index d61e0ce9497..94f0ffe5a27 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -303,8 +303,8 @@ H.update_inv_gloves(0) H.gloves.germ_level = 0 else - if(H.bloody_hands) - H.bloody_hands = 0 + if(!isnull(H.bloody_hands)) + H.bloody_hands = null H.update_inv_gloves(0) H.germ_level = 0 update_icons() //apply the now updated overlays to the mob diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 4652e1772d8..c7cd0b93f05 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1051,9 +1051,9 @@ /mob/living/carbon/human/clean_blood(var/clean_feet) .=..() gunshot_residue = null - if(clean_feet && !shoes && istype(feet_blood_DNA, /list) && feet_blood_DNA.len) + if(clean_feet && !shoes) feet_blood_color = null - qdel(feet_blood_DNA) + feet_blood_DNA = null update_inv_shoes(1) return 1 diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index cac6fc6083e..5d061e8e8fa 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -28,10 +28,9 @@ user << "You activate the analyzer's microlaser, analyzing \the [loaded_item] and breaking it down." flick("portable_analyzer_scan", src) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - var/list/temp_tech = ConvertReqString2List(loaded_item.origin_tech) - for(var/T in temp_tech) - files.UpdateTech(T, temp_tech[T]) - user << "\The [loaded_item] had level [temp_tech[T]] in [T]." + for(var/T in loaded_item.origin_tech) + files.UpdateTech(T, loaded_item.origin_tech[T]) + user << "\The [loaded_item] had level [loaded_item.origin_tech[T]] in [CallTechName(T)]." loaded_item = null for(var/obj/I in contents) for(var/mob/M in I.contents) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 83ffbbacb75..ea75b77a240 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -545,7 +545,6 @@ var/global/list/robot_modules = list( LANGUAGE_SIIK_MAAS = 1, LANGUAGE_SIIK_TAJR = 0, LANGUAGE_SKRELLIAN = 1, - LANGUAGE_RESOMI = 1, LANGUAGE_ROOTSONG = 1, LANGUAGE_TRADEBAND = 1, LANGUAGE_GUTTER = 1 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8a47622d453..96422dfc31e 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -47,19 +47,6 @@ won't update every console in existence) but it's more of a hassle to do. Also, req_access = list(access_research) //Data and setting manipulation requires scientist access. -/obj/machinery/computer/rdconsole/proc/CallTechName(var/ID) //A simple helper proc to find the name of a tech with a given ID. - var/datum/tech/check_tech - var/return_name = null - for(var/T in typesof(/datum/tech) - /datum/tech) - check_tech = null - check_tech = new T() - if(check_tech.id == ID) - return_name = check_tech.name - qdel(check_tech) - check_tech = null - break - return return_name - /obj/machinery/computer/rdconsole/proc/CallMaterialName(var/ID) var/return_name = ID switch(return_name) diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 8dc8a12263f..dc05acfd6f8 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -122,6 +122,13 @@ research holder datum. KT.level = max(KT.level + 1, level - 1) return +// A simple helper proc to find the name of a tech with a given ID. +/proc/CallTechName(var/ID) + for(var/T in subtypesof(/datum/tech)) + var/datum/tech/check_tech = T + if(initial(check_tech.id) == ID) + return initial(check_tech.name) + /*************************************************************** ** Technology Datums ** ** Includes all the various technoliges and what they make. **