diff --git a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/designs_and_tech.dm b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/designs_and_tech.dm index c0cbd7f13ef..5f46e0d65c6 100644 --- a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/designs_and_tech.dm +++ b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/designs_and_tech.dm @@ -120,7 +120,7 @@ /datum/design/xenoarch/equipment/bag name = "Xenoarchaeology Bag" - desc = "A bag that can hold about twenty-five strange rocks." + desc = "A bag that can hold about twenty-five strange rocks or relics." id = "xenoarch_bag" build_path = /obj/item/storage/bag/xenoarch @@ -132,7 +132,7 @@ /datum/design/xenoarch/equipment/bag_adv name = "Advanced Xenoarch Bag" - desc = "A bag that can hold about fifty strange rocks." + desc = "A bag that can hold about fifty strange rocks or relics." id = "xenoarch_bag_adv" materials = list( /datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT, diff --git a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_item.dm b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_item.dm index 4a85d2f1957..2f955be0681 100644 --- a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_item.dm +++ b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_item.dm @@ -240,7 +240,7 @@ The brushes allow you to uncover the items within the proper depths without damaging it.
\ The tape will allow you to tag the strange rock with the current depth. Continue to examine the rock for updates.
\ The belt will allow you to store your mobile/handheld tools for easy access.
\ - The bag will allow you to store and automatically pickup strange rocks that you find lying on the floor.
\ + The bag will allow you to store and automatically pickup strange rocks and relics that you find lying on the floor.
\ The handheld machines allow you to not have to be stuck at the machines. There are only handheld scanners and recoverers.
\ The Scanner is a machine which allows you to tag the strange rock with its max and safe depth.
\ The Researcher is a machine that allows you to compile/condense relics and items into larger strange artifacts.
\ diff --git a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_machine.dm b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_machine.dm index 2ebd6840fcb..32f2f743e4d 100644 --- a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_machine.dm +++ b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_machine.dm @@ -114,11 +114,13 @@ return ITEM_INTERACT_SKIP_TO_ATTACK if(istype(tool, /obj/item/storage/bag/xenoarch)) - for(var/obj/item/xenoarch/strange_rocks in tool.contents) + for(var/obj/item/strange_rocks in tool.contents) + if(!is_type_in_list(strange_rocks, accepted_types)) + continue strange_rocks.forceMove(src) xenoarch_contents += strange_rocks - balloon_alert(user, "rocks inserted!") + balloon_alert(user, "items inserted!") return ITEM_INTERACT_SUCCESS if(is_type_in_list(tool, accepted_types)) @@ -189,6 +191,7 @@ var/reward_attempt = accepted_types[first_item.type] current_research = min(current_research + reward_attempt, 300) xenoarch_contents -= first_item + playsound(src, 'sound/machines/ping.ogg', 50, FALSE) qdel(first_item) /obj/machinery/xenoarch/scanner @@ -252,11 +255,22 @@ if(istype(held_item, /obj/item/xenoarch/broken_item)) context[SCREENTIP_CONTEXT_LMB] = "Insert item" return CONTEXTUAL_SCREENTIP_SET + if(istype(held_item, /obj/item/storage/bag/xenoarch)) + context[SCREENTIP_CONTEXT_LMB] = "Dump bag into machine" + return CONTEXTUAL_SCREENTIP_SET /obj/machinery/xenoarch/recoverer/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(user.combat_mode) return ITEM_INTERACT_SKIP_TO_ATTACK + if(istype(tool, /obj/item/storage/bag/xenoarch)) + for(var/obj/item/xenoarch/broken_item/current_item in tool.contents) + current_item.forceMove(src) + xenoarch_contents += current_item + + balloon_alert(user, "items inserted!") + return ITEM_INTERACT_SUCCESS + if(istype(tool, /obj/item/xenoarch/broken_item)) tool.forceMove(src) xenoarch_contents += tool @@ -326,7 +340,7 @@ return ITEM_INTERACT_SKIP_TO_ATTACK if(istype(tool, /obj/item/storage/bag/xenoarch)) - for(var/obj/item/strange_rocks in tool.contents) + for(var/obj/item/xenoarch/strange_rock/strange_rocks in tool.contents) strange_rocks.forceMove(src) xenoarch_contents += strange_rocks @@ -361,4 +375,5 @@ var/obj/item/xenoarch/strange_rock/first_item = xenoarch_contents[1] new first_item.hidden_item(src_turf) xenoarch_contents -= first_item + playsound(src, 'sound/machines/click.ogg', 50, TRUE) qdel(first_item) diff --git a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_tool.dm b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_tool.dm index 7bfa40155cd..82c07a183f3 100644 --- a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_tool.dm +++ b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/xenoarch_tool.dm @@ -201,7 +201,7 @@ /obj/item/storage/bag/xenoarch name = "xenoarch mining satchel" - desc = "This little bugger can be used to store and transport strange rocks." + desc = "This little bugger can be used to store and transport rocks and relics." icon = 'modular_skyrat/modules/xenoarch/icons/xenoarch_items.dmi' icon_state = "satchel" worn_icon_state = "satchel" @@ -220,7 +220,11 @@ atom_storage.max_total_storage = 1000 atom_storage.max_slots = 25 atom_storage.numerical_stacking = FALSE - atom_storage.can_hold = typecacheof(list(/obj/item/xenoarch/strange_rock)) + atom_storage.can_hold = typecacheof(list( + /obj/item/xenoarch/strange_rock, + /obj/item/xenoarch/broken_item, + /obj/item/xenoarch/useless_relic, + )) /obj/item/storage/bag/xenoarch/equipped(mob/user) . = ..() @@ -263,8 +267,8 @@ if(show_message) playsound(user, SFX_RUSTLE, 50, TRUE) - user.visible_message(span_notice("[user] scoops up the rocks beneath [user.p_them()]."), \ - span_notice("You scoop up the rocks beneath you with your [name].")) + user.visible_message(span_notice("[user] scoops up the items beneath [user.p_them()]."), \ + span_notice("You scoop up the items beneath you with your [name].")) spam_protection = FALSE