From bd0e54752e29e17ce30260a02a34cdff832a964e Mon Sep 17 00:00:00 2001 From: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Date: Sat, 25 May 2024 16:48:22 +0100 Subject: [PATCH] Removes the Sheet Snatcher 9000 (#25496) * Yeetus Deletus * removed icon --------- Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- .../objects/items/weapons/storage/bags.dm | 138 ------------------ .../mob/living/silicon/robot/robot_modules.dm | 1 - icons/obj/mining.dmi | Bin 11547 -> 11004 bytes 3 files changed, 139 deletions(-) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 153dfffef92..4f9051aa39a 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -8,7 +8,6 @@ * Trash Bag * Mining Satchel * Plant Bag - * Sheet Snatcher * Book Bag * Tray * @@ -262,143 +261,6 @@ depth = min(8, depth + 1) unsorted.sort(depth) -// ----------------------------- -// Sheet Snatcher -// ----------------------------- -// Because it stacks stacks, this doesn't operate normally. -// However, making it a storage/bag allows us to reuse existing code in some places. -Sayu - -/// what is this even used for -/obj/item/storage/bag/sheetsnatcher - icon = 'icons/obj/mining.dmi' - icon_state = "sheetsnatcher" - name = "Sheet Snatcher" - desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet." - - var/capacity = 300; //the number of sheets it can carry. - w_class = WEIGHT_CLASS_NORMAL - - allow_quick_empty = TRUE // this function is superceded - -/obj/item/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W as obj, stop_messages = 0) - if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood)) - if(!stop_messages) - to_chat(usr, "The snatcher does not accept [W].") - return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu - var/current = 0 - for(var/obj/item/stack/sheet/S in contents) - current += S.amount - if(capacity == current)//If it's full, you're done - if(!stop_messages) - to_chat(usr, "The snatcher is full.") - return 0 - return 1 - - -// Modified handle_item_insertion. Would prefer not to, but... -/obj/item/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W as obj, mob/user, prevent_warning = FALSE) - var/obj/item/stack/sheet/S = W - if(!istype(S)) return 0 - - var/amount - var/inserted = 0 - var/current = 0 - for(var/obj/item/stack/sheet/S2 in contents) - current += S2.amount - if(capacity < current + S.amount)//If the stack will fill it up - amount = capacity - current - else - amount = S.amount - - for(var/obj/item/stack/sheet/sheet in contents) - if(S.type == sheet.type) // we are violating the amount limitation because these are not sane objects - sheet.amount += amount // they should only be removed through procs in this file, which split them up. - S.amount -= amount - inserted = 1 - break - - if(!inserted || !S.amount) - usr.unEquip(S) - usr.update_icons() //update our overlays - if(usr.client && usr.s_active != src) - usr.client.screen -= S - S.dropped(usr) - if(!S.amount) - qdel(S) - else - S.loc = src - - if(usr.s_active) - usr.s_active.show_to(usr) - update_icon() - return 1 - - -// Sets up numbered display to show the stack size of each stored mineral -// NOTE: numbered display is turned off currently because it's broken -/obj/item/storage/bag/sheetsnatcher/orient2hud(mob/user as mob) - var/adjusted_contents = length(contents) - - //Numbered contents display - var/list/datum/numbered_display/numbered_contents - if(display_contents_with_number) - numbered_contents = list() - adjusted_contents = 0 - for(var/obj/item/stack/sheet/I in contents) - adjusted_contents++ - var/datum/numbered_display/D = new/datum/numbered_display(I) - D.number = I.amount - numbered_contents.Add( D ) - - var/row_num = 0 - var/col_count = min(7,storage_slots) -1 - if(adjusted_contents > 7) - row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width. - standard_orient_objs(row_num, col_count, numbered_contents) - return - - -/obj/item/storage/bag/sheetsnatcher/drop_inventory(mob/user) - var/location = get_turf(src) - for(var/obj/item/stack/sheet/S in contents) - while(S.amount) - var/obj/item/stack/sheet/N = new S.type(location) - var/stacksize = min(S.amount,N.max_amount) - N.amount = stacksize - S.amount -= stacksize - if(!S.amount) - qdel(S) // todo: there's probably something missing here - if(user.s_active) - user.s_active.show_to(user) - update_icon() - -// Instead of removing -/obj/item/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W as obj, atom/new_location) - var/obj/item/stack/sheet/S = W - if(!istype(S)) return 0 - - //I would prefer to drop a new stack, but the item/attack_hand code - // that calls this can't receive a different object than you clicked on. - //Therefore, make a new stack internally that has the remainder. - // -Sayu - - if(S.get_amount() > S.max_amount) - var/obj/item/stack/sheet/temp = new S.type(src) - temp.amount = S.amount - S.max_amount - S.amount = S.max_amount - - return ..(S,new_location) - -// ----------------------------- -// Sheet Snatcher (Cyborg) -// ----------------------------- - -/obj/item/storage/bag/sheetsnatcher/borg - name = "Sheet Snatcher 9000" - desc = "" - capacity = 500//Borgs get more because >specialization - - // ----------------------------- // Cash Bag // ----------------------------- diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 9bb5db6aea7..ab552133134 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -674,7 +674,6 @@ /obj/item/shovel, /obj/item/weldingtool/mini, /obj/item/extinguisher/mini, - /obj/item/storage/bag/sheetsnatcher/borg, /obj/item/t_scanner/adv_mining_scanner/cyborg, /obj/item/gun/energy/kinetic_accelerator/cyborg, /obj/item/gps/cyborg diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 4ca486bcfb7baec7f8ad57f1f4f33516643612bf..2457a57e8a92470077b2443aef6cfcc04eba7ae9 100644 GIT binary patch literal 11004 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