sure, but if you integrate something like this into the game you should probably implement it differently. I tried to change as little game code as possible while also trying to hard code as few as possible.
For example, my code has to search for the icon paths (some are .webp while others are .png, and some paths are capitalized which could lead to errors on Unix otherwise) and use RegEx to get the proper image name for a location (and then place it over the existing image)
some things to consider:
- add the path and coordinates of the location images to the Location objects or something similar, so you can loop over them and don't have to hard code the image coordinates multiple times
- remove the shadows from the heroine icons since they mess with focus_mask
- it would probably be good to include icons with the required dimensions in the game, so you don't have to use uneven scaling (btw, Sophie's icon is 4px wider than the others and Stacey's is missing a part of the border on the left side)
- maybe change the Heroine()'s smallIcon to the full path (so you don't have to search the complete file list), unless you use separate Icons and thus don't need functions from 'im' or Image()
- as I noticed after posting the mod, the dorm's button is 21px wider than the others, so the heroine icons aren't quite centered in the current version of the mod. You should probably change the image's width to 200px, otherwise you would have to compensate for that
Also it might be better to go to the heroine's location when clicking on her overview icon instead of focusing her, I'm not quite sure what I like more. Maybe even jump directly to the correct sublocation or her dialog menu, but that could mess with some location encounters.
Some improvements that also came to my mind, but I didn't tackle:
- some kind of progress bar around the heroine icons. You could add colored partial circles to indicate the current affection (and maybe the current maximum, too)
- some indicator for the current heroine level. For example, the hover text could switch every second between affection and level