diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index e61a0a8ad4..974b98f73e 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -88,6 +88,7 @@ max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class max_w_class = WEIGHT_CLASS_NORMAL can_hold = list(/obj/item/weapon/ore) + var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it /obj/item/weapon/storage/bag/ore/cyborg name = "cyborg mining satchel" diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 58e6320397..68fc7d5ef8 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -23,6 +23,7 @@ ..() /obj/item/weapon/ore/Crossed(atom/movable/AM) + set waitfor = FALSE var/show_message = TRUE for(var/obj/item/weapon/ore/O in loc) if(O != src) @@ -48,7 +49,14 @@ break if(OB) var/obj/structure/ore_box/box - OB.handle_item_insertion(src, TRUE, AM) + if(!OB.can_be_inserted(src, TRUE, AM)) + if(!OB.spam_protection) + to_chat(AM, "Your [OB.name] is full and can't hold any more ore!") + OB.spam_protection = TRUE + sleep(1) + OB.spam_protection = FALSE + else + OB.handle_item_insertion(src, TRUE, AM) // Then, if the user is dragging an ore box, empty the satchel // into the box. var/mob/living/L = AM