Enhancement suggestions to the trainerdata.json file
DISCLAIMER
This will be a very long and full of grammar and syntax errors post, cause English is not my native language and I want to explain everything with examples and clarity before all.
I'm very satisfied by the addition of trainerdata.json: it helps me on using another game save file and have a different ID that isn't the default one I put in the trainerdata.txt when I gen a Pokémon. I want to suggest some more enhancements to it.
A feature that I would like to have is to gen a Pokémon with a trainer data linked to the game the mod attributes to the Pokémon and not based on the savegame that we are editing (the current behaviour of the trainerdata.json).
Just suppose to work on a Ultra Moon savegame trying to gen this Snorlax:
but the mod will give to this Snorlax the trainer data of the trainerdata.txt and not the Black one:
Before the implementation of trainerdata.txt I succesfully edited the part of code regarding the default trainer data, letting me obtain a Snorlax with the Blacktrainer data in a Ultra Moon game only if it's origin was set to Black by the mod. The editing of the code was fairly simple (my knowledge of coding is only copy/paste other code sections and the "if/else") and so I presume that this kind of behaviour could be achieved in the new trainerdata.json, probably adding some new values or keys.
Just to get things more clear I'll try to suppose a particular scenario with these files and a particular "goal":
trainerdata.json like the one before (Black and White)
Savegame:Ultra Moon
Goal: Gen a Pokémon with Whitetrainer data
Values that I suggest can be used in the trainerdata.json (but there can be more of them, it's just an example):
"Generation Sorting Value":
Explanation: a way to sort out generations (e.g. 1st generation = Red, Blue, etc. ; 6th generation = X, OR, etc.) to prioritize genning in a set generation instead of another one
Example: Snorlax has its possible origin either from Black/White or from OR/AS (I know there are more possible generations but I want to make thing easier so I'll take into account only these 2). In the trainerdata.json an order will be specified that has 5th Generation prioritized over the 6th one, in a way that the mod would gen the Snorlax with that games origin instead of the 6th ones.
"Preferred Game (by Generation)" [It can be a sorting value too]:
Explanation: When the Pokémon is genned it will have the origin set to the game we choose as "preferred" over the ones of the same generation
Example: Snorlax can be genned either from Black or White, but, with the preference that we set, it will surely have a White origin. This value will be not taken into account in the case in which a Pokémon can't be naturally caught in that game (e.g. Reshiram for White) [a sorting method can be useful there to specify which game will be set as origin if the first one isn't eligible]
"Choose at the time of genning" [Big and difficult to implement (I think)]:
Explanation: When whatever Pokémon is imported in PKHeX with the Mod, after analyzing all possible origins, a dialog window with the list of all possible games will appear in which the origin game can be chosen manually with its linked trainer data. If that trainer data wasn't specified in the trainerdata.json the game should still be selectable but with a warning sign next to it and a tooltip saying that the default trainer data set on trainerdata.txt will be used.
Conclusions
If you read till this point you are really good and I appreciate it at a lot cause this wall of text surely is scary 😱. I hope that this enhancement suggestion will be accepted and transformed into reality. If it isn't clear I love this Mod so much that I took a lot of time to write and polish this post just to make sure everyone who reads this understand what I precisely think and need about it and maybe let you assume the same vision that I have about my "meticolous" 😅 conception of genning.
Enhancement suggestions to the trainerdata.json file
I'm very satisfied by the addition of trainerdata.json: it helps me on using another game save file and have a different ID that isn't the default one I put in the trainerdata.txt when I gen a Pokémon. I want to suggest some more enhancements to it.
A feature that I would like to have is to gen a Pokémon with a trainer data linked to the game the mod attributes to the Pokémon and not based on the savegame that we are editing (the current behaviour of the trainerdata.json).
Just suppose to work on a Ultra Moon savegame trying to gen this Snorlax:
We are going to use this trainerdata.json (Black and White)
and this trainerdata.txt
It will of course have Black as it's origin game:
but the mod will give to this Snorlax the trainer data of the trainerdata.txt and not the Black one:
Before the implementation of trainerdata.txt I succesfully edited the part of code regarding the default trainer data, letting me obtain a Snorlax with the Black trainer data in a Ultra Moon game only if it's origin was set to Black by the mod. The editing of the code was fairly simple (my knowledge of coding is only copy/paste other code sections and the "if/else") and so I presume that this kind of behaviour could be achieved in the new trainerdata.json, probably adding some new values or keys.
Just to get things more clear I'll try to suppose a particular scenario with these files and a particular "goal":
Values that I suggest can be used in the trainerdata.json (but there can be more of them, it's just an example):
Conclusions
If you read till this point you are really good and I appreciate it at a lot cause this wall of text surely is scary 😱. I hope that this enhancement suggestion will be accepted and transformed into reality. If it isn't clear I love this Mod so much that I took a lot of time to write and polish this post just to make sure everyone who reads this understand what I precisely think and need about it and maybe let you assume the same vision that I have about my "meticolous" 😅 conception of genning.
Thank you for your attention, Optimus Zard