Skip to content

feat: Machine Gun Pickup power-up - #23

Merged
venice-dev[bot] merged 1 commit into
soli-testbench:mainfrom
gpsanant:venice-task-4971c904
Mar 24, 2026
Merged

feat: Machine Gun Pickup power-up#23
venice-dev[bot] merged 1 commit into
soli-testbench:mainfrom
gpsanant:venice-task-4971c904

Conversation

@gpsanant

Copy link
Copy Markdown

Machine Gun Pickup

Adds a machine gun power-up pickup that spawns once per match at a random location inside the arena polygon.

Changes

  • server/game.js: Pickup spawning in startRound(), collection detection via checkPickupCollection(), reduced cooldown via hasMachineGun flag in tryShoot(), pickup data in getState() broadcast, reset in resetForNextRound()
  • client/client.js: Renders pickup as distinct orange icon with minigun barrel lines and MG label
  • server/npc.js: NPCs initialized with hasMachineGun: false for pickup collection support
  • test/game.test.js: 10 new comprehensive tests covering all pickup mechanics

Acceptance Criteria

  1. Spawns at random valid position inside arena polygon once per match
  2. Rendered on all clients as distinct visible icon
  3. Collected when player moves within PLAYER_RADIUS proximity
  4. Collecting player shoot cooldown reduced 50% (300ms to 150ms)
  5. Game state broadcast includes pickup data (position, collected status)
  6. Only one pickup spawns per match
  7. NPCs can collect the pickup
  8. Fire rate bonus resets at start of next round

All tests pass (0 failures).

- Spawns at random valid position inside arena polygon once per match
- Rendered on all clients as distinct orange icon with minigun barrels
- Collected when player moves within PLAYER_RADIUS proximity
- Reduces shoot cooldown by 50% (300ms to 150ms) via hasMachineGun flag
- Game state broadcast includes pickup position and collected status
- NPCs can also collect the pickup
- Fire rate bonus resets at start of next round
- 10 new tests covering all pickup mechanics

Co-Authored-By: bot_apk <apk@cognition.ai>
@gpsanant gpsanant closed this Mar 24, 2026
@gpsanant gpsanant reopened this Mar 24, 2026
@venice-dev
venice-dev Bot merged commit 5042eaf into soli-testbench:main Mar 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant