anchor.diff:  end;
   
   constructor TTalents.Create;
  +var
  +  I: TTalentEnum;
  +  P: Pointer;
  +  S: string;
   begin
     Self.Clear;
  +  P := TypeInfo(TTalentEnum);
  +  for I := Low(TTalentEnum) to High(TTalentEnum) do
  +  begin
  +    S := StringReplace(GetEnumName(P, Ord(I)), 'tl', '', [rfReplaceAll]);
  +    S := StringReplace(S, '_', ' ', [rfReplaceAll]);
  +    FTalentName[I] := S;
  +  end;
   end;
   
   constructor TTalents.Clear;
  
positive.code: 
  implementation
  
  uses SysUtils, uLanguage, uSkill, uGame, uScenes, uPlayer, uAttribute;
  
  { TTalents }
  
  
negative.code: type
    TTalentEnum = (tlNone, tlStrong {  } , tlDextrous {  } ,
      tlMage {  } , tlTough {  } , tlWealthy {  } ,
      tlAffinity_with_Swords, tlAffinity_with_Axes,
      tlAffinity_with_Polearms, tlAffinity_with_Maces,
      tlMiser {  }, tlCareful {  }, tlIron_Skin {   },
      tlHardy {  }, tlCharged {  } );
  
  type
    TTalentBonus = (tbNone, tbAttrib, tbSkill, tbTalent, tbGold);
  
  type
    TTalentBase = record
      Level: Byte;
      TalentBonus: TTalentBonus;
      Effects: TEffects;
    end;
  
  const
    TalentBase: array [TTalentEnum] of TTalentBase = (
      // None
      (Level: 0; TalentBonus: tbNone; Effects: [];),
      // Strong
      (Level: 1; TalentBonus: tbSkill; Effects: [efPrmAthletics];),
      // Dextrous
      (Level: 1; TalentBonus: tbSkill; Effects: [efPrmDodge];),
      // Mage
      (Level: 1; TalentBonus: tbSkill; Effects: [efPrmConcentration];),
      // Tough
      (Level: 1; TalentBonus: tbSkill; Effects: [efPrmToughness];),
      // Wealthy
      (Level: 1; TalentBonus: tbGold; Effects: [efPrmGold];),
      // Affinity with Swords
      (Level: 3; TalentBonus: tbSkill; Effects: [efPrmBlade];),
      // Affinity with Axes
      (Level: 3; TalentBonus: tbSkill; Effects: [efPrmAxe];),
      // Affinity with Polearms
      (Level: 3; TalentBonus: tbSkill; Effects: [efPrmSpear];),
      // Affinity with Maces
      (Level: 3; TalentBonus: tbSkill; Effects: [efPrmMace];),
      // Miser
      (Level: 5; TalentBonus: tbNone; Effects: [ef2xGold];),
      // Careful
      (Level: 5; TalentBonus: tbTalent; Effects: [efPrmDV];),
      // Iron Skin
      (Level: 5; TalentBonus: tbTalent; Effects: [efPrmPV];),
      // Hardy
      (Level: 5; TalentBonus: tbAttrib; Effects: [efPrmLife];),
      // Charged
      (Level: 5; TalentBonus: tbAttrib; Effects: [efPrmMana];));
  
  type
    TTalent = record
  