ArrayList < particle > fire = new ArrayList < particle > ();
background(124 + mouseY / 100, 124 + mouseY / 100, 255 + mouseY / 100);
if (mouseY >= height / 2) {
if (random(round(mouseY/ 25)) >= 10) {
fire.add(new particle());
for (particle flare: fire) {
stroke(lerpColor(240, 235, 12, 255, 255, 255, 50));
vertex(440, 300 + (mouseY - height / 2) / 2);
vertex(600, 250 + (mouseY - height / 2) / 2);
vertex(440, 200 + (mouseY - height / 2) / 2);
line(440, 250 + (mouseY - height / 2) / 2, 600, 250 + (mouseY - height / 2) / 2);
stroke(lerpColor(200, 170, 130, 255, 255, 255, 50));
ellipse(250, 250 + (mouseY - height / 2) / 2, 400, 250);
stroke(lerpColor(200, 170, 130, 255, 255, 255, 50));
vertex(45, 250 + (mouseY - height / 2) / 2);
curveVertex(95, 250 + (mouseY - height / 2) / 2);
curveVertex(145, 250 + (mouseY * 2 - height) / 2);
curveVertex(195, 250 + (mouseY - height / 2) / 2);
vertex(245, 250 + (mouseY - height / 2) / 2);
ellipse(350, 225 + (mouseY - height / 2) / 2, 10, 10);
stroke(231, random(27, 135), 10);
yPos = mouseY / 2 + offy;
ellipse(xPos, yPos, size, 2);