mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 13:09:11 +01:00
Mixing of paint
The generic paint can now be mixed and tranferred.
This commit is contained in:
@@ -12,7 +12,7 @@ var/global/list/cached_icons = list()
|
||||
w_class = 3.0
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(10,20,30,50,70)
|
||||
volume = 70
|
||||
volume = 60
|
||||
flags = FPRINT | OPENCONTAINER
|
||||
var/paint_type = ""
|
||||
|
||||
@@ -33,7 +33,13 @@ var/global/list/cached_icons = list()
|
||||
else if(paint_type && lentext(paint_type) > 0)
|
||||
name = paint_type + " " + name
|
||||
..()
|
||||
reagents.add_reagent("paint_[paint_type]", volume)
|
||||
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
|
||||
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)
|
||||
@@ -44,6 +50,10 @@ var/global/list/cached_icons = list()
|
||||
icon_state = "paint_red"
|
||||
paint_type = "red"
|
||||
|
||||
yellow
|
||||
icon_state = "paint_yellow"
|
||||
paint_type = "yellow"
|
||||
|
||||
green
|
||||
icon_state = "paint_green"
|
||||
paint_type = "green"
|
||||
@@ -52,17 +62,13 @@ var/global/list/cached_icons = list()
|
||||
icon_state = "paint_blue"
|
||||
paint_type = "blue"
|
||||
|
||||
yellow
|
||||
icon_state = "paint_yellow"
|
||||
paint_type = "yellow"
|
||||
|
||||
violet
|
||||
icon_state = "paint_violet"
|
||||
paint_type = "violet"
|
||||
paint_type = "purple"
|
||||
|
||||
black
|
||||
icon_state = "paint_black"
|
||||
paint_type = "black"
|
||||
paint_type = "gray"
|
||||
|
||||
white
|
||||
icon_state = "paint_white"
|
||||
@@ -81,71 +87,6 @@ var/global/list/cached_icons = list()
|
||||
item_state = "paintcan"
|
||||
w_class = 3.0
|
||||
|
||||
/obj/item/weapon/paint/red
|
||||
name = "red paint"
|
||||
color = "FF0000"
|
||||
icon_state = "paint_red"
|
||||
|
||||
/obj/item/weapon/paint/green
|
||||
name = "green paint"
|
||||
color = "00FF00"
|
||||
icon_state = "paint_green"
|
||||
|
||||
/obj/item/weapon/paint/blue
|
||||
name = "blue paint"
|
||||
color = "0000FF"
|
||||
icon_state = "paint_blue"
|
||||
|
||||
/obj/item/weapon/paint/yellow
|
||||
name = "yellow paint"
|
||||
color = "FFFF00"
|
||||
icon_state = "paint_yellow"
|
||||
|
||||
/obj/item/weapon/paint/violet
|
||||
name = "violet paint"
|
||||
color = "FF00FF"
|
||||
icon_state = "paint_violet"
|
||||
|
||||
/obj/item/weapon/paint/black
|
||||
name = "black paint"
|
||||
color = "333333"
|
||||
icon_state = "paint_black"
|
||||
|
||||
/obj/item/weapon/paint/white
|
||||
name = "white paint"
|
||||
color = "FFFFFF"
|
||||
icon_state = "paint_white"
|
||||
|
||||
|
||||
/obj/item/weapon/paint/anycolor
|
||||
gender= PLURAL
|
||||
name = "any color"
|
||||
icon_state = "paint_neutral"
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
var/t1 = input(user, "Please select a color:", "Locking Computer", null) in list( "red", "blue", "green", "yellow", "black", "white")
|
||||
if ((user.get_active_hand() != src || user.stat || user.restrained()))
|
||||
return
|
||||
switch(t1)
|
||||
if("red")
|
||||
color = "FF0000"
|
||||
if("blue")
|
||||
color = "0000FF"
|
||||
if("green")
|
||||
color = "00FF00"
|
||||
if("yellow")
|
||||
color = "FFFF00"
|
||||
if("violet")
|
||||
color = "FF00FF"
|
||||
if("white")
|
||||
color = "FFFFFF"
|
||||
if("black")
|
||||
color = "333333"
|
||||
icon_state = "paint_[t1]"
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/paint/afterattack(turf/target, mob/user as mob, proximity)
|
||||
if(!proximity) return
|
||||
if(!istype(target) || istype(target, /turf/space))
|
||||
@@ -179,15 +120,7 @@ datum/reagent/paint
|
||||
color = "#808080"
|
||||
description = "This paint will only adhere to floor tiles."
|
||||
|
||||
reaction_turf(var/turf/T, var/volume)
|
||||
if(!istype(T) || istype(T, /turf/space))
|
||||
return
|
||||
T.color = color
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
..()
|
||||
if(istype(O,/obj/item/weapon/light))
|
||||
O.color = color
|
||||
|
||||
red
|
||||
name = "Red Paint"
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
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]
|
||||
@@ -17,7 +16,6 @@
|
||||
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]
|
||||
|
||||
@@ -353,13 +353,10 @@ datum
|
||||
if(C.result)
|
||||
feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]")
|
||||
multiplier = max(multiplier, 1) //this shouldnt happen ...
|
||||
world << "chemical_reaction [C.result]|[C.result_amount*multiplier][C.resultcolor]"
|
||||
if(!isnull(C.resultcolor))
|
||||
world << "Paint made with colour [C.resultcolor]"
|
||||
if(!isnull(C.resultcolor)) //paints
|
||||
add_reagent(C.result, C.result_amount*multiplier, C.resultcolor)
|
||||
else
|
||||
add_reagent(C.result, C.result_amount*multiplier)
|
||||
world << "This happened? [preserved_data]"
|
||||
set_data(C.result, preserved_data)
|
||||
|
||||
//add secondary products
|
||||
@@ -504,18 +501,16 @@ datum
|
||||
if(R.color && data)
|
||||
var/list/mix = new /list(2)
|
||||
//fill the list
|
||||
var/datum/reagent/paint/P1 = chemical_reagents_list["paint"]
|
||||
var/datum/reagent/paint/P = chemical_reagents_list["paint"]
|
||||
var/datum/reagent/paint/P1 = new P.type()
|
||||
P1.color = R.color
|
||||
P1.volume = R.volume - amount //since we just increased that
|
||||
world << "First paint [P1.color] vol [P1.volume]"
|
||||
var/datum/reagent/paint/P2 = chemical_reagents_list["paint"]
|
||||
var/datum/reagent/paint/P2 = new P.type()
|
||||
P2.color = data
|
||||
P2.volume = amount
|
||||
world << "Second paint [P2.color] vol [P2.volume]"
|
||||
mix += P1
|
||||
mix += P2
|
||||
mix[1] = P1
|
||||
mix[2] = P2
|
||||
R.color = mix_color_from_reagents(mix)
|
||||
world << "Eventual mixed colour [R.color]"
|
||||
if(!safety)
|
||||
handle_reactions()
|
||||
my_atom.on_reagent_change()
|
||||
@@ -530,7 +525,6 @@ datum
|
||||
R.volume = amount
|
||||
if(reagent == "paint")
|
||||
R.color = data
|
||||
world << "The paint is given [data] colour"
|
||||
else
|
||||
SetViruses(R, data) // Includes setting data for blood
|
||||
|
||||
|
||||
@@ -1575,48 +1575,17 @@ datum
|
||||
reagent_state = LIQUID
|
||||
color = "#808080"
|
||||
overdose = 15
|
||||
/*
|
||||
//Paints corresponding to crayons are hardcoded
|
||||
red
|
||||
id = "paint_red"
|
||||
color = "#FE191A"
|
||||
|
||||
orange
|
||||
id = "paint_orange"
|
||||
color = "#FFBE4F"
|
||||
reaction_turf(var/turf/T, var/volume)
|
||||
if(!istype(T) || istype(T, /turf/space))
|
||||
return
|
||||
T.color = color
|
||||
|
||||
yellow
|
||||
id = "paint_yellow"
|
||||
color = "#FDFE7D"
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
..()
|
||||
if(istype(O,/obj/item/weapon/light))
|
||||
O.color = color
|
||||
|
||||
green
|
||||
id = "paint_green"
|
||||
color = "#18A31A"
|
||||
|
||||
blue
|
||||
id = "paint_blue"
|
||||
color = "#247CFF"
|
||||
|
||||
purple
|
||||
id = "paint_purple"
|
||||
color = "#CC0099"
|
||||
|
||||
grey //Mime
|
||||
id = "paint_grey"
|
||||
color = "#808080"
|
||||
|
||||
brown //Rainbow
|
||||
id = "paint_brown"
|
||||
color = "#846F35"
|
||||
|
||||
black
|
||||
id = "paint_black"
|
||||
color = "#333333"
|
||||
|
||||
white
|
||||
id = "paint_white"
|
||||
color = "#F0F8FF"
|
||||
*/
|
||||
|
||||
//////////////////////////Poison stuff///////////////////////
|
||||
|
||||
|
||||
Reference in New Issue
Block a user