So I know I said I was going to take a break but this problem had been nagging me so I've been working on it throughout the day.
Actually xRoguex was surprisingly on the dot with the problem, perhaps not intentionally since it'd be pretty impressive without seeing the code. eval had an issue with reading string-interpolated variables because it didn't share the same scope as the monster Talk files. This ultimately resulted in the program crashing and several frustrating hours of basically nuking the Splice program entirely and shifting the code into the monster files. However, in doing so...
View attachment 44818View attachment 44819
String interpolation is now functional with no workaround in the translation .csv necessary (in fact the only thing you have to change is the escaped quotation marks as shown in the screenshot). I also upgraded to a new .csv editor because the old one was blinding me. This new one is significantly easier on the eyes and lets me swap between .csv files on the left.
The cherry on top, I stress tested one of the worst case scenario scripts (which happens to be LesserSuccubus, as it turns out) provided all ~3250 of her lines were translated and the game tries to parse the .txt file.
View attachment 44820
The result is imperceptible when compared to untranslated gameplay, which means this method should be ready for translation now. I just need to update the python and have it inject to all the other files. If the injection goes smoothly, I'll upload the python script here (ENG_Splice.rb is no longer in use and will be deleted. The python directly injects about 16 lines of unique code into the files now instead).
Edit:
Ok, the injection seems to have gone perfectly. I've attached the python script. If there's questions about what something does or how to use it, please ask.
There's 3 options included with it.
The first option assembles .csv files with unique lines in the name of the monster.
The second converts those .csv files to formatted .txt files ready to be eval'd into a hash in Ruby. This should be run whenever you have updated the .csv files or the text won't appear in-game.
The third option inserts the injection script into all of the Talk files.
Options 1, 2, and 3 should all be run at least once. Don't run 2 before 1 obviously because there won't be any .csv files for it to convert. I'm not sure what happens if you run option 3 without the other 2 (IOW, no text file is present). It'll probably crash, so make sure you run all 3 before trying to run the game. I should also add, do not run 3 more than once. I haven't included a check for the injection script yet so it will likely create duplicates of the injection script instead of replacing it. And make sure you have an original backup if something goes wrong.
I also forgot to add,
the python script must be run inside of your /Succubus Rhapsodia/Mod/ folder. Don't try to run it inside anything else.
Let me know if you find any bugs / improvements.
I'm going to start working on fully translating the fight now, or at least most of it.