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