mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
Merge pull request #8071 from RKF45/newpaint
Generic Paint II: Fun with Paint
This commit is contained in:
@@ -898,10 +898,9 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
|
|||||||
/obj/item/weapon/reagent_containers/glass/paint/green,
|
/obj/item/weapon/reagent_containers/glass/paint/green,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/blue,
|
/obj/item/weapon/reagent_containers/glass/paint/blue,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/yellow,
|
/obj/item/weapon/reagent_containers/glass/paint/yellow,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/violet,
|
/obj/item/weapon/reagent_containers/glass/paint/purple,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/black,
|
/obj/item/weapon/reagent_containers/glass/paint/black,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/white,
|
/obj/item/weapon/reagent_containers/glass/paint/white,
|
||||||
/obj/item/weapon/reagent_containers/glass/paint/remover,
|
|
||||||
/obj/item/weapon/contraband/poster,
|
/obj/item/weapon/contraband/poster,
|
||||||
/obj/item/weapon/wrapping_paper,
|
/obj/item/weapon/wrapping_paper,
|
||||||
/obj/item/weapon/wrapping_paper,
|
/obj/item/weapon/wrapping_paper,
|
||||||
|
|||||||
@@ -409,6 +409,7 @@ its easier to just keep the beam vertical.
|
|||||||
|
|
||||||
|
|
||||||
/atom/proc/clean_blood()
|
/atom/proc/clean_blood()
|
||||||
|
src.color = initial(src.color) //paint
|
||||||
src.germ_level = 0
|
src.germ_level = 0
|
||||||
if(istype(blood_DNA, /list))
|
if(istype(blood_DNA, /list))
|
||||||
del(blood_DNA)
|
del(blood_DNA)
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
|
|||||||
hologram.anchored = 1//So space wind cannot drag it.
|
hologram.anchored = 1//So space wind cannot drag it.
|
||||||
hologram.name = "[A.name] (Hologram)"//If someone decides to right click.
|
hologram.name = "[A.name] (Hologram)"//If someone decides to right click.
|
||||||
hologram.SetLuminosity(2) //hologram lighting
|
hologram.SetLuminosity(2) //hologram lighting
|
||||||
|
hologram.color = color //painted holopad gives coloured holograms
|
||||||
SetLuminosity(2) //pad lighting
|
SetLuminosity(2) //pad lighting
|
||||||
icon_state = "holopad1"
|
icon_state = "holopad1"
|
||||||
A.holo = src
|
A.holo = src
|
||||||
|
|||||||
@@ -380,6 +380,10 @@
|
|||||||
viewers(user) << "\red <b>[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.</b>"
|
viewers(user) << "\red <b>[user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide.</b>"
|
||||||
return (BRUTELOSS|OXYLOSS)
|
return (BRUTELOSS|OXYLOSS)
|
||||||
|
|
||||||
|
New()
|
||||||
|
name = "[colourName] crayon"
|
||||||
|
..()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Snap pops
|
* Snap pops
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
//NEVER USE THIS IT SUX -PETETHEGOAT
|
//NEVER USE THIS IT SUX -PETETHEGOAT
|
||||||
|
//THE GOAT WAS RIGHT - RKF
|
||||||
|
|
||||||
var/global/list/cached_icons = list()
|
var/global/list/cached_icons = list()
|
||||||
|
|
||||||
@@ -11,10 +12,10 @@ var/global/list/cached_icons = list()
|
|||||||
matter = list("metal" = 200)
|
matter = list("metal" = 200)
|
||||||
w_class = 3.0
|
w_class = 3.0
|
||||||
amount_per_transfer_from_this = 10
|
amount_per_transfer_from_this = 10
|
||||||
possible_transfer_amounts = list(10,20,30,50,70)
|
possible_transfer_amounts = list(10,20,30,60)
|
||||||
volume = 60
|
volume = 60
|
||||||
flags = OPENCONTAINER
|
flags = OPENCONTAINER
|
||||||
var/paint_type = ""
|
var/paint_type = "red"
|
||||||
|
|
||||||
afterattack(turf/simulated/target, mob/user, proximity)
|
afterattack(turf/simulated/target, mob/user, proximity)
|
||||||
if(!proximity) return
|
if(!proximity) return
|
||||||
@@ -28,24 +29,19 @@ var/global/list/cached_icons = list()
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
New()
|
New()
|
||||||
if(paint_type == "remover")
|
if(paint_type && lentext(paint_type) > 0)
|
||||||
name = "paint remover bucket"
|
|
||||||
else if(paint_type && lentext(paint_type) > 0)
|
|
||||||
name = paint_type + " " + name
|
name = paint_type + " " + name
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("water", volume*3/5)
|
reagents.add_reagent("water", volume*3/5)
|
||||||
reagents.add_reagent("plasticide", volume/5)
|
reagents.add_reagent("plasticide", volume/5)
|
||||||
if(paint_type == "white") //why don't white crayons exist
|
if(paint_type == "white") //why don't white crayons exist
|
||||||
reagents.add_reagent("aluminum", volume/5)
|
reagents.add_reagent("aluminum", volume/5)
|
||||||
|
else if (paint_type == "black")
|
||||||
|
reagents.add_reagent("carbon", volume/5)
|
||||||
else
|
else
|
||||||
reagents.add_reagent("crayon_dust_[paint_type]", volume/5)
|
reagents.add_reagent("crayon_dust_[paint_type]", volume/5)
|
||||||
reagents.handle_reactions()
|
reagents.handle_reactions()
|
||||||
|
|
||||||
on_reagent_change() //Until we have a generic "paint", this will give new colours to all paints in the can
|
|
||||||
var/mixedcolor = mix_color_from_reagents(reagents.reagent_list)
|
|
||||||
for(var/datum/reagent/paint/P in reagents.reagent_list)
|
|
||||||
P.color = mixedcolor
|
|
||||||
|
|
||||||
red
|
red
|
||||||
icon_state = "paint_red"
|
icon_state = "paint_red"
|
||||||
paint_type = "red"
|
paint_type = "red"
|
||||||
@@ -62,110 +58,15 @@ var/global/list/cached_icons = list()
|
|||||||
icon_state = "paint_blue"
|
icon_state = "paint_blue"
|
||||||
paint_type = "blue"
|
paint_type = "blue"
|
||||||
|
|
||||||
violet
|
purple
|
||||||
icon_state = "paint_violet"
|
icon_state = "paint_violet"
|
||||||
paint_type = "purple"
|
paint_type = "purple"
|
||||||
|
|
||||||
black
|
black
|
||||||
icon_state = "paint_black"
|
icon_state = "paint_black"
|
||||||
paint_type = "gray"
|
paint_type = "black"
|
||||||
|
|
||||||
white
|
white
|
||||||
icon_state = "paint_white"
|
icon_state = "paint_white"
|
||||||
paint_type = "white"
|
paint_type = "white"
|
||||||
|
|
||||||
remover
|
|
||||||
paint_type = "remover"
|
|
||||||
/*
|
|
||||||
/obj/item/weapon/paint
|
|
||||||
gender= PLURAL
|
|
||||||
name = "paint"
|
|
||||||
desc = "Used to recolor floors and walls. Can not be removed by the janitor."
|
|
||||||
icon = 'icons/obj/items.dmi'
|
|
||||||
icon_state = "paint_neutral"
|
|
||||||
color = "FFFFFF"
|
|
||||||
item_state = "paintcan"
|
|
||||||
w_class = 3.0
|
|
||||||
|
|
||||||
/obj/item/weapon/paint/afterattack(turf/target, mob/user as mob, proximity)
|
|
||||||
if(!proximity) return
|
|
||||||
if(!istype(target) || istype(target, /turf/space))
|
|
||||||
return
|
|
||||||
var/ind = "[initial(target.icon)][color]"
|
|
||||||
if(!cached_icons[ind])
|
|
||||||
var/icon/overlay = new/icon(initial(target.icon))
|
|
||||||
overlay.Blend("#[color]",ICON_MULTIPLY)
|
|
||||||
overlay.SetIntensity(1.4)
|
|
||||||
target.icon = overlay
|
|
||||||
cached_icons[ind] = target.icon
|
|
||||||
else
|
|
||||||
target.icon = cached_icons[ind]
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/paint/paint_remover
|
|
||||||
gender = PLURAL
|
|
||||||
name = "paint remover"
|
|
||||||
icon_state = "paint_neutral"
|
|
||||||
|
|
||||||
afterattack(turf/target, mob/user as mob)
|
|
||||||
if(istype(target) && target.icon != initial(target.icon))
|
|
||||||
target.icon = initial(target.icon)
|
|
||||||
return
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
datum/reagent/paint
|
|
||||||
name = "Paint"
|
|
||||||
id = "paint_"
|
|
||||||
reagent_state = 2
|
|
||||||
color = "#808080"
|
|
||||||
description = "This paint will only adhere to floor tiles."
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
red
|
|
||||||
name = "Red Paint"
|
|
||||||
id = "paint_red"
|
|
||||||
color = "#FE191A"
|
|
||||||
|
|
||||||
green
|
|
||||||
name = "Green Paint"
|
|
||||||
color = "#18A31A"
|
|
||||||
id = "paint_green"
|
|
||||||
|
|
||||||
blue
|
|
||||||
name = "Blue Paint"
|
|
||||||
color = "#247CFF"
|
|
||||||
id = "paint_blue"
|
|
||||||
|
|
||||||
yellow
|
|
||||||
name = "Yellow Paint"
|
|
||||||
color = "#FDFE7D"
|
|
||||||
id = "paint_yellow"
|
|
||||||
|
|
||||||
violet
|
|
||||||
name = "Violet Paint"
|
|
||||||
color = "#CC0099"
|
|
||||||
id = "paint_violet"
|
|
||||||
|
|
||||||
black
|
|
||||||
name = "Black Paint"
|
|
||||||
color = "#333333"
|
|
||||||
id = "paint_black"
|
|
||||||
|
|
||||||
white
|
|
||||||
name = "White Paint"
|
|
||||||
color = "#F0F8FF"
|
|
||||||
id = "paint_white"
|
|
||||||
|
|
||||||
datum/reagent/paint_remover
|
|
||||||
name = "Paint Remover"
|
|
||||||
id = "paint_remover"
|
|
||||||
description = "Paint remover is used to remove floor paint from floor tiles."
|
|
||||||
reagent_state = 2
|
|
||||||
color = "#808080"
|
|
||||||
|
|
||||||
reaction_turf(var/turf/T, var/volume)
|
|
||||||
if(istype(T) && T.icon != initial(T.icon))
|
|
||||||
T.icon = initial(T.icon)
|
|
||||||
return
|
|
||||||
*/
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
var/list/greencolor = new /list(contents)
|
var/list/greencolor = new /list(contents)
|
||||||
var/list/bluecolor = new /list(contents)
|
var/list/bluecolor = new /list(contents)
|
||||||
var/i
|
var/i
|
||||||
|
|
||||||
//fill the list of weights
|
//fill the list of weights
|
||||||
for(i=1; i<=contents; i++)
|
for(i=1; i<=contents; i++)
|
||||||
var/datum/reagent/re = reagent_list[i]
|
var/datum/reagent/re = reagent_list[i]
|
||||||
@@ -16,6 +17,7 @@
|
|||||||
reagentweight *= 20 //Paint colours a mixture twenty times as much
|
reagentweight *= 20 //Paint colours a mixture twenty times as much
|
||||||
weight[i] = reagentweight
|
weight[i] = reagentweight
|
||||||
|
|
||||||
|
|
||||||
//fill the lists of colours
|
//fill the lists of colours
|
||||||
for(i=1; i<=contents; i++)
|
for(i=1; i<=contents; i++)
|
||||||
var/datum/reagent/re = reagent_list[i]
|
var/datum/reagent/re = reagent_list[i]
|
||||||
|
|||||||
@@ -1580,21 +1580,27 @@ datum
|
|||||||
paint
|
paint
|
||||||
name = "Paint"
|
name = "Paint"
|
||||||
id = "paint"
|
id = "paint"
|
||||||
description = "This paint will stick to almost any object"
|
description = "This paint will stick to almost any object."
|
||||||
reagent_state = LIQUID
|
reagent_state = LIQUID
|
||||||
color = "#808080"
|
color = "#808080"
|
||||||
overdose = 15
|
overdose = 15
|
||||||
|
|
||||||
reaction_turf(var/turf/T, var/volume)
|
reaction_turf(var/turf/T, var/volume)
|
||||||
if(!istype(T) || istype(T, /turf/space))
|
..()
|
||||||
return
|
if(istype(T) && !istype(T, /turf/space))
|
||||||
T.color = color
|
T.color = color
|
||||||
|
|
||||||
reaction_obj(var/obj/O, var/volume)
|
reaction_obj(var/obj/O, var/volume)
|
||||||
..()
|
..()
|
||||||
if(istype(O,/obj/item/weapon/light))
|
if(istype(O,/obj))
|
||||||
O.color = color
|
O.color = color
|
||||||
|
|
||||||
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
||||||
|
..()
|
||||||
|
if(istype(M,/mob) && !istype(M,/mob/dead))
|
||||||
|
//painting ghosts: not allowed
|
||||||
|
M.color = color
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////Poison stuff///////////////////////
|
//////////////////////////Poison stuff///////////////////////
|
||||||
|
|
||||||
@@ -2631,7 +2637,7 @@ datum
|
|||||||
name = "Carrot juice"
|
name = "Carrot juice"
|
||||||
id = "carrotjuice"
|
id = "carrotjuice"
|
||||||
description = "It is just like a carrot but without crunching."
|
description = "It is just like a carrot but without crunching."
|
||||||
color = "#973800" // rgb: 151, 56, 0
|
color = "#FF8C00" // rgb: 255, 140, 0
|
||||||
|
|
||||||
glass_icon_state = "carrotjuice"
|
glass_icon_state = "carrotjuice"
|
||||||
glass_name = "glass of carrot juice"
|
glass_name = "glass of carrot juice"
|
||||||
@@ -2701,7 +2707,7 @@ datum
|
|||||||
name = "Watermelon Juice"
|
name = "Watermelon Juice"
|
||||||
id = "watermelonjuice"
|
id = "watermelonjuice"
|
||||||
description = "Delicious juice made from watermelon."
|
description = "Delicious juice made from watermelon."
|
||||||
color = "#863333" // rgb: 134, 51, 51
|
color = "#B83333" // rgb: 184, 51, 51
|
||||||
|
|
||||||
glass_icon_state = "glass_red"
|
glass_icon_state = "glass_red"
|
||||||
glass_name = "glass of watermelon juice"
|
glass_name = "glass of watermelon juice"
|
||||||
@@ -2711,7 +2717,7 @@ datum
|
|||||||
name = "Lemon Juice"
|
name = "Lemon Juice"
|
||||||
id = "lemonjuice"
|
id = "lemonjuice"
|
||||||
description = "This juice is VERY sour."
|
description = "This juice is VERY sour."
|
||||||
color = "#863333" // rgb: 175, 175, 0
|
color = "#AFAF00" // rgb: 175, 175, 0
|
||||||
|
|
||||||
glass_icon_state = "lemonjuice"
|
glass_icon_state = "lemonjuice"
|
||||||
glass_name = "glass of lemon juice"
|
glass_name = "glass of lemon juice"
|
||||||
@@ -2721,7 +2727,7 @@ datum
|
|||||||
name = "Banana Juice"
|
name = "Banana Juice"
|
||||||
id = "banana"
|
id = "banana"
|
||||||
description = "The raw essence of a banana."
|
description = "The raw essence of a banana."
|
||||||
color = "#863333" // rgb: 175, 175, 0
|
color = "#C3AF00" // rgb: 195, 175, 0
|
||||||
|
|
||||||
glass_icon_state = "banana"
|
glass_icon_state = "banana"
|
||||||
glass_name = "glass of banana juice"
|
glass_name = "glass of banana juice"
|
||||||
|
|||||||
@@ -1414,14 +1414,17 @@ datum
|
|||||||
|
|
||||||
//Ghetto reactions
|
//Ghetto reactions
|
||||||
|
|
||||||
|
/* Ideally the paint should take on the blood's colour (for each of the species)
|
||||||
|
but I could not think of a way. - RKF
|
||||||
|
|
||||||
blood_paint
|
blood_paint
|
||||||
name = "Blood paint"
|
name = "Blood paint"
|
||||||
id = "blood_paint"
|
id = "blood_paint"
|
||||||
result = "paint"
|
result = "paint"
|
||||||
resultcolor = "#FE191A"
|
resultcolor = "#C80000"
|
||||||
required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2)
|
required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2)
|
||||||
result_amount = 5
|
result_amount = 5
|
||||||
|
*/
|
||||||
milk_paint
|
milk_paint
|
||||||
name = "Milk paint"
|
name = "Milk paint"
|
||||||
id = "milk_paint"
|
id = "milk_paint"
|
||||||
@@ -1430,6 +1433,96 @@ datum
|
|||||||
required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5)
|
required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5)
|
||||||
result_amount = 5
|
result_amount = 5
|
||||||
|
|
||||||
|
orange_juice_paint
|
||||||
|
name = "Orange juice paint"
|
||||||
|
id = "orange_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#E78108"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
tomato_juice_paint
|
||||||
|
name = "Tomato juice paint"
|
||||||
|
id = "tomato_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#731008"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
lime_juice_paint
|
||||||
|
name = "Lime juice paint"
|
||||||
|
id = "lime_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#365E30"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
carrot_juice_paint
|
||||||
|
name = "Carrot juice paint"
|
||||||
|
id = "carrot_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#973800"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
berry_juice_paint
|
||||||
|
name = "Berry juice paint"
|
||||||
|
id = "berry_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#990066"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
grape_juice_paint
|
||||||
|
name = "Grape juice paint"
|
||||||
|
id = "grape_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#863333"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
poisonberry_juice_paint
|
||||||
|
name = "Poison berry juice paint"
|
||||||
|
id = "poisonberry_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#863353"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
watermelon_juice_paint
|
||||||
|
name = "Watermelon juice paint"
|
||||||
|
id = "watermelon_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#B83333"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
lemon_juice_paint
|
||||||
|
name = "Lemon juice paint"
|
||||||
|
id = "lemon_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#AFAF00"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
banana_juice_paint
|
||||||
|
name = "Banana juice paint"
|
||||||
|
id = "banana_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#C3AF00"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
potato_juice_paint
|
||||||
|
name = "Potato juice paint"
|
||||||
|
id = "potato_juice_paint"
|
||||||
|
result = "paint"
|
||||||
|
resultcolor = "#302000"
|
||||||
|
required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5)
|
||||||
|
result_amount = 5
|
||||||
|
|
||||||
|
//Other paint
|
||||||
|
|
||||||
carbon_paint
|
carbon_paint
|
||||||
name = "Carbon paint"
|
name = "Carbon paint"
|
||||||
id = "carbon_paint"
|
id = "carbon_paint"
|
||||||
@@ -1438,8 +1531,6 @@ datum
|
|||||||
required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1)
|
required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1)
|
||||||
result_amount = 5
|
result_amount = 5
|
||||||
|
|
||||||
//Aluminum "non-ghetto" white paint
|
|
||||||
|
|
||||||
aluminum_paint
|
aluminum_paint
|
||||||
name = "Aluminum paint"
|
name = "Aluminum paint"
|
||||||
id = "aluminum_paint"
|
id = "aluminum_paint"
|
||||||
|
|||||||
Reference in New Issue
Block a user