Adds basic functionality to paperbundles

This commit is contained in:
Hubblenaut
2014-05-07 03:54:05 +02:00
parent 0f74b0f3bb
commit e620d41f41
2 changed files with 78 additions and 14 deletions

View File

@@ -316,24 +316,31 @@
clown = 1
if(istype(P, /obj/item/weapon/paper))
var/obj/item/weapon/paper_bundle/B = new(usr.loc)
var/obj/item/weapon/paper_bundle/B = new(src.loc)
B.icon_state = icon_state
B.overlays = overlays
B:add_item(icon_state)
if (name != "paper")
B.name = name
usr.drop_item()
B.loc = usr
if (usr.hand)
usr.l_hand = B
else if (P.name != "paper")
B.name = P.name
user.drop_from_inventory(P)
if (user.r_hand == src)
user.drop_from_inventory(src)
B.loc = user
user.r_hand = B
B.layer = 20
else
usr.r_hand = B
else if (user.l_hand == src)
user.drop_from_inventory(src)
B.loc = user
user.l_hand = B
B.layer = 20
if(istype(usr,/mob/living/carbon/human))
usr:update_inv_l_hand()
usr:update_inv_r_hand()
del(P)
del(src)
if(istype(user,/mob/living/carbon/human))
user:update_inv_l_hand()
user:update_inv_r_hand()
user << "<span class='notice'>You clip the papers together to create a bundle.</span>"
P.loc = B
src.loc = B
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
if ( istype(P, /obj/item/weapon/pen/robopen) && P:mode == 2 )

View File

@@ -3,10 +3,67 @@
gender = PLURAL
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "paper"
item_state = "paper"
throwforce = 0
w_class = 1.0
throw_range = 2
throw_speed = 1
layer = 4
pressure_resistance = 1
attack_verb = list("slaps")
attack_verb = list("bapped")
var/amount = 0 //Amount of items clipped to the paper
var/page = 0
/obj/item/weapon/paper_bundle/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = W
src.add_item(P.icon_state)
user << "<span class='notice'>You add [(P.name == "paper") ? "the paper" : P.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].</span>"
user.drop_from_inventory(P)
P.loc = src
if(istype(user,/mob/living/carbon/human))
user:update_inv_l_hand()
user:update_inv_r_hand()
add_fingerprint(usr)
return
/obj/item/weapon/paper_bundle/verb/rename()
set name = "Rename bundle"
set category = "Object"
set src in usr
var/n_name = copytext(sanitize(input(usr, "What would you like to label the bundle?", "Bundle Labelling", null) as text), 1, MAX_NAME_LEN)
if((loc == usr && usr.stat == 0))
name = "[(n_name ? text("[n_name]") : "paper")]"
add_fingerprint(usr)
return
/obj/item/weapon/paper_bundle/verb/remove_all()
set name = "Loose bundle"
set category = "Object"
set src in usr
usr << "<span class='notice'>You loosen the bundle.</span>"
for(var/obj/O in src)
O.loc = usr.loc
usr.drop_from_inventory(src)
if(istype(usr,/mob/living/carbon/human))
usr:update_inv_l_hand()
usr:update_inv_r_hand()
del(src)
return
/obj/item/weapon/paper_bundle/proc/add_item(state)
amount++
var/image/img = image('icons/obj/bureaucracy.dmi', state)
img.pixel_x -= min(1*amount, 2)
img.pixel_y -= min(1*amount, 2)
pixel_x = min(0.5*amount, 1)
pixel_y = min( 1*amount, 2)
underlays += img
return