Aura.Channel.Skills.Hidden.HiddenTownBack.Prepare C# (CSharp) Метод

Prepare() публичный Метод

Prepares skill, reading the item to use from the packet.
public Prepare ( Creature creature, Skill skill, Packet packet ) : bool
creature Aura.Channel.World.Entities.Creature
skill Skill
packet Packet
Результат bool
		public bool Prepare(Creature creature, Skill skill, Packet packet)
		{
			var dictStr = packet.GetString();
			bool warpPartyMembers = false;
			if (packet.Peek() == PacketElementType.Byte)
				warpPartyMembers = packet.GetBool();

			// Get item entity id
			var itemEntityId = MabiDictionary.Fetch<long>("ITEMID", dictStr);
			if (itemEntityId == 0)
			{
				Log.Warning("HiddenTownBack: Item entity id missing.");
				return false;
			}

			// Get item
			var item = creature.Inventory.GetItem(itemEntityId);
			if (item == null)
			{
				Log.Warning("HiddenTownBack: Creature '{0:X16}' tried to use non-existing item.", creature.EntityId);
				return false;
			}

			// Set callback for Complete
			creature.Skills.Callback(skill.Info.Id, () =>
			{
				// Try to warp and remove item if successful
				if (Warp(creature, item, warpPartyMembers))
					creature.Inventory.Decrement(item);
			});

			Send.SkillUse(creature, skill.Info.Id, itemEntityId, warpPartyMembers, "");
			skill.State = SkillState.Used;

			return true;
		}