Example #1
0
        /// <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;
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        /// <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;
            }
        }