var ws,seed,ratio;let cols,rows;var density=2,w=1200,h=1200;let paletteRoot,palette,border,hasBackground,hasClouds,hasGradient,hasSun,hasTexture,hasColorVariation1,hasColorVariation2,R,groundH,r=1.5,k=10,grid=[],wg=r/Math.sqrt(2),active=[],horiz=0,render=0,palettes=[{name:"Ocean Breeze",colors:["#443A3A","#578672","#C4B79C","#648678"],bg:["#D5E5ED","#D5EDE8","#FCD89E","#E8D5B9"],cloudColor:"#ffffff",sunColor:"#FFFAE8"},{name:"Lush Highlands",colors:["#365246","#B3D1C4","#71837B","#222222"],bg:["#D5E5ED","#D5EDE8","#FCD89E","#E8D5B9"],cloudColor:"#ffffff",sunColor:"#FFFAE8"},{name:"Majestic Greens",colors:["#648678","#49866C","#3E524A","#3E3E3E"],bg:["#E8D5B9","#D5E5ED","#D5EDE8","#FCD89E"],cloudColor:"#ffffff",sunColor:"#EDBD8D"},{name:"Earthy Delight",colors:["#AC3622","#252726","#B93B22","#252726"],bg:["#DFBDA8","#BBC3D0","#88A09E","#C9C4B9"],cloudColor:"#FFD1B4",sunColor:"#FFD1B4"},{name:"Alpine Oasis",colors:["#0566AF","#DB4E55","#CB2931","#092C46"],bg:["#E6DEC3","#DFBDA8","#BBC3D0","#88A09E","#C9C4B9"],cloudColor:"#FFD1B4",sunColor:"#FCDBDD"},{name:"Autumn Spice",colors:["#BF9855","#9E8F67","#C05A23","#84290D"],bg:["#DFBDA8","#BBC3D0","#C9C4B9","#88A09E","#9DA59A"],cloudColor:"#FFD1B4",sunColor:"#ffffff"},{name:"Sun-Kissed Fields",colors:["#E07A7E","#D89484","#B18985","#4F4657"],bg:["#9DA59A","#88A09E"],cloudColor:"#CBAA9F",sunColor:"#E6DEC3"},{name:"Orchid Meadows",colors:["#523569","#A869B9","#A93488","#302934"],bg:["#D5E5ED","#D5EDE8","#FCD89E","#E8D5B9","#EDE6F5"],cloudColor:"#ffffff",sunColor:"#FFFBD8"},{name:"Enchanted Woods",colors:["#2E5D5A","#E88D15","#B94531","#452A20"],bg:["#E0D5A9","#E8DAD7","#D5E5ED","#9DA59A"],cloudColor:"#EAA99F",sunColor:"#FAC09A"},{name:"Midnight Sky",colors:["#222222","#333333","#666666","#999999"],bg:["#111111","#263743"],cloudColor:"#333333",sunColor:"#cccccc"},{name:"Spring Delight",colors:["#BF5334","#333333","#22699B","#6C954A"],bg:["#CCD6DE","#D5E5ED","#FCD89E","#E8D5B9"],cloudColor:"#CBAA9F",sunColor:"#FFF1DB"},{name:"Iceberg Breeze",colors:["#ffffff","#f0f0f0","#C3CFD8","#313538"],bg:["#9DB8CF","#E8E8E8","#fdc9b9"],cloudColor:"#ffffff",sunColor:"#FAF9DE"},{name:"Wildflower Meadows",colors:["#2B2F79","#5AA19B","#F2AD12","#D7542C"],bg:["#CCD6DE","#D5E5ED","#FCD89E","#E8D5B9"],cloudColor:"#ffffff",sunColor:"#FCECC9"},{name:"Golden Horizons",colors:["#F5D797","#E0BD71","#BC8D67","#39352D"],bg:["#6790BC","#527090"],cloudColor:"#cccccc",sunColor:"#F7D998"},{name:"Blossom Dream",colors:["#F29F80","#A9BF9F","#8C3E5B","#D9666F"],bg:["#95B9BF","#CCD6DE","#FCD89E"],cloudColor:"#f0f0f0",sunColor:"#F7D998"},{name:"Serene Sunrise",colors:["#5f5b6b","#f49d37","#ed6a5e","#ffaf87"],bg:["#FAE1D1","#EDE3BF","#CCD6DE"],cloudColor:"#FADCD7",sunColor:"#F7C47D"},{name:"Winter Wonderland",colors:["#0F3141","#214857","#8D9FA9","#ECEAE2","#C89C60"],bg:["#CCD6DE","#D5E5ED","#E8D5B9"],cloudColor:"#ffffff",sunColor:"#F3F4F3"},{name:"Citrus Delight",colors:["#CA5F3C","#98BFAD","#F2C266","#383020"],bg:["#EDE8D4","#95B9BF","#CCD6DE","#EDE3BF","#FCD89E"],cloudColor:"#ffffff",sunColor:"#ffffff"},{name:"Royal Sunset",colors:["#F2BC8D","#50342F","#D66269","#F0DF8C"],bg:["#968FA8","#95B9BF","#CCD6DE","#EDE3BF","#FCD89E"],cloudColor:"#E5B7BB",sunColor:"#F7D998"}];function setup(){ws=min(windowWidth,windowHeight),drawScene()}function drawScene(){R=new Random,seed=parseInt(tokenData.hash.slice(0,16),16),noiseSeed(seed),randomSeed(seed),calculateFeatures(tokenData),createGraphicsCanvas(),colorizeBackground(),setGrid(),noiseSeed(seed),randomSeed(seed),rw1=4*r,rw2=3*r,rw3=5*r;let o=[...palette];c1idx=floor(random(o.length)),c1=rgbToHsl(o[c1idx]),c1l=c1.l,c1s=c1.s,o.splice(c1idx,1),c2idx=floor(random(o.length)),c2=rgbToHsl(o[c2idx]),c2l=c2.l,c2s=c2.s,o.splice(c2idx,1),c3idx=floor(random(o.length)),c3=rgbToHsl(o[c3idx]),c3l=c3.l,c3s=c3.s,o.splice(c3idx,1),c4=rgbToHsl(random(o)),c4l=c4.l,c4s=c4.s,rcx=R.random_int(600,2400);let e=R.random_num(0,1);str=e<.5?R.random_int(400,500):e<.8?R.random_int(500,800):R.random_int(800,1200);let n=R.random_num(0,1);n<.2?(rx=100,ry=100,monH=300):n<.35?(rx=200,ry=300,monH=300):n<.5?(rx=200,ry=200,monH=800):n<.75?(rx=R.random_int(200,300),ry=R.random_int(200,300),monH=800):n<.9?(rx=200,ry=100,monH=600):(rx=300,ry=150,monH=800),xoffset=R.random_int(0,1e4),render=0,groundH=R.random_num(.6,.8)}function createGraphicsCanvas(){ratio=.753,createCanvas(ws*ratio,ws),pg=createGraphics(w*ratio-2*border,h-2*border),pgCanvas=createGraphics(w*ratio,h),pixelDensity(density),pg.pixelDensity(density),pgCanvas.pixelDensity(density),pX=.02*pg.height,colorMode(HSB,300)}function colorizeBackground(){if(background("#EEE3D0"),pg.background(backgroundColor),pgCanvas.background("#EEE3D0"),hasGradient){let o=color(R.random_choice(paletteRoot.bg)),r=rgbToHsl(o);r.l+=20,r=color(getHslColor(r)),pg.strokeWeight(5);for(let e=0;e<pg.height+10;e+=5){let n=map(e,0,.5*pg.height,0,1),t=lerpColor(o,r,n);pg.stroke(t),pg.line(0,e,pg.width,e)}}if(hasSun){pg.noStroke();let o=rgbToHsl(paletteRoot.sunColor);pg.fill(getHslColor(o));let r=random(20,40),e=R.random_num(border+r,.15*pg.height),n=R.random_num(border+r,pg.width-(border+r));pg.ellipse(n,e,r),pg.noFill();for(let t=0;t<10;t++){let l=map(t,0,20,.01,0);pg.fill(getHslaColor(o,abs(l))),pg.ellipse(n,e,r+10*t),pg.noFill()}}if(hasClouds){let o=isRaining?"#666666":paletteRoot.cloudColor,r=.3*pg.height;pg.strokeWeight(8);let e=100*PI;for(let n=0;n<pg.width;n+=2)for(let t=0;t<r;t+=2){let l=map(t,0,r,200,10,!0),a=map(t,0,.3*pg.height,1,0,!0),s=noise(n/300,t/l)*e,i=map(s,0,isRaining?e:e/2,.3,0,!0),c=rgbToHsl(o),d=min(.98,i*a);d=max(.001,d);let g=getHslaColor(c,d);pg.push(),pg.stroke(g),pg.translate(n,t),pg.point(0,0),pg.pop()}}}function setGrid(){grid=[],cols=floor(pg.width/wg),rows=floor(pg.height/wg);for(let o=0;o<cols*rows;o++)grid[o]=void 0;let o=pg.width/2,e=pg.height/2;var n=floor(o/wg),t=floor(e/wg);let l=createVector(o,e);for(grid[n+t*cols]=l,active.push(l);active.length>0;){let o=floor(random(active.length)),e=!1,n=active[o];for(let o=0;o<k;o++){let o=p5.Vector.random2D(),t=random(r,2*r);o.setMag(t),o.add(n);let l=floor(o.x/wg),i=floor(o.y/wg);if(l>-1&&i>-1&&l<cols&&i<rows&&!grid[l+i*cols]){let n=!0;for(let e=-1;e<=1;e++)for(let t=-1;t<=1;t++){var a=l+e+(i+t)*cols,s=grid[a];s&&p5.Vector.dist(o,s)<r&&(n=!1)}if(n){e=!0,grid[l+i*cols]=o,active.push(o);break}}}e||active.splice(o,1)}}function getNoise(o,r){return noise(o,r)}function draw(){pg.noStroke();for(let o=0;o<1e3;o++){let o=render;if(grid[o]){let r=grid[o].x,e=grid[o].y,n=map(e,0,10*pg.height,rcx/10,rcx,!0),t=map(e,0,pg.height*groundH,monH,0,!0),l=getNoise(r/rcx,e/n)*str,a=getNoise((r+xoffset)/rx,e/ry)*t,s=map(e,0,.4*pg.height,10,0,!0),i=r,c=a+e,d=l;if(c<pg.height){if(hasColorVariation1){let o=floor(map(l,0,str,0,palette.length));c4=rgbToHsl(palette[o])}if(hasColorVariation2){let o=floor(map(e,0,pg.height,0,palette.length));c4=rgbToHsl(palette[o])}c1.l=abs(c1l+random(-5,5)+s),brush(i,c,d/10,getHslColor(c1),rw1),c2.l=abs(c2l+random(-5,5)+s),brush(i,c,-d/20,getHslColor(c2),rw2),c3.l=abs(c3l+random(-5,5)+s),brush(i,c,d/30,getHslColor(c3),rw3),c4.l=abs(c4l+random(-5,5)+s),brush(i,c,-d/40,getHslColor(c4),rw3)}}render++}if(render>grid.length){if(isRaining){let o=radians(R.random_num(-20,20));for(let r=0;r<1500;r++){let r=random(pg.width),e=random(pg.height);pg.push(),pg.fill(R.random_int(200,250),120),pg.translate(r,e),pg.rotate(o);let n=R.random_int(10,random()>.8?80:40);pline(0,-n/2,0,n/2,R.random_num(.015,.04)),pg.pop()}}noLoop()}pgCanvas.image(pg,border,border),image(pgCanvas,0,0,ws*ratio,ws)}function brush(o,r,e,n,t){pg.push(),pg.translate(o,r),pg.rotate(e),pg.fill(n),pg.rect(0,0,2,t),pg.pop()}function handleSave(){pgCanvas.save("summit-"+tokenData.hash+"-gpitombo.png")}function keyPressed(){if("s"!==key)return"2"===key?(saving=!0,density=4,drawScene(),loop(),void draw()):"3"===key?(saving=!0,density=8,drawScene(),loop(),void draw()):"4"===key?(saving=!0,density=10,drawScene(),loop(),void draw()):void 0;handleSave()}function calculateFeatures(o){var r=parseInt(o.hash.slice(0,16),16);function e(){return r^=r<<13,r^=r>>17,((r^=r<<5)<0?1+~r:r)%1e3/1e3}function n(o){return o[(r=0,n=o.length-1,Math.floor(function(o,r){return o+(r-o)*e()}(r,n+1)))];var r,n}function t(o){return e()<o}return paletteRoot=n(palettes),palette=paletteRoot.colors,isRaining=t(.09),border=n([0,10,30]),hasClouds=!!isRaining||t(.3),hasGradient=t(.7),hasSun=!isRaining&&t(.3),hasColorVariation1=t(.3),hasColorVariation2=t(.3),backgroundColor=n(paletteRoot.bg),{border,palette:paletteRoot.name,clouds:hasClouds,gradientSky:hasGradient,sun:hasSun,raining:isRaining}}class Random{constructor(){this.useA=!1;let o=function(o){let r=parseInt(o.substring(0,8),16),e=parseInt(o.substring(8,16),16),n=parseInt(o.substring(16,24),16),t=parseInt(o.substring(24,32),16);return function(){r|=0,e|=0,n|=0,t|=0;let o=(r+e|0)+t|0;return t=t+1|0,r=e^e>>>9,e=n+(n<<3)|0,n=n<<21|n>>>11,n=n+o|0,(o>>>0)/4294967296}};this.prngA=new o(tokenData.hash.substring(2,34)),this.prngB=new o(tokenData.hash.substring(34,66));for(let o=0;o<1e6;o+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(o,r){return o+(r-o)*this.random_dec()}random_int(o,r){return Math.floor(this.random_num(o,r+1))}random_bool(o){return this.random_dec()<o}random_choice(o){return o[this.random_int(0,o.length-1)]}}function rgbToHsl(o){let r=color(o),e=_rgbToHsl(red(r),green(r),blue(r));return{h:e[0],s:e[1],l:e[2]}}function _rgbToHsl(o,r,e){o/=255,r/=255,e/=255,random(60,90);const n=Math.max(o,r,e),t=n-Math.min(o,r,e),l=t?n===o?(r-e)/t:n===r?2+(e-o)/t:4+(o-r)/t:0;return[round(100*l<0?60*l+360:60*l),100*(t?n<=.5?t/(2*n-t):t/(2-(2*n-t)):0),100*(2*n-t)/2]}function getHslColor(o){return`hsl(${o.h}, ${o.s}%, ${o.l}%)`}function getHslaColor(o,r){return`hsla(${o.h}, ${o.s}%, ${o.l}%, ${r})`}function pline(o,r,e,n,t){pg.push();let l=createVector(o,r),a=createVector(e,n),s=Math.atan2(n-r,e-o),i=l.dist(a);for(let o=0;o<i;o+=.4){let r=random()*pX*.05,e=l.x+o*cos(s.toFixed(2))+random(-.2,.2),n=l.y+o*sin(s.toFixed(2))+random(-.2,.2);pg.ellipse(e,n,r)}pg.pop()}
↓ show full (10,098 bytes)