Yeah I figured I'd have to do all kinds of checks to see if the Pokémon has the move and is TM learned and if the power is true.
Although instead of messing with the scripts, couldn't it be a little easier if say I created TM's of the same move's, for example:
In moves.txt
468,THUNDERBOLT2,Thunderbolt,06,75,ELECTRIC,Special,100,15,10,00,0,be,Cool,A strong electric blast is loosed at the foe. It may also leave the foe paralyzed.
In tm.txt
[THUNDERBOLT2]
RATTATA,RATICATE,PIKACHU,RAICHU...
And then, make a check to see if the newer moved learned is THUNDERBOLT and hasmove THUNDERBOLT2, and replace the second Thunderbolt with the original and instead of seeing a message, "Has forgotten Thunderbolt and has learned Thunderbolt." it could say "Has learned how to use Thunderbolt a little better."
In theory, this could also make for having upgrades, and have moves start at a low power... But having to upgrade or learn how to "use the move better", is an essential during the game! Like creating 2 or 3 types of the same attack:
469,THUNDERBOLT3,Thunderbolt,06,85,ELECTRIC,Special,100,15,10,00,0,be,Cool,A strong electric blast is loosed at the foe. It may also leave the foe paralyzed.
Could this work? It looks plausable, but seems messy, and this could also be easier for "beginners" to do things without messing with scripts, right?