Returned /proc/mix_color_from_reagents(var/list/reagent_list) to normal, so crayons mix like normal reagents.

This commit is contained in:
AstralSerpent
2013-10-09 05:45:00 +11:00
parent 5ca72b7a5d
commit 535050fd3b
+13 -32
View File
@@ -15,40 +15,21 @@
var/list/rgbcolor = list(0,0,0)
var/finalcolor = 0
var/n = reagent_list.Find(/datum/reagent/crayonpowder)
if(n == 0) //No crayon powder found, proceed normally.
for(var/datum/reagent/re in reagent_list) // natural color mixing bullshit/algorithm
if(!finalcolor)
rgbcolor = GetColors(re.color)
finalcolor = re.color
else
var/newcolor[3]
var/prergbcolor[3]
prergbcolor = rgbcolor
newcolor = GetColors(re.color)
for(var/datum/reagent/re in reagent_list) // natural color mixing bullshit/algorithm
if(!finalcolor)
rgbcolor = GetColors(re.color)
finalcolor = re.color
else
var/newcolor[3]
var/prergbcolor[3]
prergbcolor = rgbcolor
newcolor = GetColors(re.color)
rgbcolor[1] = (prergbcolor[1]+newcolor[1])/2
rgbcolor[2] = (prergbcolor[2]+newcolor[2])/2
rgbcolor[3] = (prergbcolor[3]+newcolor[3])/2
finalcolor = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3])
else //This is a colour battle only crayons may participate in
for(var/datum/reagent/crayonpowder/p in reagent_list)
if(!finalcolor)
rgbcolor = GetColors(p.color)
finalcolor = p.color
else
var/newcolor[3]
var/prergbcolor[3]
prergbcolor = rgbcolor
newcolor = GetColors(p.color)
rgbcolor[1] = (prergbcolor[1]+newcolor[1])/2
rgbcolor[2] = (prergbcolor[2]+newcolor[2])/2
rgbcolor[3] = (prergbcolor[3]+newcolor[3])/2
finalcolor = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3])
rgbcolor[1] = (prergbcolor[1]+newcolor[1])/2
rgbcolor[2] = (prergbcolor[2]+newcolor[2])/2
rgbcolor[3] = (prergbcolor[3]+newcolor[3])/2
finalcolor = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3])
return finalcolor
// This isn't a perfect color mixing system, the more reagents that are inside,