Merge pull request #3203 from Tastyfish/multipens

Added multicolor pens for NT Rep, Magistrate, and IAA
This commit is contained in:
Fox McCloud
2016-01-13 02:35:03 -05:00
8 changed files with 90 additions and 22 deletions
@@ -1,23 +1,20 @@
// A special pen for service droids. Can be toggled to switch between normal writing mode, and paper rename mode
// Allows service droids to rename paper items.
/obj/item/weapon/pen/robopen
/obj/item/weapon/pen/multi/robopen
desc = "A black ink printing attachment with a paper naming mode."
name = "Printing Pen"
var/mode = 1
/obj/item/weapon/pen/robopen/attack_self(mob/user as mob)
/obj/item/weapon/pen/multi/robopen/attack_self(mob/user as mob)
var/choice = input("Would you like to change colour or mode?") as null|anything in list("Colour","Mode")
if(!choice) return
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
switch(choice)
if("Colour")
var/newcolour = input("Which colour would you like to use?") as null|anything in list("black","blue","red","green","yellow")
if(newcolour) colour = newcolour
select_colour(user)
if("Mode")
if (mode == 1)
@@ -25,13 +22,14 @@
else
mode = 1
user << "Changed printing mode to '[mode == 2 ? "Rename Paper" : "Write Paper"]'"
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
return
// Copied over from paper's rename verb
// see code\modules\paperwork\paper.dm line 62
/obj/item/weapon/pen/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj)
/obj/item/weapon/pen/multi/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj)
if ( !user || !paper )
return
var/n_name = input(user, "What would you like to label the paper?", "Paper Labelling", null) as text
@@ -314,7 +314,7 @@
New()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash/cyborg(src)
src.modules += new /obj/item/weapon/pen/robopen(src)
src.modules += new /obj/item/weapon/pen/multi/robopen(src)
src.modules += new /obj/item/weapon/form_printer(src)
src.modules += new /obj/item/device/taperecorder(src)
src.modules += new /obj/item/weapon/gripper/paperwork(src)
+2 -2
View File
@@ -416,8 +416,8 @@
B.update_icon()
else if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
var/obj/item/weapon/pen/robopen/RP = P
if(istype(P, /obj/item/weapon/pen/robopen) && RP.mode == 2)
var/obj/item/weapon/pen/multi/robopen/RP = P
if(istype(P, /obj/item/weapon/pen/multi/robopen) && RP.mode == 2)
RP.RenamePaper(user,src)
else
show_content(user, infolinks = 1)
+40 -5
View File
@@ -50,24 +50,59 @@
icon_state = "pen"
colour = "white"
/obj/item/weapon/pen/multi //spaceman96: Trenna Seber
/obj/item/weapon/pen/multi
name = "multicolor pen"
desc = "It's a cool looking pen. Lots of colors!"
// these values are for the overlay
var/list/colour_choices = list(
"black" = list(0.25, 0.25, 0.25),
"red" = list(1, 0.25, 0.25),
"green" = list(0, 1, 0),
"blue" = list(0.5, 0.5, 1),
"yellow" = list(1, 1, 0))
var/pen_color_iconstate = "pencolor"
var/pen_color_shift = 3
/obj/item/weapon/pen/multi/New()
..()
update_icon()
/obj/item/weapon/pen/multi/proc/select_colour(mob/user as mob)
var/newcolour = input(user, "Which colour would you like to use?", name, colour) as null|anything in colour_choices
if(newcolour)
colour = newcolour
playsound(loc, 'sound/effects/pop.ogg', 50, 1)
update_icon()
/obj/item/weapon/pen/multi/attack_self(mob/living/user as mob)
select_colour(user)
/obj/item/weapon/pen/multi/update_icon()
overlays.Cut()
var/icon/o = new(icon, pen_color_iconstate)
var/list/c = colour_choices[colour]
o.SetIntensity(c[1], c[2], c[3])
if(pen_color_shift)
o.Shift(SOUTH, pen_color_shift)
overlays += o
/obj/item/weapon/pen/fancy
name = "fancy pen"
desc = "A fancy metal pen. It uses blue ink. An inscription on one side reads,\"L.L. - L.R.\""
icon_state = "fancypen"
/obj/item/weapon/pen/gold
/obj/item/weapon/pen/multi/gold
name = "Gilded Pen"
desc = "A golden pen that is gilded with a meager amount of gold material. The word 'Nanotrasen' is etched on the clip of the pen."
icon_state = "goldpen"
/obj/item/weapon/pen/fountain
pen_color_shift = 0
/obj/item/weapon/pen/multi/fountain
name = "Engraved Fountain Pen"
desc = "An expensive looking pen."
icon_state = "fountainpen"
icon_state = "fountainpen"
pen_color_shift = 0
/obj/item/weapon/pen/attack(mob/living/M, mob/user)
if(!istype(M))