0xec7641e2…b0c2sent to0xa7d8d9ef…d270·#14,088,034·view on Etherscan
0),T0=fe(T0,y[X].body1,y[X].wings2),T0.tint(255,255,255),Y0(T0,z0,40,20,.4,.2,0)},draw:le,variance:o(.6,1.2),scale:o(1.2,1.6)},R={name:"Triangular",scale:[.5,1],variance:o(.5,1),odds:80,heightRange:[-40,40],stepSize:80,draw:oe},D={name:"Curved",scale:[.4,1],variance:o(.5,1.6),odds:80,heightRange:[-40,40],stepSize:160,draw:function(){var e=u*be(Q.scale),r=(40+50*Q.variance)*e,n=600/sq(Q.variance)*e,e=700*e;R0.beginShape(),R0.vertex(-n,e),R0.curveVertex(-n,e),R0.curveVertex(0,(200+10*J0)*u-r),R0.curveVertex(n,e),R0.vertex(n,e),R0.endShape()}},N={name:"Mesa",scale:[.2,1],variance:o(1,4),odds:50,heightRange:[0,0],stepSize:260,draw:function(){var e=u*be(Q.scale),r=30-5*e-10*Q.variance+20*J0,e=140*e,r=130-r;R0.beginShape(),R0.vertex(-e-200*u,270*v),R0.vertex(-e-10*u,150*v),R0.vertex(-e,(r+o(0,4))*v),R0.vertex(.4*-e,(r+o(-4,0))*v),R0.vertex(.2*-e,(r+o(-4,0))*v),R0.vertex(.2*e,(r+o(-4,0))*v),R0.vertex(.4*e,(r+o(-4,0))*v),R0.vertex(e,(r+o(0,4))*v),R0.vertex(e+10*u,150*v),R0.vertex(e+200*u,270*v),R0.endShape()}},_={name:"Pyramids",scale:[.5,1.5],variance:o(1.2,1.4),odds:100,heightRange:[-40,-40],stepSize:700,draw:oe};let V={name:"Moon",x:o(70,530)*u,y:o(40,90)*v,scale:o(.4,.7)*v,rot:int(o(0,2))*PI+o(-.5,.5),starsOn:!0},H={name:"Sun",x:o(150,450)*u,y:o(110,160)*v,scale:o(.2,.6)*v,starsOn:!1,blur:o(1,7)},j={name:"Twin Moons",x:o(100,500)*u,y:o(40,90)*v,scale:o(.4,.7)*v,rot:int(o(0,2))*PI+o(-.5,.5),x2:o(100,500)*u,y2:o(40,90)*v,scale2:o(.1,.4)*v,starsOn:!0},B={name:"Twin Suns",x:o(150,450)*u,y:o(110,160)*v,scale:o(.2,.6)*v,x2:o(150,450)*u,y2:o(100,160)*v,scale2:o(.2,.4)*v,blur:o(1,7),starsOn:!1};e={name:"Aurora",starsOn:!0},s=[[50,m],[20,{name:"Curly",angle:[0,25],symmetric:0,branchForks:1,branchNumber:[2,2],randomAngle:!0,stopSplitLevel:1,stemLength:[60,80],branchLength:[40,60],thickness:[2,4],lengthMultiplier:1.1,thicknessMultiplier:1.08,leafSize:[.02,.4],flowerSize:[.02,.08],flowerChance:10,gens:8,friction:[.9,.93],stiffness:[.74,.8]}],[50,p],[150,c],[150,l],[0,s]],A=[[100,F],[100,k],[100,b],[100,w],[100,S],[100,z],[50,A],[100,T],[0,d]],d=[[200,{name:"Sparse",scale:[.6,2.5],number:[20,30],rockPerc:20,circlePerc:25,stickPerc:0,puffPerc:0,glowingPerc:0}],[200,{name:"Grassy",scale:[.3,2.4],number:[150,180],rockPerc:5,circlePerc:2,stickPerc:2,puffPerc:2,glowingPerc:0}],[100,{name:"Barren",scale:[.6,2.5],number:[6,10],rockPerc:80,circlePerc:0,stickPerc:0,puffPerc:0,glowingPerc:0}],[50,{name:"Lush",scale:[.9,2.4],number:[150,180],rockPerc:5,circlePerc:40,stickPerc:5,puffPerc:5,glowingPerc:3}],[50,{name:"Reeds",scale:[.9,2.4],number:[100,130],rockPerc:5,circlePerc:5,stickPerc:60,puffPerc:0,glowingPerc:0}],[50,{name:"Puffballs",scale:[.3,2.4],number:[80,100],rockPerc:5,circlePerc:10,stickPerc:0,puffPerc:35,glowingPerc:0}],[0,{name:"Mixed",scale:[.6,2.2],number:[30,60],rockPerc:5,circlePerc:40,stickPerc:5,puffPerc:5,glowingPerc:5}]],C=[[200,E],[50,L],[100,M],[100,G],[100,W],[0,C]],N=[[200,_],[200,D],[200,N],[0,R]],R=[[300,V],[200,H],[20,B],[50,j],[10,e],[0,{name:"Stars",starsOn:!0}]];let O=0;o(3)<1&&(O=o(3,8));let I=o(2)<1,q=o(250,350);o(100)<20&&(q-=150);let U=!1,J=int(o(x.length)),X,Y;for(;U=!1,X=int(o(1,y.length)),0==J&&(X=0),Y=x[J].name+"-"+y[X].name,n.forEach(function(e){e==Y&&(U=!0)}),1==U;);let[,K]=we(d);var[,s]=we(s);let[,Q]=we(N),[,Z]=we(R),[,$]=we(A),[,e0]=we(C),r0=function(e,r,n,t){let a={def:e,x:r,y:n,allFlowers:t,fullyGrown:!1};return a.stem=ye(a,null,0),me(a.stem),function r(t){let a=t.root.def;let s=t.root;if(t.gen&&t.forks<a.branchForks){t.forks++;let e=t.branches.length,n=!a.stopSplitLevel||t.gen>a.stopSplitLevel;if(0<a.symmetric){let e=int(be(a.branchNumber));for(1&e&&(e--,1==a.symmetric?t.branches.push(ye(s,t,be(a.angle)/2*(.5<o()?1:-1))):t.branches.push(ye(s,t,0)),n||(e=0)),0<e&&!n?e=1:e/=2;0<e--;)if(1==a.symmetric)t.branches.push(ye(s,t,be(a.angle)/2)),n&&t.branches.push(ye(s,t,-be(a.angle)/2));else{let e=be(a.angle)/2;t.branches.push(ye(s,t,e)),n&&t.branches.push(ye(s,t,-e))}}else if(a.randomAngle){if(t.branches.push(ye(s,t,be(a.angle))),n){let e=int(be(a.branchNumber))-1;for(;0<e--;)t.branches.push(ye(s,t,be(a.angle)))}}else{let r=be(a.angle);if(t.branches.push(ye(s,t,r)),n){let e=int(be(a.branchNumber))-1;for(;0<e--;)r+=be(a.angle),t.branches.push(ye(s,t,r))}}if(e!=t.branches.length)for(me(t.branches[e],1==t.forks?t.leaf:null),i=e+1;i<t.branches.length;i++)me(t.branches[i])}t.branches.forEach(e=>r(e))}(a.stem),a}(s,.5*h,.8667*g,$==T),n0=o(3)<1,t0=[];for(i=0;i<12;i++)t0.push(new xe);if(t0[0].x=0,t0[11].x=0,t0[3].x=0,t0[3].y=0,Z==j||Z==B){let e=50;Z==B&&(e=80),e*=u,Z.x2>Z.x-e&&Z.x2<Z.x+e&&(Z.x<Z.x2?(Z.x2-=e,Z.x+=e):(Z.x2+=e,Z.x-=e))}const i0=1.2,a0=.5;let s0=[];if(1==Z.starsOn)for(let e=0;e<1e3;e++)s0.push(new ue);var c0=be(K.number);let l0=[];for(let e=0;e<c0;e++)l0.push(new ve);let o0=[];for(let e=0;e<0;e++)o0.push(new $0(o(.1,.9),o(.2,.4),o(360),.4,3));let f0={x:0,y:-100,xvel:o(-5,5),yvel:o(3,4),a:0,avel:0,chance:1e3},h0=function(){let r=-180,n=0;return{vector:{x:0,y:0},update:function(){n+=g0,r+=10*map(noise(10+.2*n),0,1,-1,1)*g0;var e=31.2*noise(.1*n);this.vector.x=sin(r)*e,this.vector.y=cos(r)*e}}}(),g0=.02,u0=0;createCanvas(h,g),background(0);let v0=re(h,g);angleMode(DEGREES);let x0,y0,m0,p0,d0,k0,b0,w0,S0,F0,P0,z0,A0,T0,C0,E0,L0,M0,W0,G0,R0,D0,N0,_0,V0,H0,j0,B0,O0,I0,q0,U0,J0=0;push(),function(){z0=f(50,50),M0=f(50,50),A0=f(50,50),W0=f(50,50),y0=f(100,100),j0=f(100,100),P0=f(100,100),H0=f(600,600),N0=f(100,100),B0=f(600,600),O0=f(600,600),_0=re(h,g),I0=re(2e3,400),U0=re(h,int(150*v)),D0=f(h,int(150*v)),R0=f(h,int(250*v)),R0.translate(0,50*v),D0.translate(0,-g+145*v),_0.strokeWeight(1);var r=320*v;for(let e=_0.canvas.height;0<e;--e)e>r?_0.stroke(lerpColor(x[J].sky_2,x[J].sky_1,(e-r)/(r/2))):_0.stroke(lerpColor(x[J].sky_3,x[J].sky_2,e/r)),_0.line(0,e,_0.canvas.width,e);Z.starsOn&&s0.forEach(function(e){e.b<180&&(_0.strokeWeight(.005*e.b),_0.stroke(255,255,255,e.b),_0.point(e.x,e.y),s0.splice(e,1))});for(y0.noFill(),P0.noFill(),y0.strokeWeight(2),P0.strokeWeight(2),y0.translate(50,50),P0.translate(50,50),z0.noStroke(),M0.noStroke(),z0.translate(25,25),i=1;i<50;i+=1){y0.stroke(255,255,255,sq(50-i)/10),P0.stroke(255,255,255,sq(i)/10),y0.circle(0,0,2*i),P0.circle(0,0,2*i),z0.fill(255,255,255,20),z0.circle(0,0,i),M0.fill(255,255,255,20);var e=.5*i;M0.triangle(25-e,25+e,25,25-e,25+e,25+e)}j0.tint(P(255,255,255,100)),j0.image(y0,0,0),W0.noStroke(),A0.noStroke(),W0.fill(255,255,255),A0.fill(255,255,255),A0.circle(25,25,45),W0.triangle(5,45,25,5,45,45),G0=fe(z0,y[X].wings1,y[X].wings2),H0.noFill(),H0.strokeWeight(4),H0.translate(300,300);let n=500;for(i=550;1<i;i-=2)H0.stroke(0,0,0,n),H0.circle(0,0,2*i),n*=.975;if(Z==V||Z==j){for(N0.noStroke(),N0.fill(x[J].moon),N0.circle(50,50,96),N0.erase(15),i=0;i<200;i+=1)N0.circle(o(100),o(100),o(2,15));for(N0.fill(0,0,0,60),N0.erase(60),V0=o(50,80),i=V0;i<200;i+=1)N0.ellipse(i,50,100,2*V0);N0.fill(255,0,0),Y0(_0,N0,Z.x,Z.y,Z.scale,Z.scale,Z.rot),Z==j&&Y0(_0,N0,Z.x2,Z.y2,Z.scale2,Z.scale2,Z.rot)}if(Z==H||Z==B){for(B0.noStroke(),O0.noStroke(),col=x[J].moon,i=0;i<100/Z.blur;i+=10/Z.blur)B0.fill(red(col),green(col),blue(col),2*i),O0.fill(red(col),green(col),blue(col),2*i),B0.circle(250,250,240*Z.scale-i*u),Z==B&&O0.circle(250,250,240*Z.scale2-i*u);B0.fill(red(col),green(col),blue(col),255),O0.fill(red(col),green(col),blue(col),255),B0.circle(250,250,240*Z.scale-100*u/Z.blur),Z==B&&O0.circle(250,250,240*Z.scale2-100*u/Z.blur),Y0(_0,B0,Z.x,Z.y,1,1,0),Z==B&&Y0(_0,O0,Z.x2,Z.y2,1,1,0)}for(I0.fill(0),q0=f(100,100),q0.tint(x[J].cloud),q0.image(y0,0,0),sz=o(1,2),lp=0;lp<1e3;lp+=10)sz+=o(-.5,.5),2<sz&&(sz-=.2),3<sz&&(sz-=2),sz<-.5&&(sz+=.1),.5<sz&&(Y0(I0,q0,lp,300-20*sz,sz,sz,0),Y0(I0,q0,lp+1e3,300-20*sz,sz,sz,0));for(I0.erase(160),I0.rect(0,0,2e3,500),U0.translate(0,154*v),U0.strokeWeight(ceil(13*v)),U0.noFill(),lp=0;lp<12;lp++)lerpAm=lp/22,U0.stroke(lerpColor(x[J].fg_1,x[J].fg_2,lerpAm)),U0.translate(0,-8*v),ge(U0,lerpAm);for(U0.strokeWeight(ceil(2*v)),U0.erase(),lp=0;lp<81;lp++)U0.translate(0,-1*v),ge(U0,lerpAm);for(U0.strokeWeight(ceil(+v)),U0.noErase(),U0.stroke(x[J].line),U0.translate(0,81*v),ge(U0,lerpAm),J0=0;J0<3;J0++){R0.fill(x[J].fg_1),R0.noErase(),R0.noStroke();for(let e=0;e<1800;e+=Q.stepSize){var t,a;o(100)<Q.odds&&(t=e+o(-.5,.5)*Q.stepSize-200,a=be(Q.heightRange),R0.push(),R0.translate(t*u,a*v),Q.draw(),R0.pop())}R0.stroke(30,30,30),R0.fill(30,30,30);for(let e=0;e<O;e++){var s=o(2)<1,c=(o(-200,250)+550*s)*u,l=(o(0,1.6)+3*J0)*v,s=(q-20*J0+o(10))*v*.5-3*l;I?(R0.noStroke(),R0.ellipse(c,s,1.2*l,.3*l),R0.stroke(30,30,30)):he(R0,c,s+15*v,.6*l,c,s,.4*l),he(R0,c,s+160*v,.6*l,c,s,.2*l)}for(R0.strokeWeight(1),i=-50*v;i<=200*v;i++){let e=1.3*i/v+20;e<50&&(e=50),R0.erase(),R0.stroke(0,0,0,e),R0.line(0,i,h,i)}}(function(){x0=re(100,100);var e=y[X].body1;x0.tint(red(e),green(e),blue(e),90),Y0(x0,y0,50,50,1,1,0)})(),$.createTextures&&$.createTextures();e0.createTextures&&e0.createTextures()}(),pop(),textSize(14);let X0=null;function Y0(e,r,n,t,i,a,s){e.push(),e.translate(n,t),e.rotate(s),e.scale(i,a),e.image(r,0,0),e.pop()}function K0(e,r,n,t,i,a,s){e.push(),e.translate(n*g,t*g),e.rotate(s),e.scale(i,a),e.image(r,0,0),e.pop()}function Q0(e,r,n,t,i,a,s,c,l,o,f,h,g,u,v,x,y=255,m=100,p=20,d=230,k=180,b=20,w=r,S=n,F=t){return{name:e,body1:P(r,n,t),body2:P(c,l,o),wings1:P(f,h,g),wings2:P(u,v,x),nose1:P(y,m,p),nose2:P(d,k,b),foliage:P(w,S,F),branch1:P(r,n,t)}}function Z0(e,r,n,t,i,a,s,c,l,o,f,h,g,u,v,x,y,m,p,d,k,b,w=255,S=255,F=255){return{name:e,sky_1:P(r,n,t),sky_2:P(i,a,s),sky_3:P(c,l,o),cloud:P(f,h,g),line:P(u,v,x),fg_1:P(y,m,p),fg_2:P(d,k,b),moon:P(w,S,F)}}function $0(e,r,n,t,i){this.x=e,this.y=r,this.rot=n,this.sz=t,this.spd=i,this.rotSpd=0,$.initFlyer()}function ee(e){e.flap=o(1)}function re(e,r){let n=f(e,r);return n.imageMode(CENTER),n.angleMode(DEGREES),n}function ne(){k0=re(80,80),p0=fe(z0,y[X].wings1,y[X].win