Pickpocket Gloves fix

They can now take/place ids without notifying, and ids enter the
pickpocket's hand instead of dropping to the floor or not working.
This commit is contained in:
Bone White
2014-06-18 11:04:33 +01:00
parent 7aa89c1cdd
commit 89b8a002bf
2 changed files with 57 additions and 12 deletions
+1 -1
View File
@@ -149,7 +149,7 @@ var/list/uplink_items = list()
/datum/uplink_item/jobspecific/pickpocketgloves
name = "Pickpocket's Gloves"
desc = "A pair of sleek gloves to aid in pickpocketing, while wearing these you can see inside the pockets of any unsuspecting mark, loot the ID, belt, or pockets without them knowing, and pickpocketing puts the item directly into your hand."
desc = "A pair of sleek gloves to aid in pickpocketing, while wearing these you can see inside the pockets of any unsuspecting mark, loot the ID or pockets without them knowing, and pickpocketing puts the item directly into your hand."
item = /obj/item/clothing/gloves/black/thief
cost = 3
job = list("Assistant")
+56 -11
View File
@@ -565,7 +565,10 @@
/mob/living/carbon/human/Topic(href, href_list)
var/pickpocket = 0
if(!usr.stat && usr.canmove && !usr.restrained() && in_range(src, usr))
// if looting pockets with gloves, do it quietly
if(href_list["pockets"])
if(usr:gloves)
var/obj/item/clothing/gloves/G = usr:gloves
@@ -601,6 +604,47 @@
// Display a warning if the user mocks up
src << "<span class='warning'>You feel your [pocket_side] pocket being fumbled with!</span>"
// if looting id with gloves, do it quietly - this allows pickpocket gloves to take/place id stealthily - Bone White
if(href_list["item"])
var/itemTarget = href_list["item"]
if(itemTarget == "id")
if(usr:gloves)
var/obj/item/clothing/gloves/G = usr:gloves
pickpocket = G.pickpocket
if(pickpocket)
var/obj/item/worn_id = src.wear_id
var/obj/item/place_item = usr.get_active_hand() // Item to place in the pocket, if it's empty
if(worn_id)
usr << "<span class='notice'>You try to remove [src]'s ID.</span>"
else if(place_item && place_item.mob_can_equip(src, slot_wear_id, 1))
usr << "<span class='notice'>You try to place [place_item] onto [src].</span>"
else
return
if(do_mob(usr, src, STRIP_DELAY))
if(worn_id)
u_equip(worn_id)
usr.put_in_hands(worn_id)
else
if(place_item)
usr.u_equip(place_item)
equip_to_slot_if_possible(place_item, slot_wear_id, 0, 1)
// Update strip window
if(usr.machine == src && in_range(src, usr))
show_inv(usr)
else if(!pickpocket)
// Display a warning if the user mocks up
src << "<span class='warning'>You feel your ID slot being fumbled with!</span>"
if (href_list["refresh"])
if((machine)&&(in_range(src, usr)))
show_inv(machine)
@@ -615,17 +659,18 @@
if(ishuman(usr) && usr:gloves)
var/obj/item/clothing/gloves/G = usr:gloves
pickpocket = G.pickpocket
O.source = usr
O.target = src
O.item = usr.get_active_hand()
O.s_loc = usr.loc
O.t_loc = loc
O.place = href_list["item"]
O.pickpocket = pickpocket //Stealthy
requests += O
spawn( 0 )
O.process()
return
if(!pickpocket || href_list["item"] != "id") // Stop the non-stealthy verbose strip if pickpocketing id.
O.source = usr
O.target = src
O.item = usr.get_active_hand()
O.s_loc = usr.loc
O.t_loc = loc
O.place = href_list["item"]
O.pickpocket = pickpocket //Stealthy
requests += O
spawn( 0 )
O.process()
return
if (href_list["criminal"])
if(hasHUD(usr,"security"))