From 73557a5e5f66729e34f88c1b57fd04969b583131 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 1 Jul 2017 23:20:39 -0500 Subject: [PATCH] Fixes cardboard tube duping (#1854) --- code/game/objects/items/stacks/cash.dm | 2 +- code/game/objects/items/stacks/sheets/glass.dm | 6 +++--- code/game/objects/items/stacks/stack.dm | 6 +++--- code/game/objects/items/stacks/wrap.dm | 18 ++++++++++-------- code/modules/recycling/sortingmachinery.dm | 4 ++-- 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm index aa07367700..899381af65 100644 --- a/code/game/objects/items/stacks/cash.dm +++ b/code/game/objects/items/stacks/cash.dm @@ -26,7 +26,7 @@ . = ..() update_desc() -/obj/item/stack/spacecash/use() +/obj/item/stack/spacecash/use(used, transfer = FALSE) . = ..() update_desc() diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 622f878d4a..2fb430bdff 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -98,9 +98,9 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ /obj/item/stack/sheet/rglass/cyborg/get_amount() return min(round(source.energy / metcost), round(glasource.energy / glacost)) -/obj/item/stack/sheet/rglass/cyborg/use(amount) // Requires special checks, because it uses two storages - source.use_charge(amount * metcost) - glasource.use_charge(amount * glacost) +/obj/item/stack/sheet/rglass/cyborg/use(used, transfer = FALSE) // Requires special checks, because it uses two storages + source.use_charge(used * metcost) + glasource.use_charge(used * glacost) /obj/item/stack/sheet/rglass/cyborg/add(amount) source.add_charge(amount * metcost) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 381b69b44f..f7206baa28 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -202,7 +202,7 @@ return 0 return 1 -/obj/item/stack/proc/use(var/used) // return 0 = borked; return 1 = had enough +/obj/item/stack/proc/use(used, transfer = FALSE) // return 0 = borked; return 1 = had enough if(zero_amount()) return 0 if (is_cyborg) @@ -242,7 +242,7 @@ if(pulledby) pulledby.start_pulling(S) S.copy_evidences(src) - use(transfer) + use(transfer, TRUE) S.add(transfer) /obj/item/stack/Crossed(obj/o) @@ -291,7 +291,7 @@ user.put_in_hands(F) add_fingerprint(user) F.add_fingerprint(user) - use(amount) + use(amount, TRUE) diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 7dcc2acb66..15ed02737c 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -14,10 +14,11 @@ max_amount = 25 resistance_flags = FLAMMABLE -/obj/item/stack/wrapping_paper/Destroy() - if(!amount) - new /obj/item/weapon/c_tube(get_turf(src)) - return ..() +/obj/item/stack/wrapping_paper/use(used, transfer) + var/turf/T = get_turf(src) + ..() + if(QDELETED(src) && !transfer) + new /obj/item/weapon/c_tube(T) /* @@ -99,10 +100,11 @@ user.visible_message("[user] wraps [target].") user.log_message("Has used [name] on [target]", INDIVIDUAL_ATTACK_LOG) -/obj/item/stack/packageWrap/Destroy() - if(!amount) - new /obj/item/weapon/c_tube(get_turf(src)) - return ..() +/obj/item/stack/packageWrap/use(used, transfer = FALSE) + var/turf/T = get_turf(src) + ..() + if(QDELETED(src) && !transfer) + new /obj/item/weapon/c_tube(T) /obj/item/weapon/c_tube name = "cardboard tube" diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index fb0a4f5edb..96f87ba499 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -5,7 +5,7 @@ icon_state = "deliverycloset" density = 1 mouse_drag_pointer = MOUSE_ACTIVE_POINTER - var/giftwrapped = 0 + var/giftwrapped = FALSE var/sortTag = 0 /obj/structure/bigDelivery/attack_hand(mob/user) @@ -44,7 +44,7 @@ var/obj/item/stack/wrapping_paper/WP = W if(WP.use(3)) user.visible_message("[user] wraps the package in festive paper!") - giftwrapped = 1 + giftwrapped = TRUE icon_state = "gift[icon_state]" else to_chat(user, "You need more paper!")