Assign favored abilities. Clear all off, and if we get >=1 ability, process ability 1 ntFavdAbil1? ::= <vari::=0> <varFavdAbil1?::=abNull> <varFavdAbil2?::=abNull> <varFavdAbil3?::=abNull> <varFavdAbil4?::=abNull> <varFavdAbil5?::=abNull> <varFavdAbil6?::=abNull> <ntFavdAbil1?##vari::=_ntFavdAbil1?> <ntFavdAbil1?##varNoFavd?::=nothing> ntFavdAbil1?##vari
Choose a random ability. If it is not already Caste or Favored, make it Favoured 1 _ntFavdAbil1? ::= <varFavdAbil1?::=ntAbility> <ntFavdAbilChk?##varFavdAbil1?::=ntFavdAbil2?> <ntFavdAbilChk?##varCasteAbil1?::=_ntFavdAbil1?> <ntFavdAbilChk?##varCasteAbil2?::=_ntFavdAbil1?> <ntFavdAbilChk?##varCasteAbil3?::=_ntFavdAbil1?> <ntFavdAbilChk?##varCasteAbil4?::=_ntFavdAbil1?> <ntFavdAbilChk?##varCasteAbil5?::=_ntFavdAbil1?> ntFavdAbilChk?##varFavdAbil1?
Clear Favd 2. If we get >=2 abilities, process ability 2 ntFavdAbil2? ::= <<vari::=succ##vari>> <varFavdAbil2?::=abNull> <ntFavdAbil2?##vari::=_ntFavdAbil2?> <ntFavdAbil2?##varNoFavd?::=nothing> ntFavdAbil2?##vari
Choose a random ability. If it is not already Caste or Favored, make it Favoured 2 _ntFavdAbil2? ::= <varFavdAbil2?::=ntAbility> <ntFavdAbilChk?##varFavdAbil2?::=ntFavdAbil3?> <ntFavdAbilChk?##varCasteAbil1?::=_ntFavdAbil2?> <ntFavdAbilChk?##varCasteAbil2?::=_ntFavdAbil2?> <ntFavdAbilChk?##varCasteAbil3?::=_ntFavdAbil2?> <ntFavdAbilChk?##varCasteAbil4?::=_ntFavdAbil2?> <ntFavdAbilChk?##varCasteAbil5?::=_ntFavdAbil2?> <ntFavdAbilChk?##varFavdAbil1?::=_ntFavdAbil2?> ntFavdAbilChk?##varFavdAbil2?
Clear Favd 3. If we get >=3 abilities, process ability 3 ntFavdAbil3? ::= <<vari::=succ##vari>> <varFavdAbil3?::=abNull> <ntFavdAbil3?##vari::=_ntFavdAbil3?> <ntFavdAbil3?##varNoFavd?::=nothing> ntFavdAbil3?##vari