mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Made it possible to paint windows to make them opaque.
Not tinted windows Changed how painting and opacity work. Clean timer
This commit is contained in:
@@ -625,6 +625,13 @@ for(var/t in test_times)
|
||||
if(var_source.vars.Find(A))
|
||||
. += A
|
||||
|
||||
|
||||
//assumes format #RRGGBB #rrggbb
|
||||
/proc/color_hex2num(A)
|
||||
if(!A)
|
||||
return 0
|
||||
var/R = hex2num(copytext(A,2,4))
|
||||
var/G = hex2num(copytext(A,4,6))
|
||||
var/B = hex2num(copytext(A,6,0))
|
||||
return R+G+B
|
||||
|
||||
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
/obj/item/toy/crayon/red
|
||||
icon_state = "crayonred"
|
||||
colour = "#DA0000"
|
||||
paint_color = "#DA0000"
|
||||
colourName = "red"
|
||||
|
||||
/obj/item/toy/crayon/orange
|
||||
icon_state = "crayonorange"
|
||||
colour = "#FF9300"
|
||||
paint_color = "#FF9300"
|
||||
colourName = "orange"
|
||||
|
||||
/obj/item/toy/crayon/yellow
|
||||
icon_state = "crayonyellow"
|
||||
colour = "#FFF200"
|
||||
paint_color = "#FFF200"
|
||||
colourName = "yellow"
|
||||
|
||||
/obj/item/toy/crayon/green
|
||||
icon_state = "crayongreen"
|
||||
colour = "#A8E61D"
|
||||
paint_color = "#A8E61D"
|
||||
colourName = "green"
|
||||
|
||||
/obj/item/toy/crayon/blue
|
||||
icon_state = "crayonblue"
|
||||
colour = "#00B7EF"
|
||||
paint_color = "#00B7EF"
|
||||
colourName = "blue"
|
||||
|
||||
/obj/item/toy/crayon/purple
|
||||
icon_state = "crayonpurple"
|
||||
colour = "#DA00FF"
|
||||
paint_color = "#DA00FF"
|
||||
colourName = "purple"
|
||||
|
||||
/obj/item/toy/crayon/white
|
||||
icon_state = "crayonwhite"
|
||||
colour = "#FFFFFF"
|
||||
paint_color = "#FFFFFF"
|
||||
colourName = "white"
|
||||
|
||||
/obj/item/toy/crayon/mime
|
||||
icon_state = "crayonmime"
|
||||
desc = "A very sad-looking crayon."
|
||||
colour = "#FFFFFF"
|
||||
paint_color = "#FFFFFF"
|
||||
colourName = "mime"
|
||||
uses = -1
|
||||
|
||||
@@ -44,24 +44,24 @@
|
||||
update_window(user)
|
||||
|
||||
/obj/item/toy/crayon/mime/update_window(mob/living/user)
|
||||
dat += "<center><span style='border:1px solid #161616; background-color: [colour];'> </span><a href='?src=\ref[src];color=1'>Change color</a></center>"
|
||||
dat += "<center><span style='border:1px solid #161616; background-color: [paint_color];'> </span><a href='?src=\ref[src];color=1'>Change color</a></center>"
|
||||
..()
|
||||
|
||||
/obj/item/toy/crayon/mime/Topic(href,href_list)
|
||||
if ((usr.restrained() || usr.stat || usr.get_active_hand() != src))
|
||||
return
|
||||
if(href_list["color"])
|
||||
if(colour != "#FFFFFF")
|
||||
colour = "#FFFFFF"
|
||||
if(paint_color != "#FFFFFF")
|
||||
paint_color = "#FFFFFF"
|
||||
else
|
||||
colour = "#000000"
|
||||
paint_color = "#000000"
|
||||
update_window(usr)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/toy/crayon/rainbow
|
||||
icon_state = "crayonrainbow"
|
||||
colour = "#FFF000"
|
||||
paint_color = "#FFF000"
|
||||
colourName = "rainbow"
|
||||
uses = -1
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
update_window(user)
|
||||
|
||||
/obj/item/toy/crayon/rainbow/update_window(mob/living/user)
|
||||
dat += "<center><span style='border:1px solid #161616; background-color: [colour];'> </span><a href='?src=\ref[src];color=1'>Change color</a></center>"
|
||||
dat += "<center><span style='border:1px solid #161616; background-color: [paint_color];'> </span><a href='?src=\ref[src];color=1'>Change color</a></center>"
|
||||
..()
|
||||
|
||||
/obj/item/toy/crayon/rainbow/Topic(href,href_list[])
|
||||
@@ -78,7 +78,7 @@
|
||||
var/temp = input(usr, "Please select colour.", "Crayon colour") as color
|
||||
if ((usr.restrained() || usr.stat || usr.get_active_hand() != src))
|
||||
return
|
||||
colour = temp
|
||||
paint_color = temp
|
||||
update_window(usr)
|
||||
else
|
||||
..()
|
||||
@@ -143,10 +143,10 @@
|
||||
user.visible_message("<span class='suicide'>[user] shakes up the [src] with a rattle and lifts it to their mouth, spraying silver paint across their teeth!</span>")
|
||||
user.say("WITNESS ME!!")
|
||||
playsound(loc, 'sound/effects/spray.ogg', 5, 1, 5)
|
||||
colour = "#C0C0C0"
|
||||
paint_color = "#C0C0C0"
|
||||
update_icon()
|
||||
H.lip_style = "spray_face"
|
||||
H.lip_color = colour
|
||||
H.lip_color = paint_color
|
||||
H.update_body()
|
||||
uses = max(0, uses - 10)
|
||||
return (OXYLOSS)
|
||||
@@ -154,7 +154,7 @@
|
||||
/obj/item/toy/crayon/spraycan/New()
|
||||
..()
|
||||
name = "spray can"
|
||||
colour = pick("#DA0000","#FF9300","#FFF200","#A8E61D","#00B7EF","#DA00FF")
|
||||
paint_color = pick("#DA0000","#FF9300","#FFF200","#A8E61D","#00B7EF","#DA00FF")
|
||||
update_icon()
|
||||
|
||||
/obj/item/toy/crayon/spraycan/examine(mob/user)
|
||||
@@ -175,7 +175,7 @@
|
||||
if("Change Drawing")
|
||||
..()
|
||||
if("Change Color")
|
||||
colour = input(user,"Choose Color") as color
|
||||
paint_color = input(user,"Choose Color") as color
|
||||
update_icon()
|
||||
|
||||
/obj/item/toy/crayon/spraycan/afterattack(atom/target, mob/user, proximity)
|
||||
@@ -200,15 +200,25 @@
|
||||
if(ishuman(C))
|
||||
var/mob/living/carbon/human/H = C
|
||||
H.lip_style = "spray_face"
|
||||
H.lip_color = colour
|
||||
H.lip_color = paint_color
|
||||
H.update_body()
|
||||
uses = max(0,uses-10)
|
||||
if(istype(target, /obj/structure/window))
|
||||
if(uses)
|
||||
target.color = paint_color
|
||||
if(color_hex2num(paint_color) < 255)
|
||||
target.SetOpacity(255)
|
||||
else
|
||||
target.SetOpacity(initial(target.opacity))
|
||||
uses = max(0, uses-2)
|
||||
playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/toy/crayon/spraycan/update_icon()
|
||||
overlays.Cut()
|
||||
var/image/I = image('icons/obj/crayons.dmi',icon_state = "[capped ? "spraycan_cap_colors" : "spraycan_colors"]")
|
||||
I.color = colour
|
||||
I.color = paint_color
|
||||
overlays += I
|
||||
|
||||
/obj/item/toy/crayon/spraycan/gang
|
||||
@@ -220,5 +230,5 @@
|
||||
/obj/item/toy/crayon/spraycan/gang/New(loc, datum/gang/G)
|
||||
..()
|
||||
if(G)
|
||||
colour = G.color_hex
|
||||
paint_color = G.color_hex
|
||||
update_icon()
|
||||
@@ -319,7 +319,7 @@
|
||||
icon_state = "crayonred"
|
||||
w_class = 1
|
||||
attack_verb = list("attacked", "coloured")
|
||||
var/colour = "#FF0000" //RGB
|
||||
var/paint_color = "#FF0000" //RGB
|
||||
var/drawtype = "rune"
|
||||
var/list/graffiti = list("amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa","body","cyka","arrow","poseur tag")
|
||||
var/list/letters = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
|
||||
@@ -466,7 +466,7 @@
|
||||
user << "<span class='notice'>You tagged [territory] for your gang!</span>"
|
||||
|
||||
else
|
||||
new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp,graf_rot)
|
||||
new /obj/effect/decal/cleanable/crayon(target,paint_color,drawtype,temp,graf_rot)
|
||||
|
||||
user << "<span class='notice'>You finish [instant ? "spraying" : "drawing"] [temp].</span>"
|
||||
if(instant<0)
|
||||
|
||||
@@ -66,6 +66,12 @@
|
||||
else if(ishuman(target) && user.zone_sel && user.zone_sel.selecting == "mouth")
|
||||
user.visible_message("<span class='warning'>\the [user] washes \the [target]'s mouth out with [src.name]!</span>", "<span class='notice'>You wash \the [target]'s mouth out with [src.name]!</span>") //washes mouth out with soap sounds better than 'the soap' here
|
||||
return
|
||||
else if(istype(target, /obj/structure/window))
|
||||
user.visible_message("[user] begins to clean \the [target.name] with [src]...", "<span class='notice'>You begin to clean \the [target.name] with [src]...</span>")
|
||||
if(do_after(user, src.cleanspeed, target = target))
|
||||
user << "<span class='notice'>You clean \the [target.name].</span>"
|
||||
target.color = initial(target.color)
|
||||
target.SetOpacity(initial(target.opacity))
|
||||
else
|
||||
user.visible_message("[user] begins to clean \the [target.name] with [src]...", "<span class='notice'>You begin to clean \the [target.name] with [src]...</span>")
|
||||
if(do_after(user, src.cleanspeed, target = target))
|
||||
|
||||
@@ -110,7 +110,7 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
|
||||
//Drawing one pixel with a crayon
|
||||
if(istype(I, /obj/item/toy/crayon))
|
||||
var/obj/item/toy/crayon/C = I
|
||||
DrawPixelOn(C.colour, pixX, pixY)
|
||||
DrawPixelOn(C.paint_color, pixX, pixY)
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user