I have changed Lone Wolf slightly such that it gives Ability Points retroactively. If you pick Lone Wolf at level 10 for example, you will now get the 9 Ability points that you had missed out on from not taking Lone Wolf at level 1.


Code
INITSECTION
DB_LoneWolfRetroactive(CHARACTER_Player1, 1);
DB_LoneWolfRetroactive(CHARACTER_Player2, 1);

KBSECTION

IF
CharacterUnlockedTalent(_Player, "LoneWolf")
AND
_Player.IsPlayer()
AND
CharacterGetLevel(_Player, _level)
AND
DB_LoneWolfRetroactive(_Player, _prevLevel)
AND
IntegerSubtract(_level, _prevLevel, _result)
AND
_result > 0
THEN
CharacterAddAbilityPoint(_Player, _result);
NOT DB_LoneWolfRetroactive(_Player, _prevLevel);
DB_LoneWolfRetroactive(_Player, _level);

IF
CharacterLeveledUp(_Player)
AND
_Player.IsPlayer()
AND
CharacterHasTalent(_Player, "LoneWolf", 1)
AND
CharacterGetLevel(_Player, _level)
AND
DB_LoneWolfRetroactive(_Player, _prevLevel)
THEN
NOT DB_LoneWolfRetroactive(_Player, _prevLevel);
DB_LoneWolfRetroactive(_Player, _level);



I haven't tested this myself yet, but theoretically that code should be set up to avoid Respec/Lone Wolf retroactive exploitation.