Aura.Channel.Skills.Life.ProductionMastery.OnCreatureProducedItem C# (CSharp) Метод

OnCreatureProducedItem() приватный Метод

Raised when creature produces items, handles creation conditions.
private OnCreatureProducedItem ( ProductionEventArgs args ) : void
args ProductionEventArgs
Результат void
		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;
			}
		}