feat: 15 Bitcoin-themed arenas (40 total)

bitcoin_mine, lightning_node, satoshis_garage, mempool, silk_road_ruins,
block_height_tower, hodl_cave, whale_pool, node_farm, genesis_block,
pizza_day_parlor, difficulty_adjustment, fifty_one_percent,
timechain_temple, nostr_relay_room. Each with unique theme colors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-08 21:22:37 +00:00
co-authored by Claude Opus 4.6
parent 48cf19b438
commit 9de36a9349
2 changed files with 120 additions and 0 deletions
+105
View File
@@ -182,6 +182,111 @@ export const ARENAS: Arena[] = [
modifier: 'sports_2x',
modifierDescription: 'Sports showdown challenges deal 2x damage.',
},
{
id: 'bitcoin_mine',
name: 'The Bitcoin Mine',
description: 'Cavernous mine with rows of ASICs roaring. Hash rate gauges glow in the dark. Proof of work is everything here.',
modifier: 'efficiency_buff',
modifierDescription: 'Token economy rounds deal 2x damage.',
},
{
id: 'lightning_node',
name: 'Lightning Node',
description: 'Blazing channels of light crisscross the arena. Payments settle in milliseconds. Speed is king.',
modifier: 'speed_2x',
modifierDescription: 'Speed rounds deal 2x damage.',
},
{
id: 'satoshis_garage',
name: "Satoshi's Garage",
description: 'A humble garage with a single monitor displaying the genesis block. Where it all began.',
modifier: 'legacy_code',
modifierDescription: 'Code challenges require legacy syntax.',
},
{
id: 'mempool',
name: 'The Mempool',
description: 'Unconfirmed transactions swirl in a chaotic vortex. Priority goes to the highest fee.',
modifier: 'all_types',
modifierDescription: 'All round types can appear. Chaos mode.',
},
{
id: 'silk_road_ruins',
name: 'Silk Road Ruins',
description: 'Crumbling darknet marketplace. Tor exit nodes flicker overhead. Trust no one.',
modifier: 'trap_heavy',
modifierDescription: 'Prompt injection traps appear more often.',
},
{
id: 'block_height_tower',
name: 'Block Height Tower',
description: 'A tower that grows one floor per block. Currently at floor 840,000. The view from up here is legendary.',
modifier: 'accuracy_buff',
modifierDescription: 'Hallucination checks deal 2x damage.',
},
{
id: 'hodl_cave',
name: 'HODL Cave',
description: 'Deep underground vault. Diamond hands carved into the walls. No one leaves until the fight is finished.',
modifier: null,
modifierDescription: null,
},
{
id: 'whale_pool',
name: 'Whale Pool',
description: 'Massive pool where whales surface to dump. The splash damage is real. High stakes only.',
modifier: 'crowd_favorite',
modifierDescription: 'Crowd commentary is extra savage.',
},
{
id: 'node_farm',
name: 'Node Farm',
description: 'Rows of Raspberry Pis running full nodes. Green LED lights blink in perfect sync. Consensus is reached.',
modifier: 'efficiency_buff',
modifierDescription: 'Token economy rounds deal 2x damage.',
},
{
id: 'genesis_block',
name: 'Genesis Block Arena',
description: 'The original block. "Chancellor on brink of second bailout for banks" etched in stone. Sacred ground.',
modifier: 'all_types',
modifierDescription: 'All round types can appear. Chaos mode.',
},
{
id: 'pizza_day_parlor',
name: 'Pizza Day Parlor',
description: '10,000 BTC for two pizzas. The most expensive meal in history. Smells like pepperoni and regret.',
modifier: 'food_2x',
modifierDescription: 'Food fight challenges deal 2x damage.',
},
{
id: 'difficulty_adjustment',
name: 'Difficulty Adjustment',
description: 'The arena shifts every 2016 rounds. Walls move, floor tilts, gravity changes. Adapt or die.',
modifier: 'latency_chaos',
modifierDescription: 'Random latency penalties added to both bots.',
},
{
id: 'fifty_one_percent',
name: '51% Attack Arena',
description: 'Majority rules. The arena favors whoever is winning. Double-spend your opponents health.',
modifier: 'all_types',
modifierDescription: 'All round types can appear. Chaos mode.',
},
{
id: 'timechain_temple',
name: 'Timechain Temple',
description: 'Ancient temple where each pillar represents a halving epoch. Time flows in 10-minute blocks.',
modifier: 'speed_2x',
modifierDescription: 'Speed rounds deal 2x damage.',
},
{
id: 'nostr_relay_room',
name: 'Nostr Relay Room',
description: 'Decentralized arena mirrored across a thousand relays. The crowd is everywhere and nowhere. Zaps fly.',
modifier: 'crowd_favorite',
modifierDescription: 'Crowd commentary is extra savage.',
},
]
export function pickArena(botAChoice: number, botBChoice: number): Arena {