Commit graph

62 commits

Author SHA1 Message Date
megaproxy
4ccfdd3505 Update help page styling to match players page design
- Added back link to Game Hub for consistent navigation
- Updated header styling to match other pages (smaller, consistent padding)
- Restructured sections to use section-content wrapper like other pages
- Removed custom background gradients for consistency
- Updated title to match "PetBot - Command Help" pattern
- Maintained all existing content and functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 12:53:11 +01:00
megaproxy
c2eb846b77 Update help page with comprehensive gym battle documentation
- Added complete gym battle system documentation
- Added visual gym leader cards for all 6 gyms
- Updated inventory system with item rarity information
- Applied proper dark theme styling to match other web pages
- Added "NEW\!" badges for recent features
- Updated to version 0.2.0
- Organized content into logical sections for better readability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 12:43:05 +01:00
megaproxy
87eff2a336 Implement gym battle system with location-based challenges
🏛️ Gym Battle System - Phase 1:
- Complete database schema with 4 new tables (gyms, gym_teams, player_gym_battles)
- 6 unique gyms across all locations with themed leaders and badges
- Location-based challenges (must travel to gym location)
- Difficulty scaling system (gets harder with each victory)
- Badge tracking and progress system

🎯 Features Added:
- \!gym - List gyms in current location with progress
- \!gym list - Show all gyms across all locations
- \!gym challenge "<name>" - Challenge a gym (location validation)
- \!gym info "<name>" - Get detailed gym information
- \!gym status - Quick status overview

🏆 Gym Roster:
- Starter Town: Forest Guardian (Grass) - Trainer Verde
- Whispering Woods: Nature's Haven (Grass) - Elder Sage
- Electric Canyon: Storm Master (Electric) - Captain Volt
- Crystal Caves: Stone Crusher (Rock) - Miner Magnus
- Frozen Tundra: Ice Breaker (Ice/Water) - Arctic Queen
- Dragon's Peak: Dragon Slayer (Fire) - Champion Drake

⚔️ Battle Mechanics:
- Teams scale with victory count (20% stat increase per win)
- First victory awards badge + bonus rewards
- Repeat challenges give scaling rewards
- Simulated battles (full battle system integration pending)

🔧 Technical Implementation:
- Config-driven gym system (config/gyms.json)
- Scalable database design for easy expansion
- Location validation prevents remote challenges
- Automatic gym data loading on startup

Next phase: Integrate with full battle system and add web interface badges.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 12:36:40 +01:00
megaproxy
d74c6f2897 Migrate repository from GitHub to Forgejo
🔄 Repository Migration:
- Migrated from GitHub to self-hosted Forgejo server
- Updated git remote to ssh://git@192.168.1.249:2230/megaproxy/Petbot.git
- Updated README.md with correct clone URL
- Removed GitHub-specific setup files (GITHUB_AUTH_SETUP.md, setup-github.sh)
- Cleaned up temporary debugging files from database fix

🏠 New Repository Location:
- Server: 192.168.1.249:2230 (Forgejo)
- Repository: megaproxy/Petbot
- All commit history and tags preserved

 Migration Complete:
- All commits successfully pushed to Forgejo
- Version tags (v0.1, v0.2.0) migrated
- Future commits will automatically push to Forgejo server

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 12:26:50 +01:00
megaproxy
86b5fa998c Prevent future database orphaning by reverting to INSERT OR IGNORE
🛡️ Prevention Fix:
- Reverted pet_species loading back to INSERT OR IGNORE
- Reverted locations loading back to INSERT OR IGNORE
- Reverted location_spawns loading back to INSERT OR IGNORE
- Kept achievements as INSERT OR REPLACE (they need updates)

🔧 Why This Fix:
- INSERT OR REPLACE deletes existing records and creates new ones with new IDs
- This orphans any player data that references the old IDs
- INSERT OR IGNORE preserves existing records and their IDs
- New pets/locations can still be added, but existing ones won't be deleted

 Result:
- Current players: Already fixed with manual database repair
- Future players: Will use existing stable IDs
- Data updates: Achievements can still be updated, reference data is stable
- No more orphaned foreign key references possible

This ensures the database ID orphaning issue can never happen again.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 12:13:20 +01:00
megaproxy
821c6f570c Fix database loading to update existing records
🐛 Problem Fixed:
- Achievement changes weren't being applied because INSERT OR IGNORE doesn't update
- New pets and location spawns weren't being loaded for the same reason
- Database was stuck with old configuration data

🔧 Changes:
- Changed INSERT OR IGNORE to INSERT OR REPLACE for achievements
- Changed INSERT OR IGNORE to INSERT OR REPLACE for pet species
- Changed INSERT OR IGNORE to INSERT OR REPLACE for locations and spawns
- This ensures config file changes are properly loaded into database

⚠️ Restart Required:
- Bot needs to be restarted to reload the updated configurations
- After restart, Whispering Woods should be unlocked by Pet Collector achievement
- New Grass pets (Vinewrap, Bloomtail) will be available in Whispering Woods

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 11:55:47 +01:00
megaproxy
38ef0b8899 Fix achievement progression by moving Whispering Woods unlock
🎯 Achievement System Improvements:
- Pet Collector achievement (5 pets) now unlocks Whispering Woods
- Nature Explorer achievement (3 Grass species) no longer unlocks location
- Added 2 new Grass-type pets: Vinewrap and Bloomtail
- Updated Whispering Woods spawns to include new Grass pets

🐛 Problem Solved:
- Broke the catch-22 where players needed achievements to access locations
- But needed species from those locations to earn achievements
- Now players can progress naturally: 5 pets → Whispering Woods → more Grass species

🆕 New Pets:
- Vinewrap (Grass) - Defensive grass pet with vine abilities
- Bloomtail (Grass) - Fast grass pet with flower-based attacks

🔧 Updated Spawns:
- Whispering Woods: 3 Grass species (Leafy, Vinewrap, Bloomtail) + rare Flamey
- Players can now complete Nature Explorer achievement after accessing Whispering Woods

📚 Documentation:
- Updated README with new achievement progression
- Clarified unlock sequence and achievement relationships

This change makes the game progression much more logical and accessible for new players.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 11:46:35 +01:00
megaproxy
6791d49c80 Fix travel command location name matching
🐛 Fixed Issues:
- "dragon's peak" now properly matches "Dragon's Peak" location
- "dragons peak" (without apostrophe) now works
- Added case-insensitive location name matching
- Added common variations mapping for all locations

🔧 Changes:
- modules/exploration.py: Enhanced \!travel command with location mappings
- Added support for variations like "dragons peak", "dragon peak", "dragons-peak"
- Maintains backward compatibility with existing location names

Now players can use various formats to travel to locations without worrying about exact capitalization or apostrophes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:33:12 +01:00
megaproxy
3f3b66bfaa Update all web links to use petz.rdx4.com domain
🌐 Updated URLs:
- \!help command now points to http://petz.rdx4.com/help
- \!pets command now points to http://petz.rdx4.com/player/{nickname}
- README.md updated to reference petz.rdx4.com
- Web server startup messages show both local and public URLs

🔧 Changes:
- modules/core_commands.py: Updated help URL
- modules/pet_management.py: Updated player profile URL
- webserver.py: Added public URL display in startup messages
- README.md: Updated web interface section

Users will now receive public URLs that work externally instead of localhost URLs.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:27:53 +01:00
megaproxy
db144da24f Add complete item collection system (v0.2.0)
🎒 Item Collection System:
- 16 unique items across 5 categories (healing, battle, rare, location, special)
- Rarity tiers: Common, Uncommon, Rare, Epic, Legendary with symbols
- 30% chance to find items during exploration
- Location-specific items (shells, mushrooms, crystals, runes)
- Inventory management with \!inventory and \!use commands
- Web interface integration showing player inventories
- Consumable items: healing potions, battle boosters, lucky charms

🔧 Technical Updates:
- Added items and player_inventory database tables
- New Inventory module for item management
- Updated game engine with item discovery system
- Enhanced web interface with inventory display
- Item initialization from config/items.json

🆕 New Commands:
- \!inventory / \!inv / \!items - View collected items by category
- \!use <item name> - Use consumable items on active pets

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:19:57 +01:00
megaproxy
e0edcb391a Add version control and changelog system
 Added automatic version management:
- CHANGELOG.md with complete v0.1.0 history
- Version control helper script for automated commits
- GitHub setup script for easy repository connection
- Semantic versioning support (Major.Minor.Patch)

🔄 Future workflow automation:
- Automatic changelog updates
- Descriptive commit messages
- Version tagging for releases
- Automatic GitHub pushes

🔧 Generated with Claude Code
🤖 Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 00:01:54 +01:00
megaproxy
47f160a295 Initial commit: Complete PetBot IRC Game
🎮 Features implemented:
- Pokemon-style pet collection and battles
- Multi-location exploration system
- Dynamic weather with background updates
- Achievement system with location unlocks
- Web dashboard for player stats
- Modular command system
- Async database with SQLite
- PM flood prevention
- Persistent player data

🌤️ Weather System:
- 6 weather types with spawn modifiers
- 30min-3hour dynamic durations
- Background task for automatic updates
- Location-specific weather patterns

🐛 Recent Bug Fixes:
- Database persistence on restart
- Player page SQLite row conversion
- Achievement count calculations
- Travel requirement messages
- Battle move color coding
- Locations page display

🔧 Generated with Claude Code
🤖 Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13 23:57:39 +01:00