I am no expert, but is your game suitable for serialization?
You could create a class that holds everything about your characters, then pass your data to it, store using that class objects, and save to a file. Then you could build some retriever methods like getPokemonAttackCount() etc. So when you open the file, you just read the object, extract the data then send to the relevant classes/methods.
I think I made it sound complex, but it is not that hard.
It's very similar to Pokemon.
The problem is not saving my current game state, the problem is storing things that are set(the environment). For example where a trainer is positioned and what his pokemon are, what the attacks of his pokemon are, etc.
I am unsure wether to use a Database(SQLite?) or text files. Or maybe there is another very different approach?