I¦ve been working on a pokémon worldbuilding project which involves some pretty convoluted rules regarding signature moves and so forth. And initially I was trying to apply these rules by hand, but eventually it got to be too much and I kept missing things or making mistakes. So I found a dump of learnset data on GitHub and wrote a Ruby script to automatically generate the signature move data from that.
Somewhat relatedly, when I started this project I was keeping all of my data in a Numbers® spreadsheet and using a terrible AppleScript script to export the data from there into a T·S·V. This worked, but was really tempermental, partially because Numbers® support for AppleScript is really unmaintained at this point and I had to do some U·I scripting. As an example, the script could not actually pick where to save the exported T·S·V, so if you saved any spreadsheet in a different folder since the last time you ran it, it would go and save in that folder instead! (Because, apparently, Numbers does not remember the “last saved folder” on a per‐spreadsheet basis, which is bonkers.)
Anyway, to get around all of this, I finally made the jump and downloaded LibreOffice and converted my spreadsheets into LibreOffice Calc spreadsheets instead. LibreOffice¦s commandline tool, soffice is, like the rest of LibreOffice, very unpretty and cumbersome, but it does work reliably and you can hide all the messiness within a shell script, so that is what I have done. LibreOffice also gives you the option of saving as a “flat O·D·F” file, which is suitable for checking into Git, which is nice.
It¦s a real shame that Apple has stopped caring about writing good programs with featureful scripting capabilities that make users feel empowered at their computer, because Numbers is a much friendlier and easier‐to‐use application in my opinion. But alas.
I also split up my spreadsheet file up from one big file into multiple smaller ones, so that a change to, say, the Indigo League learnsets wouldn¦t force a rebuild of the page for Alola. This is especially important because the main “pokédex” spreadsheet, which shouldn¦t need to change often, is a prerequisite of the signature move script, which is very slow. It was a real problem when it was needing to regenerate all of the signature moves just because I made an unrelated change to one of the other pages in the file.
no subject
Date: 2025-09-17 05:21 pm (UTC)I¦ve been working on a pokémon worldbuilding project which involves some pretty convoluted rules regarding signature moves and so forth. And initially I was trying to apply these rules by hand, but eventually it got to be too much and I kept missing things or making mistakes. So I found a dump of learnset data on GitHub and wrote a Ruby script to automatically generate the signature move data from that.
Somewhat relatedly, when I started this project I was keeping all of my data in a Numbers® spreadsheet and using a terrible AppleScript script to export the data from there into a T·S·V. This worked, but was really tempermental, partially because Numbers® support for AppleScript is really unmaintained at this point and I had to do some U·I scripting. As an example, the script could not actually pick where to save the exported T·S·V, so if you saved any spreadsheet in a different folder since the last time you ran it, it would go and save in that folder instead! (Because, apparently, Numbers does not remember the “last saved folder” on a per‐spreadsheet basis, which is bonkers.)
Anyway, to get around all of this, I finally made the jump and downloaded LibreOffice and converted my spreadsheets into LibreOffice Calc spreadsheets instead. LibreOffice¦s commandline tool,
sofficeis, like the rest of LibreOffice, very unpretty and cumbersome, but it does work reliably and you can hide all the messiness within a shell script, so that is what I have done. LibreOffice also gives you the option of saving as a “flat O·D·F” file, which is suitable for checking into Git, which is nice.It¦s a real shame that Apple has stopped caring about writing good programs with featureful scripting capabilities that make users feel empowered at their computer, because Numbers is a much friendlier and easier‐to‐use application in my opinion. But alas.
I also split up my spreadsheet file up from one big file into multiple smaller ones, so that a change to, say, the Indigo League learnsets wouldn¦t force a rebuild of the page for Alola. This is especially important because the main “pokédex” spreadsheet, which shouldn¦t need to change often, is a prerequisite of the signature move script, which is very slow. It was a real problem when it was needing to regenerate all of the signature moves just because I made an unrelated change to one of the other pages in the file.