I love this system but why are some birthsigns so much more useful and powerful than others? Will there be a way to change a Pokemon's birthsign to a desired one like how many hacks/fangames add ways to change a Pokemon's nature?
I'm gonna answer this in probably way more detail than necessary, but here are my thoughts on the design philosophy with the signs.
I realize some signs have way more of an impact on gameplay than others. This is mostly just because I started on this project years ago, so I've just naturally gotten better at coding over time, and became more ambitious with the kinds of ideas I could implement. The original 12 signs for example were very basic and somewhat lackluster. I put effort into making them feel more interesting as I've updated things, without outright completely changing the themes and ideas behind them.
I've tried balancing this problem by making the signs that DO have strong effects much harder to use consistently. For example, the effect for 'The Timelord' (instantly evolve a Pokemon) requires 1 Stardust or Star Piece from your inventory per use, AND comes with a 10,000 step cooldown per use. So under normal gameplay it can't be spammed consecutively, and is actually completely unusable until you find some Stardust/Star Pieces (which are typically somewhat rare). So if your starter comes with this sign, for example, you can't just spam the Timeskip skill and get its final form before you even leave the first town. Unless you just give the player a bunch of Stardust at the start of the game for some reason, at which point that's kinda on you.
Compare this to a much less flashy sign, like 'The Companion' (boosts happiness levels). The effects of this sign are always active and don't require anything to activate or maintain. So between the two signs, if you're trying to quickly evolve something that is happiness-based (like Riolu to Lucario) for example, the sign of 'The Companion' is actually far more reliable than 'The Timelord' would be. Because the instant happiness boost will most likely cause Riolu to evolve already by the time you happen to stumble upon some Stardust, and its effect costs you nothing. This is the sort of mentality I have when balancing sign effects. Some are really good, but aren't consistent. Others aren't super useful, but are very reliable for those niche circumstances where they are. Then you have a few wild cards thrown in that have a potentially huge impact, but it may not always be worth the associated cost (The Eternal, The Fool, The Cultist, etc).
A second way I've tried to balance things are through Zodiac Powers. Signs that have great effects outside of battle tend to have more situational effects in battle with their Zodiac Powers. Again, using 'The Timelord' as an example - its Zodiac Power allows it to borrow the attributes of its evolved form (if it can evolve), or its pre-evolved form (if its fully evolved). This means its great (if not busted) in the early-game, but becomes actually a debuff in the late game for most Pokemon. Compare this to 'The Companion' Zodiac Power which not only boosts your partner's damage by 50%, but also negates the opponent's Protect that turn, which is literally always useful in a double battle and comes with no downsides at all.
Anyway, as far as changing signs go, there already exists plenty of ways to do this, most of which is handled by the Events script. You can use Birthstone events to give your Pokemon a blessing, which changes their sign to that particular event's sign. You can also use another event to spawn Celestial Bosses, who, when captured, can manually bless any other party member with the sign they represent. Pokemon with 'The Eternal' sign can also change their sign to whatever the current month's sign is. There isn't a quick and easy method to change signs though, but that's by design. It SHOULD be difficult to change a Pokemon's sign, because of how potentially useful they are. I don't want people to get a Pokemon with a sign like "The Beacon" and go ew lets change that to something else. I want them to get it and and then be like ok thats useless but then stumble upon a cave they don't want to give up a moveslot for Flash for and go "oh yeahhh, I can just use that birthsign I forgot about". Some signs are just designed in that way where they're kind of forgettable until you're in that one specific situation where they're a lifesaver, and I feel like being able to just freely change signs on a whim greatly reduces that impact.
Also it doesn't really make sense from a lore perspective to be able to change the sign you were born under. Thats why I implemented the blessing system so that it can only be done once to change a Pokemon's sign, and after that they can no longer have their sign changed. It's supposed to be a meaningful decision that you have to think about. Of course, however, there's nothing stopping you from just manually coding in a method of changing signs freely. I left that door open in case people want to do that, but I don't want to include an option for that by default. You can easily just adapt the Debug tools i've included that change signs to implement a sign changing system of your own.