protected override void AfterPlay(Creature creature, Skill skill, int quality)
{
var playingQuality = this.GetQualityRating(quality);
// All ranks above F have the same 3 first conditions.
if (skill.Info.Rank >= SkillRank.RF && skill.Info.Rank <= SkillRank.R1)
{
if (playingQuality >= PlayingQuality.Bad)
skill.Train(1); // Use the skill successfully.
if (playingQuality == PlayingQuality.Good)
skill.Train(2); // Give an excellent vocal performance.
if (playingQuality == PlayingQuality.VeryGood)
skill.Train(3); // Give a heavenly performance.
// Very bad training possible till E.
if (skill.Info.Rank <= SkillRank.RE && playingQuality == PlayingQuality.VeryBad)
skill.Train(4); // Fail at using the skill.
}
// TODO: "Use the skill to grow crops faster."
// TODO: "Grant a buff to a party member."
}
}