Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

dumduel: fix fire-on-stop (wasMoving tracked after fire check), reject guest handles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+7 -5
+7 -5
session-server/duel-manager.mjs
··· 51 51 52 52 playerJoin(handle, wsId) { 53 53 if (!handle) return; 54 + // Only allow handled users (not guest_XXXX) 55 + if (handle.startsWith("guest_")) return; 54 56 55 57 // Update existing or create new 56 58 let player = this.players.get(handle); ··· 408 410 const dx = p.targetX - p.x; 409 411 const dy = p.targetY - p.y; 410 412 const dist = Math.sqrt(dx * dx + dy * dy); 411 - const isMoving = dist > 2; 412 413 413 - if (isMoving) { 414 + if (dist > 2) { 414 415 const speed = h === DUMMY_HANDLE ? MOVE_SPEED * 0.7 : MOVE_SPEED; 415 416 p.x += (dx / dist) * speed; 416 417 p.y += (dy / dist) * speed; 417 418 } 418 - 419 - // Track moving state for fire-on-stop 420 - p.wasMoving = isMoving; 421 419 } 422 420 } 423 421 ··· 450 448 ownerHandle: h, 451 449 age: 0, 452 450 }); 451 + console.log(`🎯 ${h} fired! bullets=${this.bullets.length}`); 453 452 } 454 453 } 455 454 } 455 + 456 + // Update wasMoving AFTER the fire check 457 + p.wasMoving = isMoving; 456 458 } 457 459 } 458 460