sapbot

Cosmic Cookie Clicker

Feb 13th, 2026
76
0
Never
9
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 19.57 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Cosmic Cookie Clicker</title>
  7.     <script src="https://cdn.tailwindcss.com"></script>
  8.     <link href="https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@400;700&display=swap" rel="stylesheet">
  9.     <style>
  10.         body {
  11.             font-family: 'Nunito', sans-serif;
  12.             background: radial-gradient(circle at center, #2b1055, #000000);
  13.             color: white;
  14.             overflow: hidden;
  15.             user-select: none;
  16.         }
  17.  
  18.         h1, h2, h3, .font-display {
  19.             font-family: 'Fredoka One', cursive;
  20.         }
  21.  
  22.         /* Custom Scrollbar */
  23.         ::-webkit-scrollbar {
  24.             width: 8px;
  25.         }
  26.         ::-webkit-scrollbar-track {
  27.             background: #1a1a2e;
  28.         }
  29.         ::-webkit-scrollbar-thumb {
  30.             background: #e94560;
  31.             border-radius: 4px;
  32.         }
  33.  
  34.         /* Cookie Animation */
  35.         #big-cookie {
  36.             transition: transform 0.1s;
  37.             filter: drop-shadow(0 0 20px rgba(255, 165, 0, 0.6));
  38.             cursor: pointer;
  39.         }
  40.         #big-cookie:active {
  41.             transform: scale(0.95);
  42.         }
  43.         #big-cookie:hover {
  44.             filter: drop-shadow(0 0 30px rgba(255, 200, 100, 0.8));
  45.         }
  46.  
  47.         /* Floating Text Animation */
  48.         @keyframes floatUp {
  49.             0% { opacity: 1; transform: translateY(0) scale(1); }
  50.             100% { opacity: 0; transform: translateY(-50px) scale(1.2); }
  51.         }
  52.         .floating-text {
  53.             position: absolute;
  54.             pointer-events: none;
  55.             animation: floatUp 1s ease-out forwards;
  56.             font-weight: bold;
  57.             text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  58.             z-index: 50;
  59.         }
  60.  
  61.         /* Particles */
  62.         .particle {
  63.             position: absolute;
  64.             pointer-events: none;
  65.             background: white;
  66.             border-radius: 50%;
  67.             animation: fadeOut 1s linear forwards;
  68.         }
  69.         @keyframes fadeOut {
  70.             to { opacity: 0; transform: translate(var(--tx), var(--ty)); }
  71.         }
  72.  
  73.         /* Shop Item Hover */
  74.         .shop-item {
  75.             transition: all 0.2s;
  76.             border: 1px solid rgba(255,255,255,0.1);
  77.         }
  78.         .shop-item:hover {
  79.             background: rgba(255, 255, 255, 0.1);
  80.             transform: translateX(-5px);
  81.             border-color: rgba(255,255,255,0.3);
  82.         }
  83.         .shop-item.affordable {
  84.             border-left: 4px solid #4ade80;
  85.         }
  86.         .shop-item.locked {
  87.             opacity: 0.6;
  88.             filter: grayscale(0.8);
  89.         }
  90.  
  91.         /* Shine effect for upgrades */
  92.         .shine {
  93.             position: relative;
  94.             overflow: hidden;
  95.         }
  96.         .shine::after {
  97.             content: '';
  98.             position: absolute;
  99.             top: 0;
  100.             left: -100%;
  101.             width: 50%;
  102.             height: 100%;
  103.             background: linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent);
  104.             transform: skewX(-25deg);
  105.             animation: shine 3s infinite;
  106.         }
  107.         @keyframes shine {
  108.             100% { left: 200%; }
  109.         }
  110.        
  111.         /* Background Stars */
  112.         .star {
  113.             position: absolute;
  114.             background: white;
  115.             border-radius: 50%;
  116.             opacity: 0.8;
  117.             animation: twinkle var(--duration) ease-in-out infinite;
  118.         }
  119.         @keyframes twinkle {
  120.             0%, 100% { opacity: 0.3; transform: scale(0.8); }
  121.             50% { opacity: 1; transform: scale(1.2); }
  122.         }
  123.     </style>
  124. </head>
  125. <body class="h-screen w-screen flex flex-col md:flex-row overflow-hidden">
  126.  
  127.     <!-- Background Stars Container -->
  128.     <div id="stars-container" class="absolute inset-0 pointer-events-none z-0"></div>
  129.  
  130.     <!-- LEFT SECTION: Production & Stats -->
  131.     <div class="w-full md:w-1/3 p-6 flex flex-col justify-center items-center z-10 relative border-b md:border-b-0 md:border-r border-white/10 bg-black/20 backdrop-blur-sm">
  132.        
  133.         <div class="text-center mb-4">
  134.             <h2 class="text-gray-400 text-sm uppercase tracking-widest mb-1">Cookies Baked</h2>
  135.             <div id="cookie-count" class="text-5xl md:text-6xl font-display text-white drop-shadow-lg">0</div>
  136.             <div class="text-orange-400 mt-2 font-bold text-lg">
  137.                 <span id="cps-display">0</span> per second
  138.             </div>
  139.         </div>
  140.  
  141.         <!-- The Big Cookie -->
  142.         <div class="relative mt-4 group">
  143.             <div id="big-cookie" class="w-48 h-48 md:w-64 md:h-64 rounded-full bg-gradient-to-br from-yellow-300 via-yellow-600 to-yellow-800 shadow-2xl flex items-center justify-center relative overflow-hidden shine">
  144.                 <!-- Cookie Texture (Simple CSS) -->
  145.                 <div class="absolute inset-0 opacity-30" style="background-image: radial-gradient(circle at 20% 30%, #3e2723 5%, transparent 6%), radial-gradient(circle at 70% 60%, #3e2723 4%, transparent 5%), radial-gradient(circle at 40% 80%, #3e2723 6%, transparent 7%);"></div>
  146.                 <div class="text-yellow-900/20 text-6xl font-black select-none">CC</div>
  147.             </div>
  148.             <div class="absolute -bottom-8 left-1/2 transform -translate-x-1/2 text-white/50 text-sm animate-pulse">Click me!</div>
  149.         </div>
  150.  
  151.         <!-- News Ticker -->
  152.         <div class="mt-12 w-full max-w-xs bg-black/40 p-3 rounded-lg border border-white/10">
  153.             <p id="news-ticker" class="text-xs text-gray-300 italic text-center">"Welcome to the Cookie Universe."</p>
  154.         </div>
  155.     </div>
  156.  
  157.     <!-- RIGHT SECTION: Shop -->
  158.     <div class="w-full md:w-2/3 flex flex-col z-10 bg-black/40 backdrop-blur-md">
  159.         <div class="p-4 border-b border-white/10 bg-black/20 flex justify-between items-center">
  160.             <h2 class="text-2xl font-display text-yellow-400">Store</h2>
  161.             <div class="text-xs text-gray-400">Buy upgrades to bake automatically</div>
  162.         </div>
  163.        
  164.         <div id="shop-container" class="flex-1 overflow-y-auto p-4 space-y-3">
  165.             <!-- Shop items will be injected here via JS -->
  166.         </div>
  167.     </div>
  168.  
  169.     <script>
  170.         // --- Game Configuration & State ---
  171.        const gameState = {
  172.            cookies: 0,
  173.            totalCookies: 0,
  174.            clicks: 0,
  175.            startTime: Date.now(),
  176.            cps: 0, // Cookies per second
  177.            clickPower: 1,
  178.            buildings: [
  179.                { id: 'cursor', name: 'Cursor', baseCost: 15, baseCps: 0.1, count: 0, icon: '🖱️', desc: 'Autoclicks once every 10 seconds.' },
  180.                { id: 'grandma', name: 'Grandma', baseCost: 100, baseCps: 1, count: 0, icon: '👵', desc: 'A nice grandma to bake cookies.' },
  181.                { id: 'farm', name: 'Farm', baseCost: 1100, baseCps: 8, count: 0, icon: '🚜', desc: 'Grows cookie plants from cookie seeds.' },
  182.                { id: 'mine', name: 'Mine', baseCost: 12000, baseCps: 47, count: 0, icon: '⛏️', desc: 'Mines out cookie dough and chocolate chips.' },
  183.                { id: 'factory', name: 'Factory', baseCost: 130000, baseCps: 260, count: 0, icon: '🏭', desc: 'Produces large quantities of cookies.' },
  184.                { id: 'bank', name: 'Bank', baseCost: 1400000, baseCps: 1400, count: 0, icon: '🏦', desc: 'Generates cookies from interest.' },
  185.                { id: 'temple', name: 'Temple', baseCost: 20000000, baseCps: 7800, count: 0, icon: '🏛️', desc: 'Full of precious, ancient chocolate.' },
  186.                { id: 'wizard', name: 'Wizard Tower', baseCost: 330000000, baseCps: 44000, count: 0, icon: '🧙', desc: 'Summons cookies with magic spells.' }
  187.            ]
  188.        };
  189.  
  190.         // --- DOM Elements ---
  191.         const elCookieCount = document.getElementById('cookie-count');
  192.         const elCpsDisplay = document.getElementById('cps-display');
  193.         const elBigCookie = document.getElementById('big-cookie');
  194.         const elShopContainer = document.getElementById('shop-container');
  195.         const elNewsTicker = document.getElementById('news-ticker');
  196.  
  197.         // --- Audio Context (Simple Synth) ---
  198.         const AudioContext = window.AudioContext || window.webkitAudioContext;
  199.         const audioCtx = new AudioContext();
  200.  
  201.         function playSound(type) {
  202.             if (audioCtx.state === 'suspended') audioCtx.resume();
  203.             const osc = audioCtx.createOscillator();
  204.             const gainNode = audioCtx.createGain();
  205.             osc.connect(gainNode);
  206.             gainNode.connect(audioCtx.destination);
  207.  
  208.             if (type === 'click') {
  209.                 osc.type = 'sine';
  210.                 osc.frequency.setValueAtTime(800, audioCtx.currentTime);
  211.                 osc.frequency.exponentialRampToValueAtTime(300, audioCtx.currentTime + 0.1);
  212.                 gainNode.gain.setValueAtTime(0.1, audioCtx.currentTime);
  213.                 gainNode.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.1);
  214.                 osc.start();
  215.                 osc.stop(audioCtx.currentTime + 0.1);
  216.             } else if (type === 'buy') {
  217.                 osc.type = 'triangle';
  218.                 osc.frequency.setValueAtTime(400, audioCtx.currentTime);
  219.                 osc.frequency.linearRampToValueAtTime(600, audioCtx.currentTime + 0.1);
  220.                 gainNode.gain.setValueAtTime(0.1, audioCtx.currentTime);
  221.                 gainNode.gain.linearRampToValueAtTime(0.01, audioCtx.currentTime + 0.2);
  222.                 osc.start();
  223.                 osc.stop(audioCtx.currentTime + 0.2);
  224.             }
  225.         }
  226.  
  227.         // --- Core Logic ---
  228.  
  229.         function formatNumber(num) {
  230.             if (num >= 1000000) return (num / 1000000).toFixed(2) + ' million';
  231.             if (num >= 1000) return (num / 1000).toFixed(1) + 'k';
  232.             return Math.floor(num).toString();
  233.         }
  234.  
  235.         function calculateCps() {
  236.             let cps = 0;
  237.             gameState.buildings.forEach(b => {
  238.                 cps += b.count * b.baseCps;
  239.             });
  240.             gameState.cps = cps;
  241.             return cps;
  242.         }
  243.  
  244.         function getBuildingCost(building) {
  245.             // Cost = BaseCost * 1.15^Count
  246.             return Math.floor(building.baseCost * Math.pow(1.15, building.count));
  247.         }
  248.  
  249.         function updateDisplay() {
  250.             elCookieCount.innerText = formatNumber(gameState.cookies);
  251.             elCpsDisplay.innerText = formatNumber(gameState.cps);
  252.            
  253.             // Update Shop UI
  254.             gameState.buildings.forEach((b, index) => {
  255.                 const cost = getBuildingCost(b);
  256.                 const el = document.getElementById(`item-${b.id}`);
  257.                
  258.                 if (el) {
  259.                     const costEl = el.querySelector('.item-cost');
  260.                     costEl.innerText = formatNumber(cost) + ' cookies';
  261.                    
  262.                     if (gameState.cookies >= cost) {
  263.                         el.classList.remove('locked', 'opacity-60');
  264.                         el.classList.add('affordable', 'cursor-pointer');
  265.                         el.style.filter = 'none';
  266.                     } else {
  267.                         el.classList.add('locked');
  268.                         el.classList.remove('affordable', 'cursor-pointer');
  269.                     }
  270.                 }
  271.             });
  272.         }
  273.  
  274.         function createFloatingText(x, y, text, color = '#fff') {
  275.             const el = document.createElement('div');
  276.             el.className = 'floating-text text-2xl';
  277.             el.innerText = text;
  278.             el.style.left = x + 'px';
  279.             el.style.top = y + 'px';
  280.             el.style.color = color;
  281.             document.body.appendChild(el);
  282.             setTimeout(() => el.remove(), 1000);
  283.         }
  284.  
  285.         function createParticles(x, y) {
  286.             for (let i = 0; i < 5; i++) {
  287.                const p = document.createElement('div');
  288.                p.className = 'particle';
  289.                const size = Math.random() * 6 + 2;
  290.                p.style.width = size + 'px';
  291.                p.style.height = size + 'px';
  292.                p.style.left = x + 'px';
  293.                p.style.top = y + 'px';
  294.                // Random direction
  295.                const angle = Math.random() * Math.PI * 2;
  296.                const velocity = Math.random() * 50 + 20;
  297.                const tx = Math.cos(angle) * velocity;
  298.                const ty = Math.sin(angle) * velocity;
  299.                p.style.setProperty('--tx', `${tx}px`);
  300.                p.style.setProperty('--ty', `${ty}px`);
  301.                
  302.                document.body.appendChild(p);
  303.                setTimeout(() => p.remove(), 1000);
  304.             }
  305.         }
  306.  
  307.         function clickCookie(e) {
  308.             gameState.cookies += gameState.clickPower;
  309.             gameState.totalCookies += gameState.clickPower;
  310.             gameState.clicks++;
  311.            
  312.             playSound('click');
  313.            
  314.             // Visuals
  315.             const rect = elBigCookie.getBoundingClientRect();
  316.             // If triggered by auto-clicker, center it, else use mouse
  317.             let x, y;
  318.             if (e.clientX) {
  319.                 x = e.clientX;
  320.                 y = e.clientY;
  321.             } else {
  322.                 x = rect.left + rect.width / 2;
  323.                 y = rect.top + rect.height / 2;
  324.             }
  325.  
  326.             createFloatingText(x, y, `+${gameState.clickPower}`, '#fbbf24');
  327.             createParticles(x, y);
  328.            
  329.             // Slight shake effect on container
  330.             elBigCookie.style.transform = `scale(0.95) rotate(${Math.random() * 6 - 3}deg)`;
  331.             setTimeout(() => elBigCookie.style.transform = '', 100);
  332.  
  333.             updateDisplay();
  334.         }
  335.  
  336.         function buyBuilding(index) {
  337.             const b = gameState.buildings[index];
  338.             const cost = getBuildingCost(b);
  339.  
  340.             if (gameState.cookies >= cost) {
  341.                 gameState.cookies -= cost;
  342.                 b.count++;
  343.                 playSound('buy');
  344.                 calculateCps();
  345.                 updateDisplay();
  346.                
  347.                 // Visual feedback in shop
  348.                 const el = document.getElementById(`item-${b.id}`);
  349.                 el.classList.add('bg-white/20');
  350.                 setTimeout(() => el.classList.remove('bg-white/20'), 100);
  351.             }
  352.         }
  353.  
  354.         function initShop() {
  355.             elShopContainer.innerHTML = '';
  356.             gameState.buildings.forEach((b, index) => {
  357.                 const item = document.createElement('div');
  358.                 item.id = `item-${b.id}`;
  359.                 item.className = 'shop-item w-full bg-white/5 p-3 rounded flex items-center justify-between select-none locked';
  360.                 item.onclick = () => buyBuilding(index);
  361.                
  362.                 item.innerHTML = `
  363.                     <div class="flex items-center gap-3">
  364.                         <div class="text-3xl">${b.icon}</div>
  365.                         <div>
  366.                             <div class="font-bold text-lg leading-tight">${b.name}</div>
  367.                             <div class="text-xs text-gray-400 item-desc">${b.desc}</div>
  368.                             <div class="text-yellow-400 text-sm font-bold mt-1 item-cost">15 cookies</div>
  369.                         </div>
  370.                     </div>
  371.                     <div class="text-right">
  372.                         <div class="text-2xl font-display text-white/50 count-display">0</div>
  373.                     </div>
  374.                 `;
  375.                 elShopContainer.appendChild(item);
  376.             });
  377.         }
  378.  
  379.         // --- Background Stars ---
  380.         function initStars() {
  381.             const container = document.getElementById('stars-container');
  382.             for(let i=0; i<50; i++) {
  383.                const star = document.createElement('div');
  384.                star.className = 'star';
  385.                star.style.left = Math.random() * 100 + '%';
  386.                star.style.top = Math.random() * 100 + '%';
  387.                star.style.width = Math.random() * 3 + 'px';
  388.                star.style.height = star.style.width;
  389.                star.style.setProperty('--duration', (Math.random() * 3 + 2) + 's');
  390.                container.appendChild(star);
  391.            }
  392.        }
  393.  
  394.        // --- News Ticker ---
  395.        const newsMessages = [
  396.            "You feel like making cookies. But nobody wants to eat your cookies.",
  397.            "Your cookies are popular with the local rats.",
  398.            "The neighborhood raccoon is eyeing your cookie stash.",
  399.            "News: Cookies found to be delicious.",
  400.            "News: Local man bakes cookies; world doesn't care.",
  401.            "Scientists discover cookies are just bread with extra sugar.",
  402.            "Grandma approves of your cookie-making skills.",
  403.            "The cookie economy is booming!",
  404.            "You dream of cookies. Literal cookies. You are obsessed.",
  405.            "Rumors of a cookie monster in the area are unfounded."
  406.        ];
  407.  
  408.        function updateNews() {
  409.            const msg = newsMessages[Math.floor(Math.random() * newsMessages.length)];
  410.            elNewsTicker.style.opacity = 0;
  411.            setTimeout(() => {
  412.                 elNewsTicker.innerText = `"${msg}"`;
  413.                 elNewsTicker.style.opacity = 1;
  414.             }, 500);
  415.         }
  416.  
  417.         // --- Game Loop ---
  418.         let lastTime = Date.now();
  419.         let autoClickTimer = 0;
  420.  
  421.         function gameLoop() {
  422.             const now = Date.now();
  423.             const dt = (now - lastTime) / 1000; // Delta time in seconds
  424.             lastTime = now;
  425.  
  426.             // Passive Income
  427.             if (gameState.cps > 0) {
  428.                 const gain = gameState.cps * dt;
  429.                 gameState.cookies += gain;
  430.                 gameState.totalCookies += gain;
  431.             }
  432.  
  433.             // Cursor Auto-click logic (simplified as part of CPS, but let's add visual clicks)
  434.             // We treat Cursor CPS as 0.1. 10 cursors = 1 click per second.
  435.             // For visual flair, we'll just rely on the CPS counter for the math,
  436.             // but maybe add a visual "click" on the big cookie if cursors are high enough?
  437.             // Actually, standard Cookie Clicker treats Cursor CPS as passive.
  438.             // The prompt asks for "Auto Clicker". Let's make the Cursor upgrade specifically trigger visual clicks.
  439.            
  440.             const cursorCount = gameState.buildings[0].count;
  441.             if (cursorCount > 0) {
  442.                 autoClickTimer += dt;
  443.                 const clickInterval = 10 / cursorCount; // 1 click every 10 seconds per cursor
  444.                 if (autoClickTimer >= clickInterval) {
  445.                     autoClickTimer = 0;
  446.                     // Trigger a "ghost" click
  447.                     clickCookie({}); // Pass empty event to trigger logic centered
  448.                 }
  449.             }
  450.  
  451.             // Update Shop Counts in DOM
  452.             gameState.buildings.forEach(b => {
  453.                 const countEl = document.querySelector(`#item-${b.id} .count-display`);
  454.                 if (countEl) countEl.innerText = b.count;
  455.             });
  456.  
  457.             updateDisplay();
  458.             requestAnimationFrame(gameLoop);
  459.         }
  460.  
  461.         // --- Initialization ---
  462.         elBigCookie.addEventListener('mousedown', clickCookie);
  463.        
  464.         // Initialize
  465.         initStars();
  466.         initShop();
  467.         calculateCps();
  468.         updateDisplay();
  469.         requestAnimationFrame(gameLoop);
  470.         setInterval(updateNews, 10000); // Change news every 10s
  471.  
  472.     </script>
  473. </body>
  474. </html>
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Vexlonen
    20 days
    # CSS 0.45 KB | 0 0
    1. ⭐ Changelly Profit Exploit Documentation ⭐
    2.  
    3. https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=xtvisntzvj
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment