I just went and took a look at the Java source code for Shoddy. Pokemon Species data is stored in a DB file, which I couldn't read as text. But, based on the code that reads the DB file, it appears to be very straightforward. Other things like movesets, etc are similarly straightforward. I also took a peek at the ability code (It was strange that abilities were in a subdirectory under "Status Effects". Odd...) But, I checked out the implementation of Levitate to see if other immunities might be able to use existing framework code. As expected, it appears that immunity-like abilities fit into a framework of "Move Transformers". That's a positive sign. All of this really means nothing until the coding project is underway. But, I noticed Shoddy was written in Java, and I've been working with Java for ten years. After a quick peek at the code, I'm optimistic.