function renderWeeklyBounties(){ const wrap = document.getElementById('weeklyBountiesList'); if(!wrap) return; if(weeklyBounties.length === 0){ generateWeeklyBounties(); } wrap.innerHTML = ''; weeklyBounties.forEach((bounty, index)=>{ const el = document.createElement('div'); el.className = 'bounty-item' + (bounty.completed ? ' completed' : ''); el.innerHTML = `
${bounty.completed ? '✓' : ''}
${bounty.text}
${bounty.reward}
`; wrap.appendChild(el); }); } function generateWeeklyBounties(){ weeklyBounties = [ { text:'Complete 5 quests', reward:'+500 XP', completed:false }, { text:'Finish 1 Main Quest', reward:'+250 Gold', completed:false }, { text:'Clear Fixing Column', reward:'+Epic Loot', completed:false }, { text:'Add 3 new ideas', reward:'+150 XP', completed:false } ]; localStorage.setItem('weekly_bounties', JSON.stringify(weeklyBounties)); renderWeeklyBounties(); } function toggleWeeklyBounty(index){ weeklyBounties[index].completed = !weeklyBounties[index].completed; localStorage.setItem('weekly_bounties', JSON.stringify(weeklyBounties)); renderWeeklyBounties(); syncBountiesToCalendar(); } function syncBountiesToCalendar(){ const allBounties = []; const dailyWrap = document.querySelectorAll('#bountiesList .bounty-item'); dailyWrap.forEach((el, idx)=>{ allBounties.push({ title: 'Daily: ' + el.innerText.trim() }); }); weeklyBounties.forEach(b=>{ allBounties.push({ title: 'Weekly: ' + b.text }); }); localStorage.setItem('guild_calendar_bounties', JSON.stringify(allBounties)); } function processQuickCapture(){ const input = document.getElementById('quickCaptureInput'); if(!input || !input.value.trim()) return; const lines = input.value .split('\n') .map(l => l.trim()) .filter(Boolean); lines.forEach((line, i)=>{ let priority = 'med'; let colId = 'build'; const lower = line.toLowerCase(); if(lower.includes('bug') || lower.includes('fix')){ priority = 'high'; colId = 'fix'; } if(lower.includes('idea')){ priority = 'low'; colId = 'games'; } if(lower.includes('urgent') || lower.includes('today')){ priority = 'high'; } const newCard = { id: 'quick_' + Date.now() + '_' + i, colId, title: line.length > 42 ? line.substring(0,42) + '...' : line, desc: 'Quick captured note: ' + line, tags: [{text:'Quick Note', col:'#0284c7'}], priority, date:'', comments:[] }; state.cards.unshift(newCard); }); if(typeof persist === 'function'){ persist(); } if(typeof renderBoard === 'function'){ renderBoard(); } if(typeof updateCentralHub === 'function'){ updateCentralHub(); } input.value = ''; showToast('⚡ Notes processed into quests!'); } window.addEventListener('load', ()=>{ setTimeout(()=>{ renderWeeklyBounties(); syncBountiesToCalendar(); }, 600); }); RPG Quest Board - JVDesignStudio
VICTORY!
Click anywhere to close
RPG QUEST BOARD
🧙‍♂️
Josh- the Novice LV. 1 Mage
💰 0g
🏰 Guild Command Center
📜 Tracked 0
🔥 Main 0
Completed 0
💰 Gold 0g

🔥 Main Quests

🎯 Daily & Weekly

📅 Google Calendar Merge
Paste your Google Calendar embed URL below to merge your calendar into the hub. Daily + Weekly Bounties now sync into the Guild Calendar system.

Google Calendar → Settings → Integrate Calendar → Public URL / Embed URL
⚡ Quick Quest Capture
Quickly brain-dump tasks, reminders, or ideas. The Guild AI will sort them into quests automatically.
📦 Active Tracked Quests
All Quests 🔴 Main Quests 🟡 Side Quests 🟢 Guild Quests
0 quests 0 completed

May 2026

🛡️ Hero Profile
🧙‍♂️

Josh-

LV 1
0 / 1000 XP
🗡️ Strength (STR) - Bug Smashing 1
🧙‍♂️ Intelligence (INT) - Feature Craft 1
🏹 Dexterity (DEX) - Clean Code Deploy 1
🦊 Charisma (CHA) - Assets & Monetisation 1
Equipped Gear
🚫 Weapon
🚫 Armor
🚫 Trinket
🎯 Daily Bounties
🗓️ Weekly Guild Missions
🎒 Inventory Loot Bag
🛒 Tavern Themes & Items
☕ Elixir of Wakefulness (Coffee Break)
🎮 Scroll of Play (30m Game Break)
🎨 Theme: Cyberpunk Hackerspace Skin

🐉 Embark on a Guild Raid

*Note: Active quests in your board will automatically be assigned to damage the active raid boss. Complete cards to slay it!

⚔️ Coffee-Break Dungeon Portal

=== CHIP-8 DUNGEON CRAWLER ===
Unlock locks, complete real quests to boost your STR/INT stats, then return here to slay procedural monsters during coding breaks!