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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