Merge pull request #17282 from coiax/brobot-is-an-artist

Service and standard cyborgs get a spraycan; service cyborgs get a cyborg-hand labeler
This commit is contained in:
Cheridan
2016-05-03 01:55:01 -05:00
5 changed files with 92 additions and 8 deletions
+51 -1
View File
@@ -1,5 +1,6 @@
/obj/item/weapon/hand_labeler
name = "hand labeler"
desc = "A combined label printer and applicator in a portable device, designed to be easy to operate and use."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "labeler0"
item_state = "flight"
@@ -7,6 +8,33 @@
var/labels_left = 30
var/mode = 0
/obj/item/weapon/hand_labeler/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is pointing \the [src] \
at \himself. They're going to label themselves as a suicide!</span>")
labels_left = max(labels_left - 1, 0)
var/old_real_name = user.real_name
user.real_name += " (suicide)"
// no conflicts with their identification card
for(var/atom/A in user)
if(istype(A, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/their_card = A
// only renames their card, as opposed to tagging everyone's
if(their_card.registered_name != old_real_name)
continue
their_card.registered_name = user.real_name
their_card.update_label()
// NOT EVEN DEATH WILL TAKE AWAY THE STAIN
user.mind.name += " (suicide)"
mode = 1
icon_state = "labeler[mode]"
label = "suicide"
return OXYLOSS
/obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user,proximity)
if(!proximity) return
@@ -63,10 +91,32 @@
labels_left = initial(labels_left)
return
/obj/item/weapon/hand_labeler/borg
name = "cyborg-hand labeler"
/obj/item/weapon/hand_labeler/borg/afterattack(atom/A, mob/user, proximity)
..(A, user, proximity)
if(!isrobot(user))
return
var/mob/living/silicon/robot/borgy = user
var/starting_labels = initial(labels_left)
var/diff = starting_labels - labels_left
if(diff)
labels_left = starting_labels
// 50 per label. Magical cyborg paper doesn't come cheap.
var/cost = diff * 50
// If the cyborg manages to use a module without a cell, they get the paper
// for free.
if(borgy.cell)
borgy.cell.use(cost)
/obj/item/hand_labeler_refill
name = "hand labeler paper roll"
icon = 'icons/obj/bureaucracy.dmi'
desc = "A roll of paper. Use it on a hand labeler to refill it."
icon_state = "labeler_refill"
item_state = "electropack"
w_class = 1
w_class = 1