Merge pull request #276 from SkyMarshal/master

Weldpack added, not on map; Clipboards fit on belt; Wrapping is more robust.
This commit is contained in:
Albert Iordache
2012-01-12 11:43:39 -08:00
7 changed files with 54 additions and 42 deletions
+14 -15
View File
@@ -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,27 +679,14 @@
R.my_atom = src
attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/packageWrap))
if(istype(src.loc,/obj/item/weapon/storage) || istype(src.loc,/obj/item/clothing/suit/storage/)) //Taking stuff out of storage duplicates it.
user << "\blue Do not do this, it is broken as all hell. Take it out of the container first."
return
for(var/obj/item/T in user) //Lets remove it from their inventory
if(T == src)
user.remove_from_mob(T)
break
var/obj/item/weapon/packageWrap/O = W
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
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
@@ -1086,6 +1077,7 @@
return attack_hand()
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -1279,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
@@ -1350,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
@@ -1372,6 +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
@@ -1578,6 +1573,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
@@ -1620,6 +1616,7 @@
return 0
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -2176,6 +2173,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
@@ -2217,6 +2215,7 @@
return 0
attackby(obj/item/I as obj, mob/user as mob)
wrap(I,user)
return
afterattack(obj/target, mob/user , flag)
@@ -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
+16 -2
View File
@@ -163,8 +163,6 @@
..()
return
/obj/item/weapon/packageWrap
name = "package wrapper"
icon = 'items.dmi'
@@ -220,6 +218,22 @@
..()
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 or a table 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."