var modName = "mods/color_tools.js";
var libraryMod = "mods/code_library.js";
if(enabledMods.includes(libraryMod)) {
stripeFixedDefaultProperties = {
color2: "rgb(0,0,0)",
phase: 0,
scale: 1,
angle: 0
};
stripeSpreadingProperties = {
color1: "It doesn't matter what I put here; I'm just sick of writing for loops.",
color2: "stan loona",
};
/*stripeSpreadingProperties2 = {
phase: 0,
scale: 1, :eggTF:
angle: 0
};*/
function stripeFunction(pixel) {
if(pixel.color1 == undefined || pixel.color1 == null) {
pixel.color1 = pixel.color;
};
for(prop in stripeFixedDefaultProperties) {
if(pixel[prop] == undefined || pixel[prop] == null) {
pixel[prop] = stripeFixedDefaultProperties[prop];
};
};
//color1 and color2 self staining
for (var i = 0; i < adjacentCoords.length; i++) {
var x = pixel.x+adjacentCoords[i][0];
var y = pixel.y+adjacentCoords[i][1];
if(isEmpty(x,y,true)) {
continue;
};
var otherPixel = pixelMap[x][y];
for(prop in stripeSpreadingProperties) {
if(otherPixel.element == pixel.element && pixel[prop] && otherPixel[prop]) {
otherPixel[prop] = lerpColors(pixel[prop],otherPixel[prop]);
};
};
/*for(prop in stripeSpreadingProperties2) {
if(otherPixel.element == pixel.element && pixel[prop] !== undefined && otherPixel[prop] !== undefined) {
otherPixel[prop] = pixel[prop]/2 + otherPixel[prop]/2;
}; :eggTF:
};*/
};
var radians = pixel.angle * (Math.PI / 180);
var colorNumber = (pixel.x*Math.cos(radians))+(pixel.y*Math.sin(radians));
var sineWeight = (1+Math.sin(pixel.phase + colorNumber / pixel.scale))/2;
var preColor = lerpColors(pixel.color1,pixel.color2,"json",sineWeight);
for(colorlet in preColor) {
preColor[colorlet] = Math.round(preColor[colorlet]);
};
pixel.color = convertColorFormats(preColor,"rgb");
};
stripePaintDesc = `Exactly what it says on the button.
Properties: