diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm
index a541de1013e..10c8a1a6fac 100644
--- a/code/game/atom_procs.dm
+++ b/code/game/atom_procs.dm
@@ -65,12 +65,12 @@
if (istype(W, /obj/item/device/detective_scanner))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O << text("\red [src] has been scanned by [user] with the [W]")
+ O << "\red [src] has been scanned by [user] with the [W]"
else
- if (!( istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) &&!(istype(W, /obj/item/weapon/cleaner)) &&!(istype(W, /obj/item/weapon/chemsprayer)) &&!(istype(W, /obj/item/weapon/pepperspray)) && !(istype(W, /obj/item/weapon/plantbgone)) )
+ if (!(istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) && !(istype(W, /obj/item/weapon/cleaner)) && !(istype(W, /obj/item/weapon/chemsprayer)) && !(istype(W, /obj/item/weapon/pepperspray)) && !(istype(W, /obj/item/weapon/plantbgone)) && !(istype(W, /obj/item/weapon/packageWrap)))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O << text("\red [] has been hit by [] with []", src, user, W)
+ O << "\red [src] has been hit by [user] with [W]"
return
/atom/proc/add_hiddenprint(mob/living/M as mob)
diff --git a/code/game/objects/closets.dm b/code/game/objects/closets.dm
index 22cc40a8a0f..1713c2fe7a7 100644
--- a/code/game/objects/closets.dm
+++ b/code/game/objects/closets.dm
@@ -129,16 +129,7 @@
del(src)
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(istype(W, /obj/item/weapon/packageWrap))
- var/obj/item/weapon/packageWrap/O = W
- if (O.amount > 3)
- var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
- P.wrapped = src
- src.close()
- src.welded = 1
- src.loc = P
- O.amount -= 3
- else if(src.opened)
+ if(src.opened)
if(istype(W, /obj/item/weapon/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
@@ -160,6 +151,8 @@
if(W)
W.loc = src.loc
+ else if(istype(W, /obj/item/weapon/packageWrap))
+ return
else if(istype(W, /obj/item/weapon/weldingtool) && W:welding )
if(!W:remove_fuel(0,user))
user << "\blue You need more welding fuel to complete this task."
diff --git a/code/game/objects/crates.dm b/code/game/objects/crates.dm
index d733a297016..786a34a43c6 100644
--- a/code/game/objects/crates.dm
+++ b/code/game/objects/crates.dm
@@ -287,19 +287,14 @@
return attack_hand(user)
/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/packageWrap))
- var/obj/item/weapon/packageWrap/O = W
- if (O.amount > 3)
- var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(src.loc))
- P.wrapped = src
- src.loc = P
- O.amount -= 3
- else if(opened)
+ if(opened)
if(isrobot(user))
return
user.drop_item()
if(W)
W.loc = src.loc
+ else if(istype(W, /obj/item/weapon/packageWrap))
+ return
else return attack_hand(user)
/obj/structure/closet/crate/secure/emp_act(severity)
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index 5917cacee4a..6ad353edb2b 100644
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -182,20 +182,6 @@
user.update_clothing()
return
-/obj/item/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/packageWrap))
- var/obj/item/weapon/packageWrap/O = W
- if(src.anchored) return
- if(!istype(loc,/turf))
- user << "\red You need to place the item on the ground before wrapping it!"
- return
- else if (O.amount > 1)
- var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(src.loc))
- P.wrapped = src
-
- src.loc = P
- O.amount -= 1
-
/obj/item/attack_self(mob/user as mob)
..()
if(twohanded)
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index eb9ae155fbc..84b87f72e38 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -2,19 +2,18 @@
desc = "A big wrapped package."
name = "large parcel"
icon = 'storage.dmi'
- icon_state = "deliverycrate"
+ icon_state = "deliverycloset"
var/obj/wrapped = null
density = 1
var/sortTag = 0
flags = FPRINT
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
-
attack_hand(mob/user as mob)
- if (src.wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
- src.wrapped.loc = (get_turf(src.loc))
- if (istype(src.wrapped,/obj/structure/closet))
- var/obj/structure/closet/O = src.wrapped
+ if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
+ wrapped.loc = (get_turf(src.loc))
+ if(istype(wrapped, /obj/structure/closet))
+ var/obj/structure/closet/O = wrapped
O.welded = 0
del(src)
return
@@ -48,9 +47,13 @@
flags = FPRINT
- attack_self(mob/user)
+ attack_self(mob/user as mob)
if (src.wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
- src.wrapped.loc = (get_turf(src.loc))
+ wrapped.loc = user.loc
+ if(ishuman(user))
+ user.put_in_hand(wrapped)
+ else
+ wrapped.loc = get_turf_loc(src)
del(src)
return
@@ -84,6 +87,8 @@
afterattack(var/obj/target as obj, mob/user as mob)
+ if(!(istype(target, /obj))) //this really shouldn't be necessary (but it is). -Pete
+ return
if(istype(target, /obj/structure/table) || istype(target, /obj/structure/rack) || istype(target,/obj/item/smallDelivery))
return
if(target.anchored)
@@ -93,7 +98,7 @@
user.attack_log += text("\[[time_stamp()]\] Has used [src.name] on \ref[target]")
- if (istype(target, /obj/item))
+ if (istype(target, /obj/item) && !(istype(target, /obj/item/weapon/storage)))
var/obj/item/O = target
if (src.amount > 1)
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc)) //Aaannd wrap it up!
@@ -107,27 +112,26 @@
var/obj/structure/closet/crate/O = target
if (src.amount > 3 && !O.opened)
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(O.loc))
+ P.icon_state = "deliverycrate"
P.wrapped = O
O.loc = P
src.amount -= 3
- else if(src.amount > 3)
+ else if(src.amount < 3)
user << "\blue You need more paper."
else if (istype (target, /obj/structure/closet))
var/obj/structure/closet/O = target
if (src.amount > 3 && !O.opened)
var/obj/effect/bigDelivery/P = new /obj/effect/bigDelivery(get_turf(O.loc))
P.wrapped = O
- O.opened = 0
O.welded = 1
O.loc = P
src.amount -= 3
- else if(src.amount > 3)
+ else if(src.amount < 3)
user << "\blue You need more paper."
else
user << "\blue The object you are trying to wrap is unsuitable for the sorting machinery!"
if (src.amount <= 0)
new /obj/item/weapon/c_tube( src.loc )
- //SN src = null
del(src)
return
return
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index dfef583a2a5..1d871a557e4 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ