Example #1
0
File: Dye.cs Project: xKamuna/aura
		/// <summary>
		/// Handles usage of the skill if it's a regular dye.
		/// </summary>
		/// <param name="creature"></param>
		/// <param name="skill"></param>
		/// <param name="packet"></param>
		/// <param name="part"></param>
		private void UseRegular(Creature creature, Skill skill, Packet packet, int part)
		{
			var x = packet.GetShort();
			var y = packet.GetShort();

			Send.SkillUseDye(creature, skill.Info.Id, part, x, y);
		}
Example #2
0
File: Dye.cs Project: tkiapril/aura
		/// <summary>
		/// Completes skill usage if it was a regular dye.
		/// </summary>
		/// <param name="creature"></param>
		/// <param name="packet"></param>
		/// <param name="skill"></param>
		/// <param name="part"></param>
		private void CompleteRegular(Creature creature, Packet packet, Skill skill, int part)
		{
			var x = packet.GetShort();
			var y = packet.GetShort();

			// Choose random picker
			var rnd = RandomProvider.Get();
			DyePicker picker;
			switch (rnd.Next(5))
			{
				default:
				case 0: picker = creature.Temp.RegularDyePickers.Picker1; break;
				case 1: picker = creature.Temp.RegularDyePickers.Picker2; break;
				case 2: picker = creature.Temp.RegularDyePickers.Picker3; break;
				case 3: picker = creature.Temp.RegularDyePickers.Picker4; break;
				case 4: picker = creature.Temp.RegularDyePickers.Picker5; break;
			}

			// Apply picker offset
			x = (short)((x + picker.X) % MapSize);
			y = (short)((y + picker.Y) % MapSize);

			// Arguments
			var a1 = creature.Temp.DyeDistortA1;
			var a2 = creature.Temp.DyeDistortA2;
			var a3 = creature.Temp.DyeDistortA3;
			var a4 = creature.Temp.DyeDistortA4;

			// Color item
			var item = creature.Temp.SkillItem1;
			var data = item.Data;
			try
			{
				switch (part)
				{
					default:
					case 0: item.Info.Color1 = GetRegularColor(data.ColorMap1, a1, a2, a3, a4, x, y); break;
					case 1: item.Info.Color2 = GetRegularColor(data.ColorMap2, a1, a2, a3, a4, x, y); break;
					case 2: item.Info.Color3 = GetRegularColor(data.ColorMap3, a1, a2, a3, a4, x, y); break;
				}
				this.DyeSuccess(creature);

				Send.AcquireFixedDyedItemInfo(creature, item.EntityId);
			}
			catch (Exception ex)
			{
				Log.Exception(ex);
				Send.ServerMessage(creature, Localization.Get("Error, please report."));
			}

			Send.SkillCompleteDye(creature, skill.Info.Id, part);
		}
Example #3
0
File: Dye.cs Project: xKamuna/aura
		/// <summary>
		/// Completes skill usage if it was a regular dye.
		/// </summary>
		/// <param name="creature"></param>
		/// <param name="packet"></param>
		/// <param name="skill"></param>
		/// <param name="part"></param>
		private void CompleteRegular(Creature creature, Packet packet, Skill skill, int part)
		{
			var x = packet.GetShort();
			var y = packet.GetShort();

			// TODO: Get the distort formula for regulars

			Send.ServerMessage(creature, Localization.Get("This skill isn't implemented completely yet."));
			Send.SkillCompleteDye(creature, skill.Info.Id, part);
		}