From ef061ccca6207dac662ea7649cd37437b085f5bd Mon Sep 17 00:00:00 2001 From: "heisen51@gmail.com" Date: Fri, 30 Dec 2011 14:17:51 +0000 Subject: [PATCH] Most of the objects that should have been wrappable but were not wrappable are now wrappable. This includes beakers, syringes, syringe guns, revolvers and food. If any more of such should-be-wrappable-but-is-not-wrappable objects are found, just put wrap(I, user) in the attackby proc. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2865 316c924e-a436-60f5-8080-3fe189b3f50e --- code/modules/chemical/Chemistry-Tools.dm | 16 +++++++++++++++- code/modules/projectiles/guns/projectile.dm | 1 + code/modules/recycling/sortingmachinery.dm | 18 ++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index a1e66042092..92ea94d49b6 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -29,6 +29,7 @@ R.my_atom = src attackby(obj/item/weapon/W as obj, mob/user as mob)//TODO:Have grenades use the new assembly things + wrap(W, user) if(istype(W,/obj/item/device/assembly_holder) && !stage && path != 2) path = 1 user << "\blue You add [W] to the metal casing." @@ -344,6 +345,7 @@ usr << "\blue [grenades] / [max_grenades] Grenades." attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) if((istype(I, /obj/item/weapon/chem_grenade)) || (istype(I, /obj/item/weapon/flashbang)) || (istype(I, /obj/item/weapon/smokebomb)) || (istype(I, /obj/item/weapon/mustardbomb)) || (istype(I, /obj/item/weapon/empgrenade))) if(grenades.len < max_grenades) user.drop_item() @@ -443,6 +445,7 @@ usr << "\blue [syringes] / [max_syringes] Syringes." attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) if(istype(I, /obj/item/weapon/reagent_containers/syringe)) if(syringes.len < max_syringes) user.drop_item() @@ -521,6 +524,7 @@ usr << "\blue [syringes] / [max_syringes] Syringes." attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) if(istype(I, /obj/item/weapon/reagent_containers/syringe)) if(syringes.len < max_syringes) user.drop_item() @@ -675,12 +679,14 @@ R.my_atom = src attackby(obj/item/weapon/W as obj, mob/user as mob) + wrap(W, user) return attack_self(mob/user as mob) return attack(mob/M as mob, mob/user as mob, def_zone) return attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) return @@ -888,6 +894,7 @@ return attack_hand() attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) @@ -1071,6 +1078,7 @@ return attack_hand() attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) @@ -1263,6 +1271,7 @@ return attackby(obj/item/weapon/W as obj, mob/user as mob) + wrap(W, user) return attack_self(mob/user as mob) return @@ -1334,6 +1343,7 @@ return 0 attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) return @@ -1356,7 +1366,7 @@ var/slices_num attackby(obj/item/weapon/W as obj, mob/user as mob) - + wrap(W, user) if((slices_num <= 0 || !slices_num) || !slice_path) return 1 var/inaccurate = 0 @@ -1562,6 +1572,7 @@ icon_state = "pill[rand(1,20)]" attackby(obj/item/weapon/W as obj, mob/user as mob) + wrap(W, user) return attack_self(mob/user as mob) return @@ -1604,6 +1615,7 @@ return 0 attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) @@ -2160,6 +2172,7 @@ volume = 50 attackby(obj/item/weapon/W as obj, mob/user as mob) + wrap(W, user) return attack_self(mob/user as mob) return @@ -2201,6 +2214,7 @@ return 0 attackby(obj/item/I as obj, mob/user as mob) + wrap(I, user) return afterattack(obj/target, mob/user , flag) diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 9d17671303f..fa65e654ee9 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -38,6 +38,7 @@ attackby(var/obj/item/A as obj, mob/user as mob) + wrap(A, user) var/num_loaded = 0 if(istype(A, /obj/item/ammo_magazine)) if((load_method == 2) && loaded.len) return diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 034ee612c1a..914d20f9fad 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -125,6 +125,24 @@ return return + +/obj/item/proc/wrap(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/packageWrap)) + var/obj/item/weapon/packageWrap/C = I + if(!istype(src.loc,/turf)) + user << "\red You need to place the item on the ground before wrapping it!" + return + else if (C.amount > 1) + var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(src.loc)) + P.wrapped = src + src.loc = P + C.amount -= 1 + if (C.amount <= 0) + new /obj/item/weapon/c_tube( C.loc ) + del(C) + return + + /obj/item/device/destTagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages."