NUKE JUST PASTE INTO THE CONSLE OF DEVELOPER TOOLS
its a button that will nuke your websites copy all the code below
this
// --- BUTTON NUKE MODE v5 (Smooth Collisions + Dramatic Explosion + Shockwave) ---
// Draggable nuke. Explosion blasts buttons. Buttons collide smoothly + gravity + screen shake + shockwave.
// Detect real clickable elements
function isClickable(el) {
return (
el.tagName === "BUTTON" ||
el.tagName === "A" ||
el.tagName === "INPUT" ||
el.tagName === "SELECT" ||
el.tagName === "TEXTAREA" ||
el.tagName === "SUMMARY" ||
el.tagName === "DETAILS" ||
el.tagName === "LABEL"
);
}
const els = [...document.querySelectorAll("*")].filter(isClickable);
// Disable real clicking
els.forEach(el => {
el.addEventListener("click", e => e.preventDefault());
el.addEventListener("mousedown", e => e.preventDefault());
el.addEventListener("mouseup", e => e.preventDefault());
});
// Create draggable nuke
const nuke = document.createElement("div");
nuke.style.position = "fixed";
nuke.style.left = "200px";
nuke.style.top = "200px";
nuke.style.width = "140px";
nuke.style.height = "140px";
nuke.style.borderRadius = "50%";
nuke.style.background = "radial-gradient(circle, #ff0000, #550000)";
nuke.style.boxShadow = "0 0 40px red";
nuke.style.zIndex = 999999999;
nuke.style.display = "flex";
nuke.style.alignItems = "center";
nuke.style.justifyContent = "center";
nuke.style.cursor = "grab";
document.body.appendChild(nuke);
// Detonate button
const detBtn = document.createElement("button");
detBtn.innerText = "DETONATE";
detBtn.style.fontSize = "18px";
detBtn.style.fontWeight = "bold";
detBtn.style.padding = "12px";
detBtn.style.borderRadius = "10px";
detBtn.style.border = "none";
detBtn.style.cursor = "pointer";
detBtn.style.background = "#ff4444";
detBtn.style.color = "white";
detBtn.style.boxShadow = "0 0 10px white";
nuke.appendChild(detBtn);
// Dragging logic
let dragging = false;
let offsetX = 0;
let offsetY = 0;
nuke.addEventListener("mousedown", e => {
dragging = true;
offsetX = e.clientX - nuke.offsetLeft;
offsetY = e.clientY - nuke.offsetTop;
nuke.style.cursor = "grabbing";
});
document.addEventListener("mouseup", () => {
dragging = false;
nuke.style.cursor = "grab";
});
document.addEventListener("mousemove", e => {
if (!dragging) return;
nuke.style.left = (e.clientX - offsetX) + "px";
nuke.style.top = (e.clientY - offsetY) + "px";
});
// Physics state for blasted buttons
const physics = new Map();
// --- SMOOTH COLLISION PHYSICS LOOP ---
function physicsTick() {
const items = [...physics.entries()];
// --- APPLY GRAVITY + MOVE ---
items.forEach(([el, state]) => {
const rect = el.getBoundingClientRect();
// Gravity
state.vy += 0.5;
// Apply velocity
state.x += state.vx;
state.y += state.vy;
// Ground collision
const ground = window.innerHeight - rect.height;
if (state.y >= ground) {
state.y = ground;
// Bounce decay
state.vy *= -0.25;
// Ground friction
state.vx *= 0.85;
// Rotation friction
state.rotationVel *= 0.85;
// Sleep mode
if (Math.abs(state.vx) < 0.1) state.vx = 0;
if (Math.abs(state.vy) < 0.1) state.vy = 0;
if (Math.abs(state.rotationVel) < 0.1) state.rotationVel = 0;
}
// Wall collisions
if (state.x < 0) {
state.x = 0;
state.vx *= -0.4;
}
if (state.x + rect.width > window.innerWidth) {
state.x = window.innerWidth - rect.width;
state.vx *= -0.4;
}
// Air friction
state.vx *= 0.99;
state.vy *= 0.99;
// Rotation physics
state.rotationVel += state.vx * 0.03;
state.rotationVel *= 0.95;
state.rotation += state.rotationVel;
});
// --- SMOOTH BUTTON-BUTTON COLLISIONS ---
for (let i = 0; i < items.length; i++) {
for (let j = i + 1; j < items.length; j++) {
const [elA, A] = items[i];
const [elB, B] = items[j];
const rectA = elA.getBoundingClientRect();
const rectB = elB.getBoundingClientRect();
const overlapX =
rectA.left < rectB.right && rectA.right > rectB.left;
const overlapY =
rectA.top < rectB.bottom && rectA.bottom > rectB.top;
if (overlapX && overlapY) {
const ax = A.x + rectA.width / 2;
const ay = A.y + rectA.height / 2;
const bx = B.x + rectB.width / 2;
const by = B.y + rectB.height / 2;
const dx = bx - ax;
const dy = by - ay;
const dist = Math.hypot(dx, dy) || 1;
const nx = dx / dist;
const ny = dy / dist;
const penetration = 8;
A.x -= nx penetration 0.5;
A.y -= ny penetration 0.5;
B.x += nx penetration 0.5;
B.y += ny penetration 0.5;
const impulse = 0.2;
const tx = A.vx;
const ty = A.vy;
A.vx = B.vx * impulse;
A.vy = B.vy * impulse;
B.vx = tx * impulse;
B.vy = ty * impulse;
A.rotationVel += (Math.random() - 0.5) * 1.5;
B.rotationVel += (Math.random() - 0.5) * 1.5;
}
}
}
// --- APPLY FINAL POSITIONS ---
items.forEach(([el, state]) => {
el.style.position = "fixed";
el.style.left = state.x + "px";
el.style.top = state.y + "px";
el.style.transform = rotate(${state.rotation}deg);
});
requestAnimationFrame(physicsTick);
}
requestAnimationFrame(physicsTick);
// --- DRAMATIC EXPLOSION + SHOCKWAVE + SCREEN SHAKE ---
detBtn.addEventListener("click", () => {
// SCREEN SHAKE
let shake = 0;
const shakeInterval = setInterval(() => {
shake++;
const intensity = Math.max(0, 20 - shake);
document.body.style.transform =
translate(${(Math.random()-0.5)*intensity}px, ${(Math.random()-0.5)*intensity}px);
if (shake > 20) {
clearInterval(shakeInterval);
document.body.style.transform = "";
}
}, 30);
// NUKE FLASH
nuke.style.transition = "0.15s";
nuke.style.boxShadow = "0 0 200px 120px white";
nuke.style.transform = "scale(1.6)";
setTimeout(() => {
nuke.style.boxShadow = "0 0 40px red";
nuke.style.transform = "scale(1)";
}, 250);
// SHOCKWAVE RING
const ring = document.createElement("div");
ring.style.position = "fixed";
ring.style.left = nuke.offsetLeft + nuke.offsetWidth/2 + "px";
ring.style.top = nuke.offsetTop + nuke.offsetHeight/2 + "px";
ring.style.width = "20px";
ring.style.height = "20px";
ring.style.borderRadius = "50%";
ring.style.border = "6px solid white";
ring.style.boxShadow = "0 0 40px white";
ring.style.transform = "translate(-50%, -50%) scale(0)";
ring.style.zIndex = 999999999;
ring.style.transition = "transform 0.6s ease-out, opacity 0.6s ease-out";
document.body.appendChild(ring);
setTimeout(() => {
ring.style.transform = "translate(-50%, -50%) scale(25)";
ring.style.opacity = "0";
}, 10);
setTimeout(() => ring.remove(), 700);
// BLAST PHYSICS
const nukeRect = nuke.getBoundingClientRect();
const nx = nukeRect.left + nukeRect.width / 2;
const ny = nukeRect.top + nukeRect.height / 2;
const BLAST_RADIUS = 500;
els.forEach(el => {
const rect = el.getBoundingClientRect();
const cx = rect.left + rect.width / 2;
const cy = rect.top + rect.height / 2;
const dx = cx - nx;
const dy = cy - ny;
const dist = Math.hypot(dx, dy);
if (dist < BLAST_RADIUS) {
const force = (BLAST_RADIUS - dist) * 0.35;
const angle = Math.atan2(dy, dx);
const vx = Math.cos(angle) * force;
const vy = Math.sin(angle) * force;
physics.set(el, {
x: rect.left,
y: rect.top,
vx,
vy,
rotation: 0,
rotationVel: (Math.random() - 0.5) * 12
});
el.style.pointerEvents = "none";
}
});
});
- Sin límite
Chats publicados
comentarios
Deja un comentario o tu opinión para el creador ❤️