Gom3ne :(

February 06, 2019

  1. <!DOCTYPE html>

  2. <html>

  3.   <head>

  4.     <meta name="description" content="SilentClown Est 2k18 ">

  5.     <meta name="theme-color" content="black">

  6.     <meta charset="utf-8">

  7.     <title>PWNEEED!</title>

  8. <style media="screen">

  9.   @import url(http://fonts.googleapis.com/css?family=Electrolize);

  10.   html {

  11.   background-color: black;

  12.   text-align: center;

  13.   }

  14.  

  15.       gans {

  16.       position: absolute;

  17.       top: 33%;

  18.         left: 50%;

  19.         transform: translate(-50%, -50%);

  20.         color: white;

  21.         font-family: Electrolize;

  22.         font-size: 28px;

  23.         text-shadow: 0px 0px 2px purple, 0px 0px 5px purple, 0px 0px 10px purple, 0px 0px 15px purple;

  24. }

  25.  

  26. up {

  27. color: white;

  28. font-family: Courier new;

  29. font-size: 20px;

  30. text-shadow: 1px 1px 5px cyan, 0px 0px 8px cyan;

  31. }

  32. </style>

  33.   </head>

  34.   <body>

  35.     <gans><br><br><br><i>Touched by "Developer_KamiKaze feat LOCALHOST@syntaa" </font><br><font color="aqua">A-B-C-D-<font color ="gold">E-F = FUCKYOU<br>

  36.     <up><marquee>SilentClown : LOCALHOST@Synta_ - UnM@SK - Mr Onion - ./F4UZ4N   - IdiotPeople  - irvn</marquee>

  37.         <br>wr00tz</br>

  38.  <marquee direction="right">and you | N45T4R_ID | Mr.R007 | Mr.Donut's | Deskopt77N3T | C0RT3X | LoliSecID | XalVador | xRyukz | ALM0SHTEV!L | L7NET | 6hosthere502 | MR.IX | K4HH | Mr.Dencrafty | ./F4K3-5YST3M | TehSosro404 | GHz7 </marquee></up>

  39.     </gans>

  40.     <canvas id="usa"></canvas>

  41. <script>

  42.  

  43.     'use strict'

  44.  

  45.     const PI2 = Math.PI * 2

  46. let random = (min, max) => Math.random() * (max - min + 1) + min | 0

  47.  

  48. class Merica {

  49.   constructor() {

  50.     this.resize()

  51.  

  52.     this.fireworks = []

  53.     this.counter = 0

  54.  

  55.   }

  56.   resize() {

  57.     this.width = canvas.width = window.innerWidth

  58.     let center = this.width / 2 | 0

  59.     this.spawnA = center - center / 4 | 0

  60.     this.spawnB = center + center / 4 | 0

  61.  

  62.     this.height = canvas.height = window.innerHeight

  63.     this.spawnC = this.height * .1

  64.     this.spawnD = this.height * .5

  65.  

  66.   }

  67.   onClick(evt) {

  68.     let x = evt.clientX || evt.touches && evt.touches[0].pageX

  69.     let y = evt.clientY || evt.touches && evt.touches[0].pageY

  70.  

  71.     let count = random(3, 5)

  72.     for (let i = 0; i < count; i++) this.fireworks.push(new Firework(

  73.       random(this.spawnA, this.spawnB),

  74.       this.height,

  75.       x,

  76.       y,

  77.       random(300, 400),

  78.       random(30, 100)))

  79.  

  80.     this.counter = -30

  81.  

  82.   }

  83.   update() {

  84.     ctx.globalCompositeOperation = 'hard-light'

  85.     ctx.fillStyle = 'rgba(20,20,20,0.15)'

  86.     ctx.fillRect(0, 0, this.width, this.height)

  87.  

  88.     ctx.globalCompositeOperation = 'lighter'

  89.     for (let firework of this.fireworks) firework.update()

  90.  

  91.     if (++this.counter === 15) {

  92.       this.fireworks.push(new Firework(

  93.         random(this.spawnA, this.spawnB),

  94.         this.height,

  95.         random(0, this.width),

  96.         random(this.spawnC, this.spawnD),

  97.         random(300, 450),

  98.         random(30, 110)))

  99.       this.counter = 0

  100.     }

  101.  

  102.     if (this.fireworks.length > 1000) this.fireworks = this.fireworks.filter((firework) => !firework.dead)

  103.  

  104.   }

  105. }

  106.  

  107. class Firework {

  108.   constructor(x, y, targetX, targetY, shade, offsprings) {

  109.     this.dead = false

  110.     this.offsprings = offsprings

  111.  

  112.     this.x = x

  113.     this.y = y

  114.     this.targetX = targetX

  115.     this.targetY = targetY

  116.  

  117.     this.shade = shade

  118.     this.history = []

  119.   }

  120.   update() {

  121.     if (this.dead) return;

  122.  

  123.     let xDiff = this.targetX - this.x

  124.     let yDiff = this.targetY - this.y

  125.     if (Math.abs(xDiff) > 3 || Math.abs(yDiff) > 3) {

  126.       this.x += xDiff / 20

  127.       this.y += yDiff / 20

  128.  

  129.       this.history.push({

  130.         x: this.x,

  131.         y: this.y

  132.       })

  133.  

  134.       if (this.history.length > 20) this.history.shift()

  135.  

  136.     } else {

  137.       if (this.offsprings && !this.madeChilds) {

  138.  

  139.         let start = this.offsprings / 2;

  140.         for (let i = 0; i < start; i++) {

  141.           let targetX = this.x + this.offsprings * Math.cos(PI2 * i / start) | 0

  142.           let targetY = this.y + this.offsprings * Math.sin(PI2 * i / start) | 0

  143.  

  144.           usa.fireworks.push(new Firework(this.x, this.y, targetX, targetY, this.shade, 0))

  145.  

  146.         }

  147.  

  148.       }

  149.       this.madeChilds = true

  150.       this.history.shift()

  151.     }

  152.  

  153.     if (this.history.length === 0) this.dead = true

  154.     else if (this.offsprings)

  155.       for (let i = 0; this.history.length > i; i++) {

  156.         let point = this.history[i]

  157.         ctx.beginPath()

  158.         ctx.fillStyle = 'hsl(' + this.shade + ',100%,' + i + '%)'

  159.         ctx.arc(point.x, point.y, 1, 0, PI2, false)

  160.         ctx.fill()

  161.       }

  162.     else {

  163.       ctx.beginPath()

  164.       ctx.fillStyle = 'hsl(' + this.shade + ',100%,50%)'

  165.       ctx.arc(this.x, this.y, 1, 0, PI2, false)

  166.       ctx.fill()

  167.     }

  168.  

  169.   }

  170. }

  171.  

  172. let canvas = document.getElementById('usa')

  173. let ctx = canvas.getContext('2d')

  174.  

  175. let usa = new Merica

  176. window.onresize = () => usa.resize()

  177. document.onclick = (evt) => usa.onClick(evt)

  178. document.ontouchstart = (evt) => usa.onClick(evt)

  179.  

  180. ;

  181. (function update() {

  182.   requestAnimationFrame(update)

  183.   usa.update()

  184.  

  185. }())

  186.  

  187. </script>

  188.   </body>

  189. </html>