FIXES:
1. Changed from re.search (finds first) to re.finditer (finds ALL)
- Now extracts all skills visible in the skills window
- Not just the first skill
2. Added category name cleaning
- Removes: Attributes, Combat, Design, Construction, etc.
- Prevents 'Attributes Laser Weaponry Technology' issues
- Now correctly extracts just 'Laser Weaponry Technology'
3. Normalizes whitespace after removing categories
- Joins all text into single space-separated string
- Helps with multi-line skill parsing
4. Added validation for skill name length
- Must be more than 2 characters
- Filters out false positives
ABOUT YOUR FEATURE REQUESTS:
Multi-Page Scanning:
- To scan all pages automatically would require:
1. Detect the skills window is open
2. Click the 'next page' button automatically
3. Wait for page transition
4. Repeat until last page (detect via page counter)
5. This requires UI automation (pyautogui)
6. Risk: Could interfere with gameplay
Progress Bar Detection:
- The green bars represent % progress to next level
- To measure them would require:
1. Image processing (OpenCV) to detect bar length
2. Comparing green pixels to total bar width
3. Converting to percentage
4. This is complex and computationally expensive
5. Alternative: Track skill gains via chat.log instead
RECOMMENDATION:
For tracking skill progress precisely, the best approach is:
1. Use chat.log parsing (already implemented)
2. It catches every skill gain with exact values
3. No OCR needed - 100% accurate
4. Works in background automatically