private void Training(Skill skill, EnchantResult result)
{
// Novice and r8 have no relevant training
if (skill.Info.Rank < SkillRank.RF || skill.Info.Rank > SkillRank.R1 || skill.Info.Rank == SkillRank.R8)
return;
switch (result)
{
case EnchantResult.Success:
skill.Train(1); // Get a success.
return;
case EnchantResult.HugeSuccess:
skill.Train(2); // Get a great success.
goto case EnchantResult.Success;
case EnchantResult.Fail:
if (skill.Info.Rank <= SkillRank.R6)
skill.Train(3); // Get a failure.
return;
case EnchantResult.HugeFail:
if (skill.Info.Rank <= SkillRank.RE)
skill.Train(4); // Get a horrible result.
goto case EnchantResult.Fail;
}
}