/// <summary> /// </summary> /// <param name="client"> /// </param> /// <param name="page"> /// </param> /// <param name="slotNumber"> /// </param> public static void Send(IZoneClient client, IInventoryPage page, int slotNumber) { switch (slotNumber) { case 6: var action167Message = new CharacterActionMessage() { Identity = client.Controller.Character.Identity, Action = CharacterActionType .ChangeAnimationAndStance, }; client.Controller.Character.Playfield.Announce(action167Message); var equipMessage = new CharacterActionMessage() { Identity = client.Controller.Character.Identity, Action = CharacterActionType.Equip, Target = page.Identity, Parameter1 = 0, Parameter2 = 6, }; client.Controller.Character.Send(equipMessage); break; default: IItem item = page[slotNumber]; var templateActionMessage = new TemplateActionMessage() { Identity = client.Controller.Character.Identity, ItemHighId = item.HighID, ItemLowId = item.LowID, Quality = item.Quality, Unknown1 = 1, Unknown2 = page is SocialArmorInventoryPage ? 7 : 6, Placement = new Identity() { Type = page.Identity .Type, Instance = slotNumber }, Unknown = 0, }; client.Controller.Character.Send(templateActionMessage); break; } }
private static void OnTemplateAction(N3Message n3Msg) { TemplateActionMessage templateActionMessage = (TemplateActionMessage)n3Msg; switch (templateActionMessage.Unknown2) { case 3: Item.OnItemUsed(templateActionMessage.ItemLowId, templateActionMessage.ItemHighId, templateActionMessage.Quality, templateActionMessage.Identity); break; case 32: PerkAction.OnPerkFinished(templateActionMessage.ItemLowId, templateActionMessage.ItemHighId, templateActionMessage.Quality, templateActionMessage.Identity); break; } }
/// <summary> /// </summary> /// <param name="client"> /// </param> /// <param name="page"> /// </param> /// <param name="slotNumber"> /// </param> public static void Send(IZoneClient client, IInventoryPage page, int slotNumber) { switch (slotNumber) { case 6: var action97Message = new CharacterActionMessage() { Identity = client.Controller.Character.Identity, Action = CharacterActionType.Unknown3, Parameter2 = 6 }; client.Controller.Character.Send(action97Message); break; default: IItem item = page[slotNumber]; var templateActionMessage = new TemplateActionMessage() { Identity = client.Controller.Character.Identity, ItemHighId = item.HighID, ItemLowId = item.LowID, Quality = item.Quality, Unknown1 = 1, Unknown2 = 7, Placement = new Identity() { Type = page.Identity .Type, Instance = slotNumber }, Unknown = 0, }; client.Controller.Character.Send(templateActionMessage); break; } }