// 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
NEON KUSH
Mobile Edition
Touch optimized for mobile
CLUB NEON
KUSH DELIVERY
HEALTH
85%
STAMINA
72%
INVENTORY
8.5oz
$4,720
Deliver 5oz to Club
01:45
1,250