From 76cfa4fb40a9cc8acca41c51d26c5152b8028a73 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:22:05 +0100 Subject: [PATCH 1/7] Named crayons --- code/game/objects/items/toys.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index cee5076a55d..6cd12cf137d 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -380,6 +380,10 @@ viewers(user) << "\red [user] is jamming the [src.name] up \his nose and into \his brain. It looks like \he's trying to commit suicide." return (BRUTELOSS|OXYLOSS) + New() + name = "[colourName] crayon" + ..() + /* * Snap pops */ From 172282b638e8e1dfa290f6480a70475f9a2e373e Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:40:54 +0100 Subject: [PATCH 2/7] Cleaning up paint buckets Remover is finally gone --- code/datums/supplypacks.dm | 1 - code/game/objects/items/weapons/paint.dm | 97 +----------------------- 2 files changed, 1 insertion(+), 97 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index e029b524a75..8b3ec348720 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -890,7 +890,6 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/reagent_containers/glass/paint/violet, /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, diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 0606569c4fa..5a46e5cb704 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -11,7 +11,7 @@ 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 = "" @@ -74,98 +74,3 @@ var/global/list/cached_icons = list() 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 -*/ From 0ad5195af27785543770d4f7b00ef3413a475c2f Mon Sep 17 00:00:00 2001 From: RKF45 Date: Fri, 6 Feb 2015 23:55:11 +0100 Subject: [PATCH 3/7] Cleaning up --- code/game/objects/items/weapons/paint.dm | 12 +++--------- code/modules/reagents/Chemistry-Colours.dm | 2 ++ code/modules/reagents/Chemistry-Reagents.dm | 1 + 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 5a46e5cb704..5373616508e 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -1,4 +1,5 @@ //NEVER USE THIS IT SUX -PETETHEGOAT +//THE GOAT WAS RIGHT - RKF var/global/list/cached_icons = list() @@ -14,7 +15,7 @@ var/global/list/cached_icons = list() 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,9 +29,7 @@ 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) @@ -41,11 +40,6 @@ var/global/list/cached_icons = list() 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" diff --git a/code/modules/reagents/Chemistry-Colours.dm b/code/modules/reagents/Chemistry-Colours.dm index aaae973d95e..a59147e85f6 100644 --- a/code/modules/reagents/Chemistry-Colours.dm +++ b/code/modules/reagents/Chemistry-Colours.dm @@ -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] diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index eacbaf2a892..1274a40f238 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -941,6 +941,7 @@ datum if(istype(T, /turf/simulated)) var/turf/simulated/S = T S.dirt = 0 + T.color = initial(T.color) //paint T.clean_blood() for(var/obj/effect/decal/cleanable/C in T.contents) src.reaction_obj(C, volume) From 2c78d480f1e908531a4897a0aa147fc008d17f5c Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 00:18:56 +0100 Subject: [PATCH 4/7] Mops clean paint too For painted walls, I guess --- code/datums/supplypacks.dm | 2 +- code/game/objects/items/weapons/mop.dm | 3 +++ code/game/objects/items/weapons/paint.dm | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 8b3ec348720..a7610bfca23 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -887,7 +887,7 @@ 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/contraband/poster, diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index fe9945f8f04..a058a8e0a21 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -19,6 +19,9 @@ /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() + if(istype(src, /turf)) + var/turf/L = src + L.color = initial(L.color) //paint if(istype(src, /turf/simulated)) var/turf/simulated/T = src T.dirt = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 5373616508e..77f8172f8fc 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -36,6 +36,8 @@ var/global/list/cached_icons = list() 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() @@ -56,13 +58,13 @@ 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" From 5fc1ae395d191df2f5b71c2b8ec505505b13c933 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 01:41:08 +0100 Subject: [PATCH 5/7] All cleaning removes paint Paint works on mobs and objects --- code/game/atoms.dm | 1 + code/game/objects/items/weapons/mop.dm | 3 --- code/modules/reagents/Chemistry-Reagents.dm | 17 +++++++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index df288f2cc40..bd0c9cdb541 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -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) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index a058a8e0a21..fe9945f8f04 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -19,9 +19,6 @@ /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() - if(istype(src, /turf)) - var/turf/L = src - L.color = initial(L.color) //paint if(istype(src, /turf/simulated)) var/turf/simulated/T = src T.dirt = 0 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 1274a40f238..694b7ff6a80 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -941,7 +941,6 @@ datum if(istype(T, /turf/simulated)) var/turf/simulated/S = T S.dirt = 0 - T.color = initial(T.color) //paint T.clean_blood() for(var/obj/effect/decal/cleanable/C in T.contents) src.reaction_obj(C, volume) @@ -1581,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) && !istype(O,/obj/item/weapon/reagent_containers)) + //painting glasses would just be a headache O.color = color + reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + ..() + if(istype(M,/mob)) + M.color = color + //////////////////////////Poison stuff/////////////////////// From db6ff13f5fed661fe9bfcb41ceed8f75059fb0e3 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 7 Feb 2015 23:59:34 +0100 Subject: [PATCH 6/7] No painting ghosts! Holograms can be coloured, though --- code/game/machinery/hologram.dm | 1 + code/modules/reagents/Chemistry-Reagents.dm | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 68009eec609..2d5b9394d05 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -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 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 694b7ff6a80..2cbc12d3248 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1592,13 +1592,13 @@ datum reaction_obj(var/obj/O, var/volume) ..() - if(istype(O,/obj) && !istype(O,/obj/item/weapon/reagent_containers)) - //painting glasses would just be a headache + if(istype(O,/obj)) O.color = color reaction_mob(var/mob/M, var/method=TOUCH, var/volume) ..() - if(istype(M,/mob)) + if(istype(M,/mob) && !istype(M,/mob/dead)) + //painting ghosts: not allowed M.color = color From 13f09d95c85e10a5b864cb1a3559e0c82c9610bd Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 8 Feb 2015 01:17:10 +0100 Subject: [PATCH 7/7] Juice paints --- code/modules/reagents/Chemistry-Reagents.dm | 8 +- code/modules/reagents/Chemistry-Recipes.dm | 99 ++++++++++++++++++++- 2 files changed, 99 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 2cbc12d3248..54ab1baca33 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2637,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" @@ -2707,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" @@ -2717,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" @@ -2727,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" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 4d6b44fb84d..270551af927 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -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"