mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 02:24:11 +01:00
Merge pull request #3203 from Tastyfish/multipens
Added multicolor pens for NT Rep, Magistrate, and IAA
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user