diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index c025c551c8d..d5f29b1110d 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -79265,7 +79265,7 @@ /area/station/maintenance/department/crew_quarters/dorms) "pfO" = ( /obj/structure/rack, -/obj/item/vending_refill/security_peacekeeper, +/obj/item/vending_refill/security, /obj/item/storage/box/handcuffs, /obj/item/storage/box/flashbangs{ pixel_x = -2; diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 922e43c8f00..664bf50fd66 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -408,13 +408,13 @@ add_image_to_clients(active_typing_indicator, group_clients()) /mob/camera/imaginary_friend/remove_typing_indicator() - REMOVE_TRAIT(src, TRAIT_THINKING_IN_CHARACTER, CURRENTLY_TYPING_TRAIT) if(!active_typing_indicator) return FALSE remove_image_from_clients(active_typing_indicator, group_clients()) active_typing_indicator = null /mob/camera/imaginary_friend/remove_all_indicators() + REMOVE_TRAIT(src, TRAIT_THINKING_IN_CHARACTER, CURRENTLY_TYPING_TRAIT) remove_thinking_indicator() remove_typing_indicator() diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 950af6e8b8f..59866e73aec 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -405,3 +405,16 @@ if(!reagents.total_volume) icon_state = "mushroom_bowl" return ..() + +/obj/item/reagent_containers/cup/bowl/wood_bowl + name = "wooden bowl" + desc = "A bowl made out of wood. Primitive, but effective." + icon = 'icons/obj/mining_zones/ash_flora.dmi' + icon_state = "wood_bowl" + fill_icon_state = "fullbowl" + fill_icon = 'icons/obj/mining_zones/ash_flora.dmi' + +/obj/item/reagent_containers/cup/bowl/mushroom_bowl/update_icon_state() + if(!reagents.total_volume) + icon_state = "wood_bowl" + return ..() diff --git a/code/modules/tgui_input/say_modal/typing.dm b/code/modules/tgui_input/say_modal/typing.dm index d1c51d1356b..a6367c088d6 100644 --- a/code/modules/tgui_input/say_modal/typing.dm +++ b/code/modules/tgui_input/say_modal/typing.dm @@ -84,7 +84,6 @@ play_fov_effect(src, 6, "talk", ignore_self = TRUE) /mob/living/remove_thinking_indicator() - REMOVE_TRAIT(src, TRAIT_THINKING_IN_CHARACTER, CURRENTLY_TYPING_TRAIT) if(!active_thinking_indicator) return FALSE cut_overlay(active_thinking_indicator) @@ -104,6 +103,7 @@ active_typing_indicator = null /mob/living/remove_all_indicators() + REMOVE_TRAIT(src, TRAIT_THINKING_IN_CHARACTER, CURRENTLY_TYPING_TRAIT) remove_thinking_indicator() remove_typing_indicator() diff --git a/html/changelogs/AutoChangeLog-pr-1011.yml b/html/changelogs/AutoChangeLog-pr-1011.yml new file mode 100644 index 00000000000..d9e5b867694 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1011.yml @@ -0,0 +1,4 @@ +author: "GoldenAlpharex" +delete-after: True +changes: + - bugfix: "The typing indicator has overcome its shyness and is now back to its usual form." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-995.yml b/html/changelogs/AutoChangeLog-pr-995.yml new file mode 100644 index 00000000000..092b0b57910 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-995.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - bugfix: "The Peacekeeper Equipment Vendor has been restored to upstream standard contents with adjustments where needed, meaning that energy holsters are available as a premium option." + - bugfix: "Code-side thing: the reskinned SecTech and reskinned SecDrobe are just renamed, now, and not using entirely redundant resupply packages." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-997.yml b/html/changelogs/AutoChangeLog-pr-997.yml new file mode 100644 index 00000000000..231bcabb631 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-997.yml @@ -0,0 +1,5 @@ +author: "xXPawnStarrXx" +delete-after: True +changes: + - rscadd: "Added new storages for tribals/greytiders." + - rscadd: "Added wooden bowls." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-998.yml b/html/changelogs/AutoChangeLog-pr-998.yml deleted file mode 100644 index 41c2f788c0f..00000000000 --- a/html/changelogs/AutoChangeLog-pr-998.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "rarytech" -delete-after: True -changes: - - rscadd: "Added digi variations for tactical Hawaiian outfits" - - bugfix: "fixed digi blood-red pajamas" \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index 0f4666d4fed..149e5fb4737 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -250,3 +250,7 @@ - code_imp: power_cord.dm, whooping 4 lines of code. xXPawnStarrXx: - qol: made soups clean, for chefs. +2023-12-07: + rarytech: + - rscadd: Added digi variations for tactical Hawaiian outfits + - bugfix: fixed digi blood-red pajamas diff --git a/icons/obj/mining_zones/ash_flora.dmi b/icons/obj/mining_zones/ash_flora.dmi index d796c200071..1f4aa469e13 100644 Binary files a/icons/obj/mining_zones/ash_flora.dmi and b/icons/obj/mining_zones/ash_flora.dmi differ diff --git a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm index 3a59d18fc52..2b4b7cca870 100644 --- a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -76,13 +76,16 @@ GLOBAL_LIST_INIT(skyrat_wood_recipes, list( new/datum/stack_recipe("wooden shelf", /obj/structure/rack/wooden, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), new/datum/stack_recipe("seed shelf", /obj/machinery/smartfridge/seedshelf, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("produce bin", /obj/machinery/smartfridge/producebin, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), + new/datum/stack_recipe("produce display", /obj/machinery/smartfridge/producedisplay, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), + new/datum/stack_recipe("ration shelf", /obj/machinery/smartfridge/rationshelf, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("storage barrel", /obj/structure/closet/crate/wooden/storage_barrel, 4, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), new/datum/stack_recipe("worm barrel", /obj/structure/wormfarm, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), - new/datum/stack_recipe("gutlunch trough", /obj/structure/ore_container/gutlunch_trough, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("sturdy wooden fence", /obj/structure/railing/wooden_fencing, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), new/datum/stack_recipe("sturdy wooden fence gate", /obj/structure/railing/wooden_fencing/gate, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), + new/datum/stack_recipe("wooden bowl", /obj/item/reagent_containers/cup/bowl/wood_bowl, 3, time = 2 SECONDS, check_density = FALSE, category = CAT_TOOLS), )) + /obj/item/stack/sheet/mineral/wood/get_main_recipes() . = ..() . += GLOB.skyrat_wood_recipes diff --git a/modular_skyrat/master_files/code/modules/cargo/packs/vending_restock.dm b/modular_skyrat/master_files/code/modules/cargo/packs/vending_restock.dm deleted file mode 100644 index 5d7a9b95dc0..00000000000 --- a/modular_skyrat/master_files/code/modules/cargo/packs/vending_restock.dm +++ /dev/null @@ -1,5 +0,0 @@ -/datum/supply_pack/vending/sectech - special = TRUE - -/datum/supply_pack/vending/wardrobes/security - special = TRUE diff --git a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm index a9c1ce0b9fb..3a0b605fe36 100644 --- a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm +++ b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm @@ -111,3 +111,63 @@ new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) deconstruct(TRUE) return TOOL_ACT_TOOLTYPE_SUCCESS + +/obj/machinery/smartfridge/rationshelf + name = "Ration shelf" + desc = "A wooden shelf, used to store food... preferably preserved." + icon_state = "rationshelf" + icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi' + resistance_flags = FLAMMABLE + base_build_path = /obj/machinery/smartfridge/rationshelf + contents_icon_state = "ration" + use_power = NO_POWER_USE + light_power = 0 + idle_power_usage = 0 + circuit = null + has_emissive = FALSE + can_atmos_pass = ATMOS_PASS_YES + visible_contents = TRUE + +/obj/machinery/smartfridge/rationshelf/accept_check(obj/item/weapon) + return (IS_EDIBLE(weapon) || (istype(weapon,/obj/item/reagent_containers/cup/bowl) && length(weapon.reagents?.reagent_list))) + +/obj/machinery/smartfridge/rationshelf/structure_examine() + . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/smartfridge/rationshelf/crowbar_act(mob/living/user, obj/item/tool) + user.balloon_alert_to_viewers("disassembling...") + if(!tool.use_tool(src, user, 2 SECONDS, volume = 100)) + return + new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) + deconstruct(TRUE) + return TOOL_ACT_TOOLTYPE_SUCCESS + +/obj/machinery/smartfridge/producedisplay + name = "Produce display" + desc = "A wooden table with awning, used to display produce items." + icon_state = "producedisplay" + icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi' + resistance_flags = FLAMMABLE + base_build_path = /obj/machinery/smartfridge/producedisplay + contents_icon_state = "nonfood" + use_power = NO_POWER_USE + light_power = 0 + idle_power_usage = 0 + circuit = null + has_emissive = FALSE + can_atmos_pass = ATMOS_PASS_YES + visible_contents = TRUE + +/obj/machinery/smartfridge/producedisplay/accept_check(obj/item/weapon) + return (istype(weapon, /obj/item/grown) || istype(weapon, /obj/item/bouquet) || istype(weapon, /obj/item/clothing/head/costume/garland)) + +/obj/machinery/smartfridge/producedisplay/structure_examine() + . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/smartfridge/producedisplay/crowbar_act(mob/living/user, obj/item/tool) + user.balloon_alert_to_viewers("disassembling...") + if(!tool.use_tool(src, user, 2 SECONDS, volume = 100)) + return + new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) + deconstruct(TRUE) + return TOOL_ACT_TOOLTYPE_SUCCESS diff --git a/modular_skyrat/modules/primitive_structures/icons/storage.dmi b/modular_skyrat/modules/primitive_structures/icons/storage.dmi index 1c2c3626321..413a49e7eaa 100644 Binary files a/modular_skyrat/modules/primitive_structures/icons/storage.dmi and b/modular_skyrat/modules/primitive_structures/icons/storage.dmi differ diff --git a/modular_skyrat/modules/sec_haul/code/misc/packs.dm b/modular_skyrat/modules/sec_haul/code/misc/packs.dm index 4782e9ca6d6..d44a4a42901 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/packs.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/packs.dm @@ -1,19 +1,11 @@ -/datum/supply_pack/vending/sectech_skyrat +/datum/supply_pack/vending/sectech name = "Peacekeeper Equipment Supply Crate" desc = "Armadyne branded Peacekeeper supply crate, filled with things you need to restock the equipment vendor." - cost = CARGO_CRATE_VALUE * 3 - access = ACCESS_SECURITY - contains = list(/obj/item/vending_refill/security_peacekeeper) crate_name = "Peacekeeper equipment supply crate" - crate_type = /obj/structure/closet/crate/secure/gear -/datum/supply_pack/vending/wardrobes/security_skyrat +/datum/supply_pack/vending/wardrobes/security name = "Peacekeeper Wardrobe Supply Crate" - desc = "This crate contains refills for the Peacekeeper Outfitting Station and LawDrobe." - cost = CARGO_CRATE_VALUE * 3 - contains = list(/obj/item/vending_refill/wardrobe/peacekeeper_wardrobe, - /obj/item/vending_refill/wardrobe/law_wardrobe) - crate_name = "security department supply crate" + desc = "This crate contains refills for the Peacekeeper Outfitting Station, DetDrobe, and LawDrobe." /datum/supply_pack/vending/wardrobes/command name = "Command Wardrobe Supply Crate" diff --git a/modular_skyrat/modules/sec_haul/code/misc/vending.dm b/modular_skyrat/modules/sec_haul/code/misc/vending.dm index 29e0c77cb50..425087f5760 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/vending.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/vending.dm @@ -12,21 +12,25 @@ /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 6, /obj/item/restraints/legcuffs/bola/energy = 10, + /obj/item/clothing/gloves/tackler/security = 5, + ) + contraband = list( + /obj/item/clothing/glasses/sunglasses = 2, + /obj/item/storage/fancy/donut_box = 2, ) premium = list( - /obj/item/storage/belt/security/webbing = 4, - /obj/item/storage/belt/security/webbing/peacekeeper = 4, + /obj/item/storage/belt/security/webbing = 5, + /obj/item/storage/belt/security/webbing/peacekeeper = 5, /obj/item/coin/antagtoken = 1, /obj/item/clothing/head/helmet/blueshirt = 3, /obj/item/clothing/suit/armor/vest/blueshirt = 3, - /obj/item/clothing/gloves/tackler/security = 5, /obj/item/grenade/stingbang = 5, - /obj/item/watertank/pepperspray = 2 + /obj/item/watertank/pepperspray = 2, + /obj/item/storage/belt/holster/energy = 4, ) - refill_canister = /obj/item/vending_refill/security_peacekeeper -/obj/item/vending_refill/security_peacekeeper - icon_state = "refill_sec" +/obj/item/vending_refill/security + machine_name = "Armadyne Peacekeeper Equipment Vendor" /obj/machinery/vending/wardrobe/sec_wardrobe name = "\improper Peacekeeper Outfitting Station" @@ -61,12 +65,11 @@ premium = list( /obj/item/clothing/under/rank/security/officer/formal = 3, /obj/item/clothing/suit/jacket/officer/blue = 3, /obj/item/clothing/head/beret/sec/navyofficer = 3) - refill_canister = /obj/item/vending_refill/wardrobe/peacekeeper_wardrobe payment_department = ACCOUNT_SEC light_color = COLOR_MODERATE_BLUE -/obj/item/vending_refill/wardrobe/peacekeeper_wardrobe - machine_name = "Peacekeeper outfitting station" +/obj/item/vending_refill/wardrobe/sec_wardrobe + machine_name = "Peacekeeper Outfitting Station" //List for the old one, for when its mapped in; curates it nicely, adds /redsec to the items, and also prevents some conflicts with the above vendor /obj/machinery/vending/wardrobe/sec_wardrobe/red diff --git a/tgstation.dme b/tgstation.dme index 1435ef13aef..7741eb08d46 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6230,7 +6230,6 @@ #include "modular_skyrat\master_files\code\modules\cargo\packs\general.dm" #include "modular_skyrat\master_files\code\modules\cargo\packs\security.dm" #include "modular_skyrat\master_files\code\modules\cargo\packs\service.dm" -#include "modular_skyrat\master_files\code\modules\cargo\packs\vending_restock.dm" #include "modular_skyrat\master_files\code\modules\client\playtime.dm" #include "modular_skyrat\master_files\code\modules\client\preferences.dm" #include "modular_skyrat\master_files\code\modules\client\preferences_savefile.dm" diff --git a/tools/UpdatePaths/Scripts_Skyrat/25282_sectech_modularization.txt b/tools/UpdatePaths/Scripts_Skyrat/25282_sectech_modularization.txt new file mode 100644 index 00000000000..ee459abbdd7 --- /dev/null +++ b/tools/UpdatePaths/Scripts_Skyrat/25282_sectech_modularization.txt @@ -0,0 +1,2 @@ +/obj/item/vending_refill/security_peacekeeper : /obj/item/vending_refill/security +/obj/item/vending_refill/wardrobe/peacekeeper_wardrobe : /obj/item/vending_refill/wardrobe/sec_wardrobe