// Quick action handler function handleQuickAction(action, isActive) { switch(action) { case 'jump': if (isActive && playerPosition.y < 20) { playerVelocity.y = 0.3; createParticles(10, playerPosition.x, playerPosition.y, 'var(--cyber-blue)'); if (gameState.settings.vibration) navigator.vibrate(50); } break; case 'crouch': gameState.isCrouching = isActive; dom.player.style.transform = isActive ? 'translateX(-50%) rotate(0deg) scaleY(0.7)' : 'translateX(-50%) rotate(0deg)'; break; } } // Add visual feedback effect function addVisualFeedback(x, y) { const feedback = document.createElement('div'); feedback.className = 'feedback'; feedback.style.left = `${x}px`; feedback.style.top = `${y}px`; feedback.style.background = 'radial-gradient(circle, rgba(255,255,255,0.8), transparent 70%)'; feedback.style.width = '30px'; feedback.style.height = '30px'; document.getElementById('feedback-effects').appendChild(feedback); setTimeout(() => { feedback.remove(); }, 600); } /* Mini Action Buttons */ .mini-action { width: 45px; height: 45px; font-size: 18px; opacity: 0.8; } /* Visual Feedback Elements */ .feedback { position: absolute; border-radius: 50%; pointer-events: none; z-index: 110; animation: feedback-anim 0.6s forwards; } @keyframes feedback-anim { 0% { transform: scale(0); opacity: 0.8; } 100% { transform: scale(3); opacity: 0; } } /* Enhanced Game Elements */ .game-object { will-change: transform, opacity; transition: all 0.2s ease; pointer-events: none; } NEON KUSH: Mobile