Merge pull request #8071 from RKF45/newpaint

Generic Paint II: Fun with Paint
This commit is contained in:
PsiOmegaDelta
2015-02-10 06:48:32 +01:00
8 changed files with 127 additions and 122 deletions

View File

@@ -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/blue,
/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/white,
/obj/item/weapon/reagent_containers/glass/paint/remover,
/obj/item/weapon/contraband/poster,
/obj/item/weapon/wrapping_paper,
/obj/item/weapon/wrapping_paper,

View File

@@ -409,6 +409,7 @@ its easier to just keep the beam vertical.
/atom/proc/clean_blood()
src.color = initial(src.color) //paint
src.germ_level = 0
if(istype(blood_DNA, /list))
del(blood_DNA)

View File

@@ -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.name = "[A.name] (Hologram)"//If someone decides to right click.
hologram.SetLuminosity(2) //hologram lighting
hologram.color = color //painted holopad gives coloured holograms
SetLuminosity(2) //pad lighting
icon_state = "holopad1"
A.holo = src

View File

@@ -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>"
return (BRUTELOSS|OXYLOSS)
New()
name = "[colourName] crayon"
..()
/*
* Snap pops
*/

View File

@@ -1,4 +1,5 @@
//NEVER USE THIS IT SUX -PETETHEGOAT
//THE GOAT WAS RIGHT - RKF
var/global/list/cached_icons = list()
@@ -11,10 +12,10 @@ var/global/list/cached_icons = list()
matter = list("metal" = 200)
w_class = 3.0
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
flags = OPENCONTAINER
var/paint_type = ""
var/paint_type = "red"
afterattack(turf/simulated/target, mob/user, proximity)
if(!proximity) return
@@ -28,24 +29,19 @@ var/global/list/cached_icons = list()
return ..()
New()
if(paint_type == "remover")
name = "paint remover bucket"
else if(paint_type && lentext(paint_type) > 0)
if(paint_type && lentext(paint_type) > 0)
name = paint_type + " " + name
..()
reagents.add_reagent("water", volume*3/5)
reagents.add_reagent("plasticide", volume/5)
if(paint_type == "white") //why don't white crayons exist
reagents.add_reagent("aluminum", volume/5)
else if (paint_type == "black")
reagents.add_reagent("carbon", volume/5)
else
reagents.add_reagent("crayon_dust_[paint_type]", volume/5)
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
icon_state = "paint_red"
paint_type = "red"
@@ -62,110 +58,15 @@ var/global/list/cached_icons = list()
icon_state = "paint_blue"
paint_type = "blue"
violet
purple
icon_state = "paint_violet"
paint_type = "purple"
black
icon_state = "paint_black"
paint_type = "gray"
paint_type = "black"
white
icon_state = "paint_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
*/

View File

@@ -8,6 +8,7 @@
var/list/greencolor = new /list(contents)
var/list/bluecolor = new /list(contents)
var/i
//fill the list of weights
for(i=1; i<=contents; i++)
var/datum/reagent/re = reagent_list[i]
@@ -16,6 +17,7 @@
reagentweight *= 20 //Paint colours a mixture twenty times as much
weight[i] = reagentweight
//fill the lists of colours
for(i=1; i<=contents; i++)
var/datum/reagent/re = reagent_list[i]

View File

@@ -1580,21 +1580,27 @@ datum
paint
name = "Paint"
id = "paint"
description = "This paint will stick to almost any object"
description = "This paint will stick to almost any object."
reagent_state = LIQUID
color = "#808080"
overdose = 15
reaction_turf(var/turf/T, var/volume)
if(!istype(T) || istype(T, /turf/space))
return
T.color = color
..()
if(istype(T) && !istype(T, /turf/space))
T.color = color
reaction_obj(var/obj/O, var/volume)
..()
if(istype(O,/obj/item/weapon/light))
if(istype(O,/obj))
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///////////////////////
@@ -2631,7 +2637,7 @@ datum
name = "Carrot juice"
id = "carrotjuice"
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_name = "glass of carrot juice"
@@ -2701,7 +2707,7 @@ datum
name = "Watermelon Juice"
id = "watermelonjuice"
description = "Delicious juice made from watermelon."
color = "#863333" // rgb: 134, 51, 51
color = "#B83333" // rgb: 184, 51, 51
glass_icon_state = "glass_red"
glass_name = "glass of watermelon juice"
@@ -2711,7 +2717,7 @@ datum
name = "Lemon Juice"
id = "lemonjuice"
description = "This juice is VERY sour."
color = "#863333" // rgb: 175, 175, 0
color = "#AFAF00" // rgb: 175, 175, 0
glass_icon_state = "lemonjuice"
glass_name = "glass of lemon juice"
@@ -2721,7 +2727,7 @@ datum
name = "Banana Juice"
id = "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_name = "glass of banana juice"

View File

@@ -1414,14 +1414,17 @@ datum
//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
name = "Blood paint"
id = "blood_paint"
result = "paint"
resultcolor = "#FE191A"
resultcolor = "#C80000"
required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2)
result_amount = 5
*/
milk_paint
name = "Milk paint"
id = "milk_paint"
@@ -1430,6 +1433,96 @@ datum
required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 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
name = "Carbon paint"
id = "carbon_paint"
@@ -1438,8 +1531,6 @@ datum
required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1)
result_amount = 5
//Aluminum "non-ghetto" white paint
aluminum_paint
name = "Aluminum paint"
id = "aluminum_paint"