public void Stats()
        {
            var builder = new PacketBuilder(Packets.SendToClient.PlayerStats);

            builder.AddU16(_player.Hitpoints);
            builder.AddU16(_player.MaxHitpoints);
            builder.AddU16(_player.Capacity);
            builder.AddU32(_player.Experience);
            builder.AddU8(_player.Level);
            builder.AddU16(_player.Mana);
            builder.AddU16(_player.MaxMana);
            builder.AddU8(_player.MagicLevel.Get());
            builder.Send(_player);
        }
        public void Open(byte newContainerIndex, Item container, ItemStructure strucc, bool childContainer = true)
        {
            var builder = new PacketBuilder(Packets.SendToClient.OpenContainer);
            builder.AddU8(newContainerIndex); // container index
            builder.AddU16(container.Id); // container look id? the one identifying the container
            builder.AddString(strucc.Name);
            builder.AddU8(strucc.ContainerSize);
            builder.AddU8((byte)(childContainer ? 1 : 0)); // 0 == root container, 1 == child container
            var inside = container.Inside;
            if (inside == null)
            {
                builder.AddU8(0);
            }
            else
            {
                builder.AddU8((byte) inside.Count);
                for (int i = 0; i < inside.Count; i++)
                {
                    builder.AddItem(inside[i]);
                }
            }

            _player.OpenContainer(container);

            builder.Send(_player);
        }
Exemple #3
0
        private static void NewMethod1(Player player, Item item, ItemStructure strucc)
        {
            var builder = new PacketBuilder(Packets.SendToClient.OpenContainer);

            builder.AddU8(0);        // container index
            builder.AddU16(item.Id); // container look id? the one identifying the container
            builder.AddString(strucc.Name);
            builder.AddU8(strucc.ContainerSize);
            builder.AddU8(0); // root container, 1 == child container
            var inside = player.Equipment.Backpack.Inside;

            if (inside == null)
            {
                builder.AddU8(0);
            }
            else
            {
                builder.AddU8((byte)inside.Count);
                for (int i = 0; i < inside.Count; i++)
                {
                    builder.AddItem(inside[i]);
                }
            }

            player.OpenContainer(player.Equipment.Backpack);

            builder.Send(player);
        }
        public void UpdateSpeed(Creature creature)
        {
            var builder = new PacketBuilder(Packets.SendToClient.UpdateCreatureSpeed);

            builder.AddU32(creature.Id);
            builder.AddU16(creature.GetSpeed());
            builder.Send(_player);
        }
        public void CreatureTurn(Creature creature)
        {
            var builder = new PacketBuilder();

            builder.AddPacketId(Packets.SendToClient.CreatureTurn);
            builder.AddPosition(creature.Position);
            builder.AddU8(creature.ZIndex);
            builder.AddU16(0x63);
            builder.AddU32(creature.Id);
            builder.AddU8((byte)creature.Direction);
            builder.Send(_player);
        }
        public void LoginSuccess()
        {
            _player.ZIndex = IoC.Game.GetCreatureZIndexLogin(_player, _player.Position);
            var builder = new PacketBuilder();

            builder.AddPacketId(Packets.SendToClient.LoginSuccess);
            builder.AddU32(_player.Id);
            builder.AddU16(GameClient.Beat);
            Map.AddFullMapToBuilder(builder);
            builder.Send(_player);

            WorldLight();
            Stats();
            Skills();
            StatusIcons();
            Equipment();
            Effects.Login(_player);

            PlayerAppear();
        }
        public void UpdateOutfit(Creature creature)
        {
            var builder = new PacketBuilder(Packets.SendToClient.UpdateCreatureOutfit);

            builder.AddU32(creature.Id);
            builder.AddU8(creature.Outfit.Id);
            if (creature.Outfit.Id != 0)
            {
                builder.AddU8(creature.Outfit.Head);
                builder.AddU8(creature.Outfit.Body);
                builder.AddU8(creature.Outfit.Legs);
                builder.AddU8(creature.Outfit.Feet);
            }
            else
            {
                // invisible
                builder.AddU16(0);
            }
            builder.Send(_player);
        }