private void OnCreatureProducedItem(ProductionEventArgs args)
{
var skill = args.Creature.Skills.Get(SkillId.ProductionMastery);
if (skill == null) return;
if (skill.Info.Rank >= SkillRank.RF && skill.Info.Rank <= SkillRank.RA)
{
if (args.Success)
skill.Train(2); // Create any material through use of a skill.
else
skill.Train(3); // Fail at creating any material through use of a skill.
return;
}
if (skill.Info.Rank == SkillRank.R9)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.Item.HasTag("/texture/03/|/texture/04/"))
skill.Train(3); // Successfully weave Fine or Finest Fabric.
else if (args.Item.HasTag("/copperingot/|/silveringot/"))
skill.Train(4); // Successfully refine a Copper Ingot or a Silver Ingot.
}
return;
}
if (skill.Info.Rank == SkillRank.R8)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.Item.HasTag("/silk/03/|/silk/04/"))
skill.Train(3); // Successfully weave Fine or Finest Silk.
else if (args.Item.HasTag("/silveringot/|/goldingot/"))
skill.Train(4); // Successfully refine a Gold or Silver Ingot.
}
return;
}
if (skill.Info.Rank == SkillRank.R7)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.Item.HasTag("/leather_strap/03/|/leather_strap/04/"))
skill.Train(3); // Successfully cut a Fine or Finest Leather.
else if (args.Item.HasTag("/goldingot/"))
skill.Train(4); // Successfully refine a Gold or Silver Ingot.
}
return;
}
if (skill.Info.Rank == SkillRank.R6)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.Item.HasTag("/leather_strap/03/|/leather_strap/04/"))
skill.Train(3); // Successfully cut a Fine or Finest Leather.
else if (args.Item.HasTag("/mythrilingot/"))
skill.Train(4); // Successfully refine a Mythril Ingot.
}
return;
}
if (skill.Info.Rank == SkillRank.R5)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.ProductionData.Category == ProductionCategory.PotionMaking && args.ProductionData.Materials.Any(a => a.Tag.Contains("/whiteherb/")))
skill.Train(4); // Successfully make a potion using a White Herb.
else if (args.ProductionData.Category == ProductionCategory.Handicraft && args.ProductionData.Rank >= SkillRank.R7 && args.ProductionData.Rank <= SkillRank.R5)
skill.Train(5); // Successfully handicraft any item from Rank 7 to Rank 5.
}
return;
}
if (skill.Info.Rank == SkillRank.R4)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.ProductionData.Category == ProductionCategory.PotionMaking && args.ProductionData.Materials.Any(a => a.Tag.Contains("/goldenherb/")))
skill.Train(4); // Successfully make a potion using a Golden Herb.
else if (args.ProductionData.Category == ProductionCategory.Handicraft && args.ProductionData.Rank >= SkillRank.R6 && args.ProductionData.Rank <= SkillRank.R4)
skill.Train(5); // Successfully handicraft any item from Rank 6 to Rank 4.
}
return;
}
if (skill.Info.Rank == SkillRank.R3)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.ProductionData.Category == ProductionCategory.PotionMaking && args.ProductionData.Materials.Any(a => a.Tag.Contains("/mandrake/")))
skill.Train(4); // Successfully make a potion using a Mandrake.
else if (args.ProductionData.Category == ProductionCategory.Handicraft && args.ProductionData.Rank >= SkillRank.R5 && args.ProductionData.Rank <= SkillRank.R3)
skill.Train(5); // Successfully handicraft any item from Rank 5 to Rank 3.
}
return;
}
if (skill.Info.Rank == SkillRank.R2)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.ProductionData.Category == ProductionCategory.PotionMaking && args.ProductionData.Materials.Any(a => a.Tag.Contains("/antidoteherb/")))
skill.Train(4); // Successfully make a potion using a Antidote Herb.
else if (args.ProductionData.Category == ProductionCategory.Handicraft && args.ProductionData.Rank >= SkillRank.R4 && args.ProductionData.Rank <= SkillRank.R2)
skill.Train(5); // Successfully handicraft any item from Rank 4 to Rank 2.
}
return;
}
if (skill.Info.Rank == SkillRank.R1)
{
if (args.Success)
{
skill.Train(2); // Create any material through use of a skill.
if (args.ProductionData.Category == ProductionCategory.PotionMaking && args.ProductionData.Materials.Any(a => a.Tag.Contains("/poisonherb/")))
skill.Train(3); // Successfully make a potion using a Poison Herb.
else if (args.ProductionData.Category == ProductionCategory.Handicraft && args.ProductionData.Rank >= SkillRank.R3 && args.ProductionData.Rank <= SkillRank.R1)
skill.Train(4); // Successfully handicraft any item from Rank 3 to Rank 1.
}
return;
}
}