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 UpdateHealth(Creature creature)
        {
            var builder = new PacketBuilder(Packets.SendToClient.UpdateCreatureHealthPercent);

            builder.AddU32(creature.Id);
            builder.AddU8(creature.PercentHitpoints);
            builder.Send(_player);
        }
        public void UpdateLight(Creature creature)
        {
            var builder = new PacketBuilder(Packets.SendToClient.UpdateCreatureLight);

            builder.AddU32(creature.Id);
            builder.AddU8(creature.LightColor);
            builder.AddU8(creature.LightLevel);
            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 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 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);
        }