public void addClassLevel(ClassLevel toBeAdded, Feat chosenFeat, int attributeBonus)
 {
     addClassLevelBase(toBeAdded);
     levelUpAttributeBonuses.Add(attributeBonus);
     ownedFeats.Add(chosenFeat);
     form.refreshSheet();
 }
 private void addClassLevelBase(ClassLevel toBeAdded)
 {
     takenLevels.Add(toBeAdded);
     foreach (ClassLevel level in takenLevels)
     {
         if (level.returnClass() == toBeAdded.returnClass() && (level.returnLevel() + 1) == toBeAdded.returnLevel())
         {
             BAB      += (toBeAdded.returnBab() - level.returnBab());
             fortSave += (toBeAdded.returnFort() - level.returnFort());
             refSave  += (toBeAdded.returnRef() - level.returnRef());
             willSave += (toBeAdded.returnWill() - level.returnWill());
         }
     }
     foreach (Feat feat in toBeAdded.returnFeats())
     {
         ownedFeats.Add(feat);
     }
     if (toBeAdded.returnLevel() == 1)
     {
         foreach (Skill skill in toBeAdded.returnClass().returnSkills())
         {
             skill.setClassSkill(true);
         }
         form.refreshSkill(true);
         foreach (int ID in toBeAdded.returnClass().returnProficiency())
         {
             if (proficiencies.Contains(ID) == false)
             {
                 proficiencies.Add(ID);
             }
         }
         BAB      += toBeAdded.returnBab();
         fortSave += toBeAdded.returnFort();
         refSave  += toBeAdded.returnRef();
         willSave += toBeAdded.returnWill();
     }
     hp   += toBeAdded.returnHP();
     mana += toBeAdded.returnMana();
     if (takenLevels.Count == 1)
     {
         skillPointTotal = toBeAdded.returnClass().returnSkillGain() * 5;
     }
     else
     {
         skillPointTotal += toBeAdded.returnClass().returnSkillGain();
     }
 }
 public void addClassLevel(ClassLevel toBeAdded, Feat chosenFeat)
 {
     addClassLevelBase(toBeAdded);
     ownedFeats.Add(chosenFeat);
     form.refreshSheet();
 }
 public void addClassLevel(ClassLevel toBeAdded, int attributeBonus)
 {
     addClassLevelBase(toBeAdded);
     levelUpAttributeBonuses.Add(attributeBonus);
     form.refreshSheet();
 }
 public void addClassLevel(ClassLevel toBeAdded)
 {
     addClassLevelBase(toBeAdded);
     form.refreshSheet();
 }