Yup, that could work as well.
I outline a problem with filenames just in case: they have to be unique, so tagger should use some kind of index, unique within one folder. Like abcd-pr-l1.jpg, where abcd is an index and pr and l1 are tags of some kind.
I am still not entirely sure how it's all useful if the index is random.... we can always go back to json as well by the way and I can add binary "fix" for the database for speed when player has finalized packs for the game.
If we change the filenames, transition from old names to new can get a bit clumsy. Maybe I can come up add a check if the fn system is old or new but it will mean extra check for every file in the game.
Otherwise, I managed to clean up skills (there were serious issues with code), added loading skills from data files and fixed a few serious bugs with hero equipment screen.
In unique girls xml files (we could switch to JSON here as well I suppose, for consistency, maybe add some new options but we can do this at any release and keep support for both xml and json forever if required):
Skills are provided in the same manner as stats, game will know which is which. Obvious difference is that skills are limitless and it is set as pure value and not % of some max.
Random Girls:
Skills can be provided the same as random_stats in random_stats OR new field can be added called random_skills with exactly the same syntax as stats.
There is also a new window to check skills in the girlsprofile, it will only appear in developer mode.
Order there:
1) Action Skill (Practical).
2) Training Skill (Theoretical).
3) True Skill (combination of both with special rule where if action skill exceeds training skill by more than 300%, it will be less effective (while training obviously becomes more effective at that point)) Also multiplier bonus from traits and items can also be applied to this.
I think this is it for tonight unless some small issue can be found that needs fixing.