From f9600c183678f35cc75f7e60a5553036f29278f7 Mon Sep 17 00:00:00 2001 From: Jake Vice <162516541+Mrmadman1@users.noreply.github.com> Date: Fri, 23 Oct 2026 16:45:12 -0500 Subject: [PATCH] Pumple Evil Edition >:) (#138) * Add Halloween overlay and walking pumpkin * Add Pumple chaos Halloween minigame --------- Co-authored-by: Mrmadman1 Co-authored-by: Devin Zuczek --- apps/www/src/client/App.tsx | 128 +++++++-- apps/www/src/client/PumpleBossFight.tsx | 251 ++++++++++++++++++ apps/www/src/client/Pumple_monster_walk.gif | Bin 0 -> 84291 bytes .../www/src/client/pumple-frames/frame-00.png | Bin 0 -> 4288 bytes .../www/src/client/pumple-frames/frame-01.png | Bin 0 -> 4360 bytes .../www/src/client/pumple-frames/frame-02.png | Bin 0 -> 4347 bytes .../www/src/client/pumple-frames/frame-03.png | Bin 0 -> 4237 bytes .../www/src/client/pumple-frames/frame-04.png | Bin 0 -> 4226 bytes .../www/src/client/pumple-frames/frame-05.png | Bin 0 -> 4266 bytes .../www/src/client/pumple-frames/frame-06.png | Bin 0 -> 4363 bytes .../www/src/client/pumple-frames/frame-07.png | Bin 0 -> 4266 bytes 11 files changed, 355 insertions(+), 24 deletions(-) create mode 100644 apps/www/src/client/PumpleBossFight.tsx create mode 100755 apps/www/src/client/Pumple_monster_walk.gif create mode 100644 apps/www/src/client/pumple-frames/frame-00.png create mode 100644 apps/www/src/client/pumple-frames/frame-01.png create mode 100644 apps/www/src/client/pumple-frames/frame-02.png create mode 100644 apps/www/src/client/pumple-frames/frame-03.png create mode 100644 apps/www/src/client/pumple-frames/frame-04.png create mode 100644 apps/www/src/client/pumple-frames/frame-05.png create mode 100644 apps/www/src/client/pumple-frames/frame-06.png create mode 100644 apps/www/src/client/pumple-frames/frame-07.png diff --git a/apps/www/src/client/App.tsx b/apps/www/src/client/App.tsx index 208b134..1b8f5a8 100644 --- a/apps/www/src/client/App.tsx +++ b/apps/www/src/client/App.tsx @@ -30,6 +30,7 @@ import { import { DeviceLinkPage } from './DeviceLink' import { customAvatarItemIdFromPath, inventionIdFromPath, InventionPage, ItemPage } from './Item' import { ModerationPage, PlayerBanStatus } from './Moderation' +import { PumpleBossFight } from './PumpleBossFight' import { StatsPage } from './Stats' import { StudioAccessPage } from './StudioAccess' @@ -1777,11 +1778,18 @@ function halloweenActive(): boolean { } /** The sprite, 23x25 native pixels, drawn at 3x with hard edges. */ -const PUMPKIN_SRC = - 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAZCAYAAADaILXQAAAFD0lEQVR42pWVX2xcxRXGf2fu3Lu7jh0bO3FsnMQ2idP8gZoIGkootZsIGrUlVEVCTVW1qVREUPtSiTckYgQPqEIg1FZU6gtP8EJVAaZpIqE4UtrQOCSIkj+YVgRsp3E2mzisnb27OzOnD+uuE2yJZJ7u6J755jvf+eYc4SbX7qHBbNyjpe5VS5k4Nw3VZj4evcrFiWn+9fZxuTbW3Cw43WcxBMBCNYtYRYwiujDU3ijmwK++rWv7G7BSpLdrGf8Zv8TY+54kCuQ/v4IsckZuBPg7Twzq2ntq1IwXjvzlCz4cPv6VZxcN2LttTfXh9phKLPxtMmVnW7BqAiPnU2aipTzUFnjzonMiFhFn9747vihO9P+PoW29Dz7Yt3LD/sdl3dRl/9NmLRu1GJPzpqfFk2SV6ZIhGwlrVoBP1MQO0xQrQ/1N76/qXL7u4KeXxxbV3Jjwuveu1USGH98XOH44EIopu+7PECJBXGBmVpFKhr71JfqAD0cTVMGY5G1MukAJC/DM9l597IEmVsRTAJz4u2XrG+cxQGnPHuyOP6L797AxOYh1KdGmnYAhHPsrrjrLlq05dNTCtm71Jd82dGTiUh3cKDV7ac2ZAUP60moEB6ffQvfvQeucQt3Bd+3eAZlb+OCV1+n/Zpl3hpsAP8/86QdW6VM/tEjlCmWf8sizGcaiHB9thYQZgg+sfngYMPxuR46VpkS/exMRRQWE5bWL1fD9LsuhcV/Yu707febdz3I29gapBMg0467maG5pI3JlitaSAZaEIk1tHbXqNyxBowTT4IjK0zW72Qoyl7GmJdTPu8SC4dg/Krw6GrhcbeUDrYIY7v+th4uTnHxuaT3NR157j0CVvoN3cvo303PyBPRLjz3MSWiDwMvvrQACEpRg5v6oQVs3sfHFgEpg7NzxufRhbPIE0ZNw+NG1xDbHvnxA/+mR+kVz4Af9p/G31vjq5NkGyppjszpOYFFVQBERfmkNfvVmHIqo4e5cBBiy4RIVyhiRmhnUAG6+cY2M4FzSMNyQc9XWlgoiwi0mkAhkgO4AagUTZVkeWZZloSnyeHzNTdfIMeWgHMmBGbtkX12o5w+ceWj5ra7Y1j4LQK8qwZfRNGVbDgKWINCei+kVT1+Yt6XB4VGEwNEZoZKaXS8cOPWjBV1RCKAWpMLPlrYg1at4CWzf/DkXTt7K16qeFhNxVCI6br/Avrwl+Dw/6Grl5zMrWNbXQFquwpGJhf1cTJYnt16ou8BVpxm8q7bvvCPPW50T/L6rQMcd+TmPQ5rt4RezLdz7aCNrtwi5ZlMYeGKgdF0v2NR/W8FFcatUS/ykI8POzhasVf787/N8rzNi31TKRyu7KSyJicXw30/ykFiCEZbd1k6aFvn6fRmSOEsZ5ZPDbl4Wn2QxCmQa0VCiWrlMKjE+00g5MlQyEaXY4GyEw+EaDZFP8FJG1WGTLGhMpeJAPS5yNeYb7t543ZA6fexUPaP139ioEULcnqGtu5mKKOu3eFDDn84eihiiXt7BXw/o4HdXYnIlxicK12uuaHotMMCZ0VMSVClPpRTOzlL4rMjYUaGnq5nHewb8Y68O1ImpKucu5BmfrNXkpgb0lUK+oz3X1IRa1MiCoSwnTay2dEmI+fio1jRXleFIwYupLgZqggwDJMXkKhtwEEhLji+uKEhdFUZGRtztu3YeMBI1Znzxxgb0tWtw92BWGyitu8dzZlQxCof+cHhRnP8B5aopRAfi2ZcAAAAASUVORK5CYII=' -const PUMPKIN_SCALE = 3 -const PUMPKIN_W = 23 * PUMPKIN_SCALE -const PUMPKIN_H = 25 * PUMPKIN_SCALE +const PUMPKIN_FRAMES = [ + new URL('./pumple-frames/frame-00.png', import.meta.url).href, + new URL('./pumple-frames/frame-01.png', import.meta.url).href, + new URL('./pumple-frames/frame-02.png', import.meta.url).href, + new URL('./pumple-frames/frame-03.png', import.meta.url).href, + new URL('./pumple-frames/frame-04.png', import.meta.url).href, + new URL('./pumple-frames/frame-05.png', import.meta.url).href, + new URL('./pumple-frames/frame-06.png', import.meta.url).href, + new URL('./pumple-frames/frame-07.png', import.meta.url).href, +] +const PUMPKIN_W = 150 +const PUMPKIN_H = 150 const PUMPKIN_LINES = ['boo!', 'hehe', 'hey!', 'spooky!', 'happy halloween!', 'ow!', '🎃'] const PUMPKIN_CSS = ` @@ -1793,16 +1801,7 @@ const PUMPKIN_CSS = ` image-rendering: pixelated; transform-origin: 50% 100%; } -.rf-pumpkin.is-walking img { - animation: rf-pumpkin-step 0.24s steps(2, end) infinite; -} -@keyframes rf-pumpkin-step { - 0%, 100% { transform: translateY(0) scaleX(1); } - 50% { transform: translateY(-1px) scaleX(0.96); } -} -@media (prefers-reduced-motion: reduce) { - .rf-pumpkin.is-walking img { animation: none; } -} +/* The animated GIF provides its own walking frames. */ .rf-pumpkin-bubble { position: absolute; left: 50%; transform: translateX(-50%); margin: 6px 0; padding: 3px 8px; border-radius: 10px; background: #fff3dc; color: #2a1608; font-size: 12px; font-weight: 600; white-space: nowrap; opacity: 0; transition: opacity 0.15s; } @@ -1816,13 +1815,15 @@ const PUMPKIN_CSS = ` function LilPumpkin() { const rootRef = useRef(null) const flipRef = useRef(null) + const spriteRef = useRef(null) const bubbleRef = useRef(null) useEffect(() => { const root = rootRef.current const flip = flipRef.current + const sprite = spriteRef.current const bubble = bubbleRef.current - if (!root || !flip || !bubble) return + if (!root || !flip || !sprite || !bubble) return if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) { root.style.display = 'none' return @@ -1841,12 +1842,65 @@ function LilPumpkin() { let jy = 0 let vy = 0 let walkTime = 0 + let walkDistance = 0 + let walkFrame = 0 let mouseX = -1 let mouseY = -1 let mouseAt = -Infinity let speechTimer = 0 let last = performance.now() let raf = 0 + const effectNodes: HTMLElement[] = [] + + const spawnBatSwarm = () => { + const flash = document.createElement('div') + Object.assign(flash.style, { + position: 'fixed', inset: '0', + background: 'rgba(210, 0, 28, 0.32)', + opacity: '1', transition: 'opacity 480ms ease-out', + pointerEvents: 'none', zIndex: '100000', + }) + document.body.appendChild(flash) + effectNodes.push(flash) + requestAnimationFrame(() => { flash.style.opacity = '0' }) + window.setTimeout(() => { + flash.remove() + const i = effectNodes.indexOf(flash) + if (i !== -1) effectNodes.splice(i, 1) + }, 520) + + const cx = x + PUMPKIN_W / 2 + const cy = y + jy + PUMPKIN_H / 2 + for (let i = 0; i < 22; i++) { + const bat = document.createElement('span') + const angle = Math.random() * Math.PI * 2 + const distance = 100 + Math.random() * 260 + const dx = Math.cos(angle) * distance + const dy = Math.sin(angle) * distance + Object.assign(bat.style, { + position: 'fixed', left: `${cx}px`, top: `${cy}px`, + fontSize: `${20 + Math.random() * 20}px`, + lineHeight: '1', pointerEvents: 'none', + zIndex: '100001', opacity: '1', + transform: 'translate(-50%, -50%) scale(0.4)', + transition: 'transform 850ms ease-out, opacity 850ms ease-out', + willChange: 'transform, opacity', + }) + bat.textContent = '🦇' + document.body.appendChild(bat) + effectNodes.push(bat) + requestAnimationFrame(() => { + bat.style.transform = + `translate(calc(-50% + ${dx}px), calc(-50% + ${dy}px)) rotate(${Math.random() * 100 - 50}deg) scale(1.2)` + bat.style.opacity = '0' + }) + window.setTimeout(() => { + bat.remove() + const i = effectNodes.indexOf(bat) + if (i !== -1) effectNodes.splice(i, 1) + }, 900) + } + } root.style.transform = `translate(${x}px, ${y}px)` @@ -1870,14 +1924,30 @@ function LilPumpkin() { const onLeave = () => { mouseAt = -Infinity } + let rapidClickCount = 0 + let rapidClickStart = 0 const onClick = (e: MouseEvent) => { const top = y + jy + const bob = 0 const hit = - e.clientX >= x - 6 && - e.clientX <= x + PUMPKIN_W + 6 && - e.clientY >= top - 6 && - e.clientY <= top + PUMPKIN_H + 6 + e.clientX >= x - 45 && + e.clientX <= x + PUMPKIN_W + 45 && + e.clientY >= top - bob - 45 && + e.clientY <= top - bob + PUMPKIN_H + 45 if (!hit) return + + const now = performance.now() + if (now - rapidClickStart > 5000) { + rapidClickStart = now + rapidClickCount = 0 + } + rapidClickCount++ + if (rapidClickCount >= 10) { + rapidClickCount = 0 + rapidClickStart = 0 + window.dispatchEvent(new CustomEvent('rf-pumple-boss')) + } + spawnBatSwarm() if (jy === 0) vy = -430 say(PUMPKIN_LINES[Math.floor(Math.random() * PUMPKIN_LINES.length)]) } @@ -1903,11 +1973,11 @@ function LilPumpkin() { const dy = mouseY - (y + PUMPKIN_H / 2) const dist = Math.hypot(dx, dy) if (Math.abs(dx) > 4) facing = dx > 0 ? 1 : -1 - if (dist > 110) { + if (dist > 85) { // Walk toward the cursor but stop short, so it never ends up sitting under the pointer. tx = clamp(mouseX - (dx / dist) * 80 - PUMPKIN_W / 2, 0, maxX()) ty = clamp(mouseY - (dy / dist) * 80 - PUMPKIN_H / 2, 0, maxY()) - speed = 150 + speed = 310 } else { tx = x ty = y @@ -1920,7 +1990,7 @@ function LilPumpkin() { ty = Math.random() * maxY() } } else { - speed = 60 + speed = 145 } const mx = tx - x @@ -1932,6 +2002,15 @@ function LilPumpkin() { x += (mx / md) * step y += (my / md) * step moving = true + + // Advance the walk cycle according to distance actually traveled. + walkDistance += step + const nextFrame = Math.floor(walkDistance / 30) % PUMPKIN_FRAMES.length + if (nextFrame !== walkFrame) { + walkFrame = nextFrame + sprite.src = PUMPKIN_FRAMES[walkFrame] + } + if (!following && Math.abs(mx) > 4) facing = mx > 0 ? -1 : 1 } else if (speed > 0 && !following) { pause = 1 + Math.random() * 2.5 @@ -1980,7 +2059,7 @@ function LilPumpkin() {
- +
@@ -2175,6 +2254,7 @@ export function App() { )} + ) } diff --git a/apps/www/src/client/PumpleBossFight.tsx b/apps/www/src/client/PumpleBossFight.tsx new file mode 100644 index 0000000..7a37a29 --- /dev/null +++ b/apps/www/src/client/PumpleBossFight.tsx @@ -0,0 +1,251 @@ +import { useEffect, useRef, useState } from 'react' + +type Mob = { id: number; x: number; y: number; hp: number } +type Shot = { id: number; x: number; y: number; vx: number; vy: number; bomb?: boolean } +type Game = { + player: number + hp: number + bossHp: number + mobs: Mob[] + enemyShots: Shot[] + arrows: Shot[] + bombs: number + kills: number + waves: number + nextId: number + lastSpawn: number + lastAttack: number + phase: 'fight' | 'victory' | 'defeat' +} +const freshGame = (): Game => ({ + player: (typeof window !== 'undefined' ? window.innerWidth : 1024) / 2, hp: 100, bossHp: 100, + mobs: [], enemyShots: [], arrows: [], bombs: 0, kills: 0, + waves: 1, nextId: 1, lastSpawn: 0, lastAttack: 0, phase: 'fight', +}) + +const css = ` +.rf-boss{position:fixed;inset:0;z-index:100010;overflow:hidden;background:radial-gradient(ellipse at 50% 34%,#542619 0%,#26121a 43%,#090810 100%);color:#fff0d5;font-family:system-ui,sans-serif;cursor:crosshair;user-select:none} +.rf-boss:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08060a66,transparent 35%,#05050988);z-index:0} +.rf-boss:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#ffb35b 1px,transparent 1px);background-size:37px 37px;mask-image:linear-gradient(transparent,#000 30%,#000)} +.rf-boss *{box-sizing:border-box} +.rf-boss-hud{position:absolute;z-index:8;top:18px;left:50%;transform:translateX(-50%);width:min(900px,82%);display:grid;grid-template-columns:1.2fr 1fr;gap:22px;padding:16px 20px;border:1px solid #e9843c88;border-radius:15px;background:linear-gradient(135deg,#160d12eF,#2a1117eF);box-shadow:0 10px 45px #0009,inset 0 1px #ffd2a322;backdrop-filter:blur(8px)} +.rf-boss-label{font-weight:950;letter-spacing:2px;font-size:11px;text-transform:uppercase;margin-bottom:8px;color:#ffddb2} +.rf-boss-track{height:17px;border:1px solid #ffd9aa88;background:#100a10;border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 5px #000a} +.rf-boss-fill{height:100%;background:linear-gradient(90deg,#a82420,#ff6036,#ffb05b);box-shadow:0 0 15px #ff552a99;transition:width .12s} +.rf-boss-player .rf-boss-fill{background:linear-gradient(90deg,#138a65,#49e7a0);box-shadow:0 0 14px #3df0a088} +.rf-boss-monster{position:absolute;z-index:4;top:16%;left:50%;width:min(43vw,390px);height:min(43vw,390px);min-width:230px;min-height:230px;transform:translateX(-50%);display:grid;place-items:center;filter:drop-shadow(0 0 18px #ff5b24aa);animation:rf-boss-hover 3s ease-in-out infinite} +.rf-boss-monster:before{content:"";position:absolute;width:90%;height:35%;bottom:0;border-radius:50%;background:#ff5a1726;filter:blur(25px)} +.rf-boss-monster img{position:relative;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 12px 0 #150a10) drop-shadow(0 0 16px #ff6b35aa)} +.rf-boss-minion{position:absolute;z-index:4;transform:translate(-50%,-50%);width:clamp(44px,7vw,78px);height:clamp(44px,7vw,78px);filter:drop-shadow(0 0 10px #ff4b2588);pointer-events:none} +.rf-boss-minion img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated} +.rf-boss-shot{position:absolute;z-index:5;transform:translate(-50%,-50%);font-size:25px;pointer-events:none;filter:drop-shadow(0 0 9px #ff712f);animation:rf-shot-glow .5s ease-in-out infinite alternate} +.rf-boss-player-char{position:absolute;z-index:5;bottom:7%;font-size:42px;transform:translateX(-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#77eaff35,transparent 70%);filter:drop-shadow(0 0 10px #7ad9ff);pointer-events:none} +.rf-boss-hint{position:absolute;z-index:8;bottom:14px;left:50%;transform:translateX(-50%);width:max-content;max-width:88%;text-align:center;font-size:11px;font-weight:850;letter-spacing:1px;color:#ffe3c1;padding:12px 18px;border:1px solid #b9684777;border-radius:9px;background:#100b13dc;box-shadow:0 4px 25px #0008} +.rf-boss-vines{position:absolute;z-index:6;inset:0;pointer-events:none;overflow:hidden;opacity:1} +.rf-boss-vines svg{position:absolute;inset:-2%;width:104%;height:104%;overflow:visible} +.rf-boss-vines .vine-main{fill:none;stroke:#172f1b;stroke-width:25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #050807)} +.rf-boss-vines .vine-edge{fill:none;stroke:#426a2d;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:25 8;animation:rf-vine-crawl 7s linear infinite} +.rf-boss-vines .vine-glow{fill:none;stroke:#df722a;stroke-width:3;stroke-linecap:round;stroke-dasharray:3 28;animation:rf-vine-crawl 4s linear infinite} +.rf-boss-vines .thorn{fill:#72913b;stroke:#18291a;stroke-width:3} +.rf-boss-vines .root{fill:none;stroke:#253d20;stroke-width:39;stroke-linecap:round;opacity:.92} +.rf-boss-vines-retreat{animation:rf-vine-retreat 2.8s ease-in forwards} +.rf-boss-end{position:absolute;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#08090bea,#130d0bea);padding:24px} +.rf-boss-panel{max-width:560px;width:100%;padding:clamp(26px,5vw,44px);border:2px solid #9b542d;border-radius:4px;background:#171310;box-shadow:8px 8px 0 #050505, inset 0 0 0 4px #171310, inset 0 0 0 5px #443023;color:#eee2ce} +.rf-boss-title{font-family:Impact,'Arial Narrow',system-ui,sans-serif;font-size:clamp(34px,6.5vw,60px);font-weight:900;line-height:1.05;letter-spacing:1px;text-transform:uppercase;color:#f0a04d;text-shadow:3px 3px 0 #522719;margin:0 0 20px} +.rf-boss-button{margin:10px 6px 0;border:2px solid #c47b43;border-radius:3px;padding:12px 20px;background:#30251b;color:#ffe5c3;font-family:inherit;font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer;box-shadow:0 3px 0 #090807;transition:background .12s,transform .12s} +.rf-boss-button:hover{background:#513522;transform:translateY(-2px)} +@keyframes rf-boss-hover{0%,100%{translate:0 0}50%{translate:0 -8px}} +@keyframes rf-shot-glow{from{scale:.9}to{scale:1.12}} +@keyframes rf-vine-crawl{to{stroke-dashoffset:-132}} +@keyframes rf-vine-retreat{to{transform:scale(1.4);opacity:0}} +@media(max-width:600px){.rf-boss-hud{top:10px;width:86%;padding:12px;gap:12px}.rf-boss-label{font-size:9px;letter-spacing:1px}.rf-boss-track{height:13px}.rf-boss-monster{top:23%;width:65vw;height:65vw;min-width:0;min-height:0}.rf-boss-hint{font-size:9px;letter-spacing:.3px;padding:10px;bottom:8px}} +@media(prefers-reduced-motion:reduce){.rf-boss-monster,.rf-boss-shot,.rf-boss-vines .vine-edge,.rf-boss-vines .vine-glow{animation:none}} +` + +export function PumpleBossFight() { + const [active, setActive] = useState(false) + const [view, setView] = useState(freshGame) + const game = useRef(freshGame()) + const mouse = useRef({ x: typeof window !== 'undefined' ? window.innerWidth / 2 : 512, y: typeof window !== 'undefined' ? window.innerHeight * .78 : 600 }) + const aim = useRef({ x: typeof window !== 'undefined' ? window.innerWidth / 2 : 512, y: typeof window !== 'undefined' ? window.innerHeight * .3 : 200 }) + const started = useRef(false) + + useEffect(() => { + const start = () => { + if (started.current) return + started.current = true + game.current = freshGame() + mouse.current = { x: innerWidth / 2, y: innerHeight * .78 } + setView({ ...game.current }) + setActive(true) + } + window.addEventListener('rf-pumple-boss', start) + return () => window.removeEventListener('rf-pumple-boss', start) + }, []) + + useEffect(() => { + if (!active) return + const g = game.current + let last = performance.now() + let frame = 0 + let endTimer = 0 + + const tick = () => { + const now = performance.now() + const dt = Math.min(.05, (now - last) / 1000) + last = now + if (g.phase === 'fight') { + g.player = Math.max(28, Math.min(innerWidth - 28, mouse.current.x)) + const difficulty = 1 + (g.waves - 1) * .18 + + if (now - g.lastSpawn > Math.max(900, 3000 / difficulty) && g.mobs.length < 5 + g.waves) { + g.lastSpawn = now + g.mobs.push({ id: g.nextId++, x: Math.random() * (innerWidth - 80) + 40, y: innerHeight * (.35 + Math.random() * .28), hp: 2 }) + } + if (now - g.lastAttack > Math.max(450, 1400 / difficulty)) { + g.lastAttack = now + const sx = innerWidth / 2, sy = innerHeight * .29 + const dx = g.player - sx, dy = innerHeight * .78 - sy + const d = Math.hypot(dx, dy) || 1 + g.enemyShots.push({ id: g.nextId++, x: sx, y: sy, vx: dx / d * 280 * difficulty, vy: dy / d * 280 * difficulty }) + if (g.waves >= 2) { + g.enemyShots.push({ id: g.nextId++, x: sx, y: sy, vx: -dx / d * 240 * difficulty, vy: 270 * difficulty }) + } + } + + for (const m of g.mobs) { + const dx = g.player - m.x, dy = innerHeight * .78 - m.y, d = Math.hypot(dx, dy) || 1 + m.x += dx / d * 75 * difficulty * dt + m.y += dy / d * 75 * difficulty * dt + if (d < 35) { g.hp -= 18 * dt; m.hp = 0 } + } + + for (const s of g.enemyShots) { s.x += s.vx * dt; s.y += s.vy * dt } + g.enemyShots = g.enemyShots.filter(s => { + if (Math.hypot(s.x - g.player, s.y - innerHeight * .78) < 32) { g.hp -= 12; return false } + return s.x > -50 && s.x < innerWidth + 50 && s.y < innerHeight + 50 + }) + + for (const s of g.arrows) { + s.x += s.vx * dt; s.y += s.vy * dt + if (s.bomb) { + let detonated = false + for (const m of g.mobs) { + if (m.hp > 0 && Math.hypot(s.x - m.x, s.y - m.y) < 65) { + m.hp = 0 + detonated = true + } + } + if (Math.hypot(s.x - innerWidth / 2, s.y - innerHeight * .29) < 115) { + g.bossHp -= 14 + detonated = true + } + if (detonated) s.x = -999 + } else { + let hit = false + for (const m of g.mobs) { + if (m.hp > 0 && Math.hypot(s.x - m.x, s.y - m.y) < 28) { + m.hp = 0 + hit = true + break + } + } + if (!hit && Math.hypot(s.x - innerWidth / 2, s.y - innerHeight * .29) < 90) { + g.bossHp -= 2 + hit = true + } + if (hit) s.x = -999 + } + } + g.arrows = g.arrows.filter(s => s.x > -100 && s.x < innerWidth + 100 && s.y > -100 && s.y < innerHeight + 100) + // Count defeated minions before removing them; some kills drop bombs. + const dead = g.mobs.filter(m => m.hp <= 0) + if (dead.length) { + g.kills += dead.length + for (let i = 0; i < dead.length; i++) { + if (Math.random() < .38) g.bombs++ + } + } + g.mobs = g.mobs.filter(m => m.hp > 0) + + if (g.bossHp <= 0) g.phase = 'victory' + else if (g.hp <= 0) g.phase = 'defeat' + if (g.kills >= g.waves * 5) g.waves = Math.min(8, Math.floor(g.kills / 5) + 1) + } + setView({ ...g, mobs: [...g.mobs], enemyShots: [...g.enemyShots], arrows: [...g.arrows] }) + if (g.phase !== 'fight') { + window.clearInterval(frame) + endTimer = window.setTimeout(() => { + if (g.phase === 'defeat') window.location.reload() + }, 6500) + } + } + frame = window.setInterval(tick, 50) as unknown as number + return () => { window.clearInterval(frame); window.clearTimeout(endTimer) } + }, [active]) + + const onMove = (e: React.MouseEvent) => { + mouse.current = { x: e.clientX, y: e.clientY } + aim.current = { x: e.clientX, y: e.clientY } + } + const fire = (e: React.MouseEvent) => { + if (view.phase !== 'fight') return + const g = game.current + const sx = g.player, sy = innerHeight * .78 + const dx = e.clientX - sx, dy = e.clientY - sy, d = Math.hypot(dx, dy) || 1 + g.arrows.push({ id: g.nextId++, x: sx, y: sy, vx: dx / d * 620, vy: dy / d * 620 }) + } + const bomb = () => { + const g = game.current + if (!active || g.phase !== 'fight' || g.bombs <= 0) return + g.bombs-- + const sx = g.player, sy = innerHeight * .78 + const dx = aim.current.x - sx, dy = aim.current.y - sy, d = Math.hypot(dx, dy) || 1 + g.arrows.push({ id: g.nextId++, x: sx, y: sy, vx: dx / d * 350, vy: dy / d * 350, bomb: true }) + setView({ ...g, arrows: [...g.arrows] }) + } + useEffect(() => { + if (!active) return + const key = (e: KeyboardEvent) => { if (e.code === 'Space') { e.preventDefault(); bomb() } } + window.addEventListener('keydown', key) + return () => window.removeEventListener('keydown', key) + }, [active]) + + if (!active) return null + const ended = view.phase !== 'fight' + return
e.preventDefault()}> + +
+
YOUR HEALTH {Math.max(0, Math.ceil(view.hp))}/100
+
PUMPLE {Math.max(0, Math.ceil(view.bossHp))}%
+
+
+ Pumple, the pumpkin king +
+ {view.mobs.map(m =>
+ +
)} + {view.enemyShots.map(s =>
🔥
)} + {view.arrows.map(s =>
{s.bomb ? '💣' : '➶'}
)} +
🛡️
+
MOVE YOUR MOUSE TO DODGE · CLICK TO SHOOT ARROWS · SPACE: PUMPKIN BOMB ({view.bombs}) · WAVE {view.waves}
+
+ +
+ {ended && <>
+

{view.phase === 'victory' ? 'PUMPLE DEFEATED!' : 'RECFLARE HAS FALLEN'}

+

{view.phase === 'victory' ? 'The pumpkin king crumbles into embers. The vines retreat and RecFlare is saved!' : 'The vines have consumed the battlefield. Pumple claims RecFlare...'}

+ {view.phase === 'victory' &&

Waves reached: {view.waves} · Minions defeated: {view.kills} · Bombs remaining: {view.bombs}

} + {view.phase === 'victory' && } + {view.phase === 'defeat' &&

The site will reset after the vines take over...

} +
} +
+} diff --git a/apps/www/src/client/Pumple_monster_walk.gif b/apps/www/src/client/Pumple_monster_walk.gif new file mode 100755 index 0000000000000000000000000000000000000000..d9a7f99cc1a9971e82db5d772c5ac73db9db6702 GIT binary patch literal 84291 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 JW)?2F%u)P%EQ5w2QfHy-R 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 X+V)G^WPHX>zuzFOJ*9p1q6z;Gk8(B{ literal 0 HcmV?d00001 diff --git a/apps/www/src/client/pumple-frames/frame-00.png b/apps/www/src/client/pumple-frames/frame-00.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd6f14d454764ae12f58fbaf1526267b9e9e335 GIT binary patch literal 4288 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 literal 0 HcmV?d00001 diff --git a/apps/www/src/client/pumple-frames/frame-01.png b/apps/www/src/client/pumple-frames/frame-01.png new file mode 100644 index 0000000000000000000000000000000000000000..831d02baa6c2f22841e1bc4a02e27a8b870c7871 GIT binary patch literal 4360 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 |EIQxa7bgn8+T8vIue>tP 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 J#i6h({{dp;)pY;> literal 0 HcmV?d00001 diff --git a/apps/www/src/client/pumple-frames/frame-03.png b/apps/www/src/client/pumple-frames/frame-03.png new file mode 100644 index 0000000000000000000000000000000000000000..32f08539751ab065f8af605e83d830e437acadb6 GIT binary patch literal 4237 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 literal 0 HcmV?d00001 diff --git a/apps/www/src/client/pumple-frames/frame-04.png b/apps/www/src/client/pumple-frames/frame-04.png new file mode 100644 index 0000000000000000000000000000000000000000..1e9a95c46e828e9e6e0cdc1b65d1a6a9b1b17b0c GIT binary patch literal 4226 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 literal 0 HcmV?d00001 diff --git a/apps/www/src/client/pumple-frames/frame-05.png b/apps/www/src/client/pumple-frames/frame-05.png new file mode 100644 index 0000000000000000000000000000000000000000..c73ed17c309d1e740aa96e60443deeade8ce03b6 GIT binary patch literal 4266 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