Commit Graph

58 Commits

Author SHA1 Message Date
LemonNexus e3f3a595fb feat(combat): add damage tracking and combat events
- Add English damage taken pattern: 'You took X points of damage'
- Add damage_dealt, damage_taken, evade subscriptions in main.py
- Update evade pattern for 'The target Evaded your attack' and 'The attack missed you'
- Show combat stats in session summary
- Display real-time damage dealt/taken/evade events

Combat events now tracked alongside loot for complete hunting analytics.
2026-02-08 18:07:06 +00:00
LemonNexus bd506e53c2 fix(logs): update English patterns for actual game output format
- English loot uses parentheses: 'x (2)' not 'x 2'
- Add English damage pattern: 'You inflicted X points of damage'
- Support both Swedish and English damage dealt events
- Fix empty bracket pattern: [System] [] Message

Tested with real log output showing English client format.
2026-02-08 17:54:48 +00:00
LemonNexus c511ff2042 feat(logs): add Swedish language support from real game logs
- Add Swedish regex patterns based on real chat.log from user session
- Support loot, globals, skills, damage, healing, weapon tier
- Add real-chat-sample.log for testing (14 events parsed)
- LogWatcher now parses Swedish game client output correctly
2026-02-08 17:30:31 +00:00
LemonNexus dfe4e8125f feat: add gear management + Windows testing guide
- Fix terminology: Projects (activities) vs Sessions (gameplay)
- Add EntropiaNexusAPI integration for weapon/armor/tool stats
- Implement GearLoadout class for equipment management
- Calculate hunting/mining costs per hour
- Add DPP (Damage Per PEC) efficiency tracking
- Create comprehensive WINDOWS_TESTING_GUIDE.md
- Document live game testing scenarios
- Explain ROI calculations and data model

Ready for Windows PC live testing with game client.
2026-02-08 17:17:37 +00:00
LemonNexus a516ff4d0c fix(db): correct SQL comment syntax for SQLite compatibility
- Replace Python-style # comments with SQL-standard -- comments
- SQLite does not recognize # as comment character
- Fixes database initialization failure on first run

Test: Database now initializes successfully.
2026-02-08 17:06:45 +00:00
LemonNexus 4efbf39e7e feat(core): implement LogWatcher with Observer Pattern
- Create LogWatcher using Observer Pattern for loose coupling
- Implement compiled regex patterns for EU chat.log parsing:
  - Global/HoF detection
  - Regular loot parsing
  - Skill gain tracking
  - Weapon decay monitoring
- Add async polling loop (1s interval for 60+ FPS compliance)
- Implement MockLogGenerator for testing
- Efficient file seeking (only reads new lines)
- Event types: global, hof, loot, skill, decay, kill, enhancer_break

Performance optimized: minimal CPU, non-blocking async.
2026-02-08 16:56:49 +00:00
LemonNexus 28b8921efa feat(core): implement ProjectManager with Data Principle
- Create ProjectManager class enforcing Data Principle
- Implement ProjectData, SessionData, LootEvent dataclasses
- Add create_project, load_project, archive_project methods
- Implement session lifecycle (start_session, end_session)
- Add loot recording with auto-screenshot trigger (>50 PED)
- Include analytics: get_project_summary, compare_to_historical
- All PED calculations use Decimal for precision (Rule #4)

Every session is a Project: auto-saved, archivable, comparable.
2026-02-08 16:56:40 +00:00
LemonNexus b47ddbec2e feat(db): initialize SQLite schema and DatabaseManager
- Create schema.sql with Data Principle support (projects, sessions, loot)
- Implement DatabaseManager with connection pooling and WAL mode
- Add Decimal adapter for PED/PEC precision (Rule #4)
- Enable foreign keys and performance optimizations (Rule #3)
- Add backup functionality for data safety

Database supports project archiving, session tracking, and
historical data comparison per Data Principle.
2026-02-08 16:56:32 +00:00