diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index c16f9727297..dc796b69fc9 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -21,7 +21,7 @@ var/hibernate = 0 //Do we even process? var/scrubbing = 1 //0 = siphoning, 1 = scrubbing - var/list/scrubbing_gas = list(GAS_CO2) + var/list/scrubbing_gas var/panic = 0 //is this scrubber panicked? @@ -52,6 +52,24 @@ if (frequency) set_frequency(frequency) + if (!scrubbing_gas) + reset_scrubbing() + +/obj/machinery/atmospherics/unary/vent_scrubber/proc/reset_scrubbing() + if (initial(scrubbing_gas)) + scrubbing_gas = initial(scrubbing_gas) + else + scrubbing_gas = list() + for (var/g in gas_data.gases) + if (g != GAS_OXYGEN && g != GAS_NITROGEN) + add_to_scrubbing(g) + +/obj/machinery/atmospherics/unary/vent_scrubber/proc/add_to_scrubbing(new_gas) + scrubbing_gas |= new_gas + +/obj/machinery/atmospherics/unary/vent_scrubber/proc/remove_from_scrubbing(old_gas) + scrubbing_gas -= old_gas + /obj/machinery/atmospherics/unary/vent_scrubber/atmos_init() ..() broadcast_status() @@ -243,7 +261,7 @@ toggle += GAS_N2O else if(signal.data["toggle_n2o_scrub"]) toggle += GAS_N2O - + if(!isnull(signal.data["h2_scrub"]) && text2num(signal.data["h2_scrub"]) != (GAS_HYDROGEN in scrubbing_gas)) toggle += GAS_HYDROGEN else if(signal.data["toggle_h2_scrub"]) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 5627fd9c2a8..29a70557039 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -367,48 +367,6 @@ sleep(1) animate(I, alpha = 0, transform = matrix(), time = 1) -/atom/movable/proc/do_putdown_animation(atom/target, mob/user) - spawn() - if(QDELETED(src)) - return - if(QDELETED(target)) - return - if(QDELETED(user)) - return - var/old_invisibility = invisibility // I don't know, it may be used. Basically turns the actual object invisible while the animation plays. - invisibility = 100 - var/turf/old_turf = get_turf(user) - if(QDELETED(old_turf)) - return - var/image/I = image(icon = src, loc = old_turf, layer = layer + 0.1) - I.transform = matrix() * 0 - I.appearance_flags = (RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA|PIXEL_SCALE) - I.pixel_x = 0 - I.pixel_y = 0 - if (istype(target,/mob)) - I.dir = target.dir - - var/list/viewing = list() - for (var/mob/M in viewers(target)) - if (M.client) - viewing |= M.client - flick_overlay(I, viewing, 4) - - var/to_x = (target.x - old_turf.x) * 32 + pixel_x - var/to_y = (target.y - old_turf.y) * 32 + pixel_y - var/old_x = pixel_x - var/old_y = pixel_y - pixel_x = 0 - pixel_y = 0 - - animate(I, pixel_x = to_x, pixel_y = to_y, time = 3, transform = matrix(), easing = CUBIC_EASING) - sleep(3) - if(QDELETED(src)) - return - invisibility = old_invisibility - pixel_x = old_x - pixel_y = old_y - /atom/movable/proc/simple_move_animation(atom/target) set waitfor = FALSE diff --git a/code/game/objects/items/weapons/chaplain_items.dm b/code/game/objects/items/weapons/chaplain_items.dm index 2e19bfa0920..bd6b87b7bdc 100644 --- a/code/game/objects/items/weapons/chaplain_items.dm +++ b/code/game/objects/items/weapons/chaplain_items.dm @@ -4,6 +4,10 @@ name = "null rod" desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae." icon = 'icons/obj/weapons.dmi' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/weapons/lefthand_nullrod.dmi', + slot_r_hand_str = 'icons/mob/items/weapons/righthand_nullrod.dmi', + ) icon_state = "nullrod" item_state = "nullrod" slot_flags = SLOT_BELT diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 5d33bdeca94..91dac4e85ae 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -216,7 +216,8 @@ new /obj/item/clothing/head/bandana/engineering(src) new /obj/item/clothing/head/bandana/engineering(src) new /obj/item/clothing/head/bandana/engineering(src) - return + new /obj/item/clothing/suit/storage/toggle/highvis(src) + new /obj/item/clothing/suit/storage/toggle/highvis(src) /obj/structure/closet/wardrobe/white diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 8d58b8319ec..a1f7b08cb2d 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -529,7 +529,7 @@ // Short of a rewrite, this is necessary to stop monkeycubes being washed. else if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) return - else if(istype(O, /obj/item/mop)) + else if(istype(O, /obj/item/mop) || istype(O, /obj/item/reagent_containers/glass/rag)) O.reagents.add_reagent(/decl/reagent/water, 5) to_chat(user, SPAN_NOTICE("You wet \the [O] in \the [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, 1) diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 51a5329bd59..80238713c97 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -44,6 +44,7 @@ jackets["flannel jacket, grey"] = /obj/item/clothing/suit/storage/toggle/flannel/gray jackets["flannel jacket, purple"] = /obj/item/clothing/suit/storage/toggle/flannel/purple jackets["flannel jacket, yellow"] = /obj/item/clothing/suit/storage/toggle/flannel/yellow + jackets["high visibility jacket"] = /obj/item/clothing/suit/storage/toggle/highvis jackets["black vest"] = /obj/item/clothing/suit/storage/toggle/leather_vest jackets["brown vest"] = /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless jackets["leather coat"] = /obj/item/clothing/suit/storage/leathercoat diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e2663fe8625..192b94f74fa 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -375,6 +375,15 @@ . = ..() color = get_random_colour(lower = 150) +/obj/item/clothing/suit/storage/toggle/highvis + name = "high visibility jacket" + desc = "A loose-fitting, high visibility jacket to help crew be recognizable in high traffic areas with large industrial equipment." + icon = 'icons/clothing/suits/highvis.dmi' + icon_state = "highvis" + item_state = "highvis" + body_parts_covered = UPPER_TORSO|ARMS + contained_sprite = TRUE + /obj/item/clothing/suit/storage/toggle/track name = "track jacket" desc = "a track jacket, for the athletic." diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 10859c0bc91..73cb78eed68 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -33,6 +33,7 @@ pickup_sound = 'sound/items/pickup/cloth.ogg' var/last_clean var/clean_msg = FALSE + fragile = 0 /obj/item/reagent_containers/glass/rag/Initialize() . = ..() diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 9ae894fe523..98606f87fbe 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -194,7 +194,6 @@ var/list/slot_equipment_priority = list( \ remove_from_mob(W) if(!(W && W.loc)) return TRUE - W.do_putdown_animation(target, src) W.forceMove(target) update_icon() return TRUE diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 5f7b22446c8..ec94ec189f9 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -325,12 +325,6 @@ There are several things that need to be remembered: else base_icon.Blend(temp, ICON_OVERLAY) - part.cut_additional_images(src) - var/list/add_images = part.get_additional_images(src) - if(add_images) - add_overlay(add_images, TRUE) - compile_overlays() - if(!(species.flags & NO_SCAN)) if(husk) base_icon.ColorTone(husk_color_mod) @@ -345,6 +339,14 @@ There are several things that need to be remembered: SSicon_cache.human_icon_cache[icon_key] = base_icon + for(var/thing in organs) + var/obj/item/organ/external/part = thing + part.cut_additional_images(src) + var/list/add_images = part.get_additional_images(src) + if(add_images) + add_overlay(add_images, TRUE) + compile_overlays() + //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) diff --git a/code/modules/mob/living/silicon/robot/items/gripper.dm b/code/modules/mob/living/silicon/robot/items/gripper.dm index 2d69ac0c71b..6c539af7480 100644 --- a/code/modules/mob/living/silicon/robot/items/gripper.dm +++ b/code/modules/mob/living/silicon/robot/items/gripper.dm @@ -112,7 +112,6 @@ if(wrapped.loc == src) if(force_holder) wrapped.force = force_holder - wrapped.do_putdown_animation(target, loc) wrapped.forceMove(target) force_holder = null to_chat(loc, SPAN_NOTICE("You release \the [wrapped].")) // loc will always be the cyborg diff --git a/code/modules/modular_computers/file_system/programs/generic/records.dm b/code/modules/modular_computers/file_system/programs/generic/records.dm index a674a884f87..feb45079545 100644 --- a/code/modules/modular_computers/file_system/programs/generic/records.dm +++ b/code/modules/modular_computers/file_system/programs/generic/records.dm @@ -141,6 +141,7 @@ VUEUI_SET_CHECK(data["allrecords"][R.id]["sex"], R.sex, ., data) VUEUI_SET_CHECK(data["allrecords"][R.id]["age"], R.age, ., data) VUEUI_SET_CHECK(data["allrecords"][R.id]["fingerprint"], R.fingerprint, ., data) + VUEUI_SET_CHECK(data["allrecords"][R.id]["has_notes"], (R.notes != "No notes found."), ., data) if(R.medical) VUEUI_SET_CHECK(data["allrecords"][R.id]["blood"], R.medical.blood_type, ., data) VUEUI_SET_CHECK(data["allrecords"][R.id]["dna"], R.medical.blood_dna, ., data) diff --git a/html/changelog.html b/html/changelog.html index 997257ba1ad..d2d72242974 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -35,6 +35,29 @@ -->
+

25 January 2021

+

Alberyk updated:

+ +

Geeves updated:

+ +

SierraKomodo updated:

+ +

Wowzewow (Wezzy) updated:

+ +

24 January 2021

Alberyk updated: