The minimum requirement would be that if you spend a Talent point into Opportunist, the game awards you a free Talent point. I wouldn't mind if it was handled in a way "just give it to all characters for free", except for this issue: The Free Pet Pal mod does not seem to take into account what happens if you use a respec mirror and remove the free Pet Pal point, thus giving you an extra, and I'm not sure that it's possible to account for that if you already spent it on something.
So I suppose the simplest solution to avoiding giving extra Talent points via respec mirrors is that you still will need to have Warfare 1 to take Opportunist.
Ah okay. I can keep track of whenever Opportunist has been granted for free, when players respec, and when talents are removed or added. The problem is, I am not sure if I can take away a talent point to spend (there is a call to add the number of talent points, I just don't know if a negative integer is permitted and used for subtraction, I will have to try). If talent points can't be taken away, if a player goes into respec and removes Opportunist, they will get refunded a point. This will open up a window for them to increase the talent pool point by one. I
could put in some funky logic that if they were granted Opportunist and they respec and remove Opportunist they will not be allowed to choose another talent until they take Opportunist again. Not as elegant, but could work.
If it has to work for current saved games, that would probably mean needing to run a check whenever a game is loaded, yes? My preference is that it can work on saved games, but it does not NEED to work on current saved games if it would produce too much overhead checking for that.
Actually, the way it was implemented for PetPal already does take into account loading saved games, it basically checks whenever the game client is started. The overhead would be imperceptible.
So how about this approach:
1. All players will be given Opportunist and the mod will track when this has been done for each player.
2. If a player later removes Opportunist, the mod will perform one of the following:
2a. Reduce the number of available talent points by 1.
or
2b. Force the player to take Opportunist before any additional talents as to ensure no free talent point stealing. I'll display some text to indicate as much.
Does that make sense?