public static void Load()
        {
            MySqlCommand command = new MySqlCommand(MySqlCommandType.SELECT);
            command.Select("guilds");
            MySqlReader reader = new MySqlReader(command);
            while (reader.Read())
            {
                PhoenixProject.Game.ConquerStructures.Society.Guild guild = new PhoenixProject.Game.ConquerStructures.Society.Guild(reader.ReadString("LeaderName"));
                guild.ID = reader.ReadUInt16("ID");
                guild.Name = reader.ReadString("Name");
                guild.Wins = reader.ReadUInt32("Wins");
                guild.Losts = reader.ReadUInt32("Losts");
                guild.Bulletin = reader.ReadString("Bulletin");
                guild.SilverFund = reader.ReadUInt32("SilverFund");
                guild.ConquerPointFund = reader.ReadUInt32("ConquerPointFund");
                MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
                cmd.Select("entities").Where("GuildID", guild.ID);
                MySqlReader rdr = new MySqlReader(cmd);
                while (rdr.Read())
                {
                    PhoenixProject.Game.ConquerStructures.Society.Guild.Member member = new PhoenixProject.Game.ConquerStructures.Society.Guild.Member(guild.ID);
                    member.ID = rdr.ReadUInt32("UID");
                    member.Name = rdr.ReadString("Name");
                    member.Level = rdr.ReadByte("Level");

                    if (Game.ConquerStructures.Nobility.Board.ContainsKey(member.ID))
                    {
                        member.NobilityRank = Game.ConquerStructures.Nobility.Board[member.ID].Rank;
                        member.Gender = Game.ConquerStructures.Nobility.Board[member.ID].Gender;
                    }

                    member.Rank = (PhoenixProject.Game.Enums.GuildMemberRank)rdr.ReadUInt16("GuildRank");
                    if (member.Rank == PhoenixProject.Game.Enums.GuildMemberRank.GuildLeader)
                        guild.LeaderName = member.Name;
                    else if (member.Rank == PhoenixProject.Game.Enums.GuildMemberRank.DeputyLeader)
                        guild.DeputyLeaderCount++;
                    member.SilverDonation = rdr.ReadUInt64("GuildSilverDonation");
                    member.ConquerPointDonation = rdr.ReadUInt64("GuildConquerPointDonation");
                    guild.Members.Add(member.ID, member);
                }
                guild.MemberCount = (uint)guild.Members.Count;
                ServerBase.Kernel.Guilds.Add(guild.ID, guild);
                Database.ArsenalTable.LoadArsenal(guild);
                rdr.Close();
                rdr.Dispose();
            }
            reader.Close();
            reader.Dispose();
            command = new MySqlCommand(MySqlCommandType.SELECT);
            command.Select("guildally");
            reader = new MySqlReader(command);
            while (reader.Read())
            {
                ushort guildID = reader.ReadUInt16("GuildID");
                ushort allyID = reader.ReadUInt16("AllyID");
                if (ServerBase.Kernel.Guilds.ContainsKey(allyID))
                {
                    if (PhoenixProject.ServerBase.Kernel.Guilds.ContainsKey(guildID))
                        if (PhoenixProject.ServerBase.Kernel.Guilds.ContainsKey(allyID))
                            ServerBase.Kernel.Guilds[guildID].Ally.Add(allyID, ServerBase.Kernel.Guilds[allyID]);
                }
            }
            reader.Close();
            reader.Dispose();
            command = new MySqlCommand(MySqlCommandType.SELECT);
            command.Select("guildenemy");
            reader = new MySqlReader(command);
            while (reader.Read())
            {
                ushort guildID = reader.ReadUInt16("GuildID");
                ushort enemyID = reader.ReadUInt16("EnemyID");
                if (ServerBase.Kernel.Guilds.ContainsKey(guildID))
                    if (ServerBase.Kernel.Guilds.ContainsKey(enemyID))
                    {
                        if (PhoenixProject.ServerBase.Kernel.Guilds.ContainsKey(guildID))
                            if (PhoenixProject.ServerBase.Kernel.Guilds.ContainsKey(enemyID))
                                ServerBase.Kernel.Guilds[guildID].Enemy.Add(enemyID, ServerBase.Kernel.Guilds[enemyID]);
                    }
            }
            reader.Close();
            reader.Dispose();

            Console.WriteLine("Guild information loaded.");
        }
        public void Load(Client.GameState h)
        {
            MySqlCommand Command = new MySqlCommand(MySqlCommandType.SELECT);
            Command.Select("heroquests").Where("hero", h.Entity.UID).And("quest", 0xb71b0);
            PhoenixProject.Database.MySqlReader cmd2 = new PhoenixProject.Database.MySqlReader(Command);

            if (cmd2.Read())
            {
                this.QuestGiver = cmd2.ReadUInt32("npc");
                this.Kills = cmd2.ReadUInt16("step");
                this.CompletedTimes = cmd2.ReadByte("dailyfinishes");
            }
            else
            {
                MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
                cmd.Insert("heroquests").Insert("hero", h.Entity.UID).Insert("quest", 0xb71b0).Execute();

            }
        }
 public static void LoadTop8()
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
     cmd.Select("elitepk");
     MySqlReader r = new MySqlReader(cmd);
     while (r.Read())
     {
         Elite_client client = new Elite_client(r.ReadUInt32("UID"), r.ReadUInt16("Avatar"), r.ReadUInt16("Mesh"), r.ReadString("Name"), r.ReadUInt32("Points"), r.ReadUInt16("Postion"), r.ReadByte("MyTitle"));
         if (!Top8.ContainsKey(client.UID))
             Top8.Add(client.UID, client);
     }
     r.Close();
     r.Dispose();
 }
        public static void LoadMentor(Client.GameState client)
        {
            client.Apprentices = new SafeDictionary<uint, PhoenixProject.Game.ConquerStructures.Society.Apprentice>(10);
            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);

            cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("apprentice").Where("MentorID", client.Entity.UID);
            MySqlReader reader = new MySqlReader(cmd);
            //reader = new MySqlReader(cmd);
            while (reader.Read())
            {
                Game.ConquerStructures.Society.Apprentice app = new Game.ConquerStructures.Society.Apprentice();
                app.ID = reader.ReadUInt32("ApprenticeID");
                app.Name = reader.ReadString("ApprenticeName");
                app.EnroleDate = reader.ReadUInt32("EnroleDate");
                app.Actual_Experience = reader.ReadUInt64("Actual_Experience");
                app.Total_Experience = reader.ReadUInt64("Total_Experience");
                app.Actual_Plus = reader.ReadUInt16("Actual_Plus");
                app.Total_Plus = reader.ReadUInt16("Total_Plus");
                app.Actual_HeavenBlessing = reader.ReadUInt16("Actual_HeavenBlessing");
                app.Total_HeavenBlessing = reader.ReadUInt16("Total_HeavenBlessing");
                client.PrizeExperience += app.Actual_Experience;
                client.PrizePlusStone += app.Actual_Plus;
                client.PrizeHeavenBlessing += app.Actual_HeavenBlessing;
                client.Apprentices.Add(app.ID, app);

                if (client.PrizeExperience > 50 * 606)
                    client.PrizeExperience = 50 * 606;
            }
            reader.Close();
            reader.Dispose();

            cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("apprentice").Where("ApprenticeID", client.Entity.UID);
            reader = new MySqlReader(cmd);
            while (reader.Read())
            {
                client.Mentor = new Mentor();
                client.Mentor.ID = reader.ReadUInt32("MentorID");
                client.Mentor.Name = reader.ReadString("MentorName");
                client.Mentor.EnroleDate = reader.ReadUInt32("EnroleDate");
                client.AsApprentice = new Game.ConquerStructures.Society.Apprentice();
                client.AsApprentice.ID = client.Entity.UID;
                client.AsApprentice.Name = client.Entity.Name;
                client.AsApprentice.EnroleDate = client.Mentor.EnroleDate;
                client.AsApprentice.Actual_Experience = reader.ReadUInt64("Actual_Experience");
                client.AsApprentice.Total_Experience = reader.ReadUInt64("Total_Experience");
                client.AsApprentice.Actual_Plus = reader.ReadUInt16("Actual_Plus");
                client.AsApprentice.Total_Plus = reader.ReadUInt16("Total_Plus");
                client.AsApprentice.Actual_HeavenBlessing = reader.ReadUInt16("Actual_HeavenBlessing");
                client.AsApprentice.Total_HeavenBlessing = reader.ReadUInt16("Total_HeavenBlessing");
            }
            reader.Close();
            reader.Dispose();
        }
        public static bool LoadEntity(Client.GameState client)
        {
            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("entities").Where("UID", client.Account.EntityID);
            MySqlReader r = new MySqlReader(cmd);
            if (r.Read())
            {

                client.WarehousePW = r.ReadString("WarehousePW");
                client.Entity = new Game.Entity(Game.EntityFlag.Player, false);
                client.Entity.Name = r.ReadString("Name");
                client.HeadgearClaim = r.ReadBoolean("HeadgearClaim");
                client.Entity.Spouse = r.ReadString("Spouse");
                client.Entity.NobalityDonation = r.ReadUInt64("Donation");
                client.Entity.Owner = client;
                client.Entity.AddFlower = r.ReadUInt32("Flower");
                client.MoneySave = r.ReadUInt32("MoneySave");
                client.Entity.Experience = r.ReadUInt64("Experience");
                client.Entity.RacePoints = (uint)r.ReadUInt32("RacePoints");
                client.Entity.BConquerPoints = (uint)r.ReadUInt32("BConquerPoints");
                client.Entity.Money = r.ReadUInt32("Money");
                client.Entity.EditeName = r.ReadUInt32("EditeName");
                client.Entity.ConquerPoints = (uint)r.ReadUInt32("ConquerPoints");
                client.Entity.KoKills = (uint)r.ReadUInt32("KoKills");
                client.Entity.ChiPoints = (uint)r.ReadUInt32("ChiPoints");
                client.Entity.UID = r.ReadUInt32("UID");
                //client.Entity.RacePoints = 54321;
                //client.Entity.RacePoints2 = 12345;
                client.Entity.Status = r.ReadUInt32("Status");
                client.Entity.CountryFlag = r.ReadUInt32("Status2");
                client.Entity.Status3 = r.ReadUInt32("Status3");
                client.Entity.Status4 = r.ReadUInt32("Status4");

                client.Entity.Hitpoints = r.ReadUInt32("Hitpoints");
                client.Entity.Quest = r.ReadUInt32("Quest");
                client.Entity.QuizPoints = r.ReadUInt32("QuizPoints");
                client.Entity.Body = r.ReadUInt16("Body");
                client.Entity.Face = r.ReadUInt16("Face");
                client.Entity.Strength = r.ReadUInt16("Strength");
                //client.Entity.ReincarnationLev = (byte)entities[0].ReincarnationLev;

                client.Entity.Agility = r.ReadUInt16("Agility");
                client.Entity.Spirit = r.ReadUInt16("Spirit");
                client.Entity.Vitality = r.ReadUInt16("Vitality");
                client.Entity.Atributes = r.ReadUInt16("Atributes");
                //client.Entity.SubClass = (byte)entities[0].SubClass;
                client.Entity.SubClassLevel = (uint)r.ReadUInt32("SubClassLevel");

                client.Entity.SubClasses.Active = (byte)r.ReadByte("SubClass");
                client.Entity.SubClasses.StudyPoints += r.ReadUInt32("StudyPoints");
                client.VirtuePoints = r.ReadUInt32("VirtuePoints");
                client.Entity.Mana = r.ReadUInt16("Mana");
                client.Entity.HairStyle = r.ReadUInt16("HairStyle");
                client.Entity.MapID = r.ReadUInt32("MapID");
                client.VendingDisguise = r.ReadUInt16("VendingDisguise");
                if (client.VendingDisguise == 0)
                    client.VendingDisguise = 223;
                client.Entity.X = r.ReadUInt16("X");
                client.Entity.Y = r.ReadUInt16("Y");
                if (client.Map.BaseID == 1844)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (ServerBase.Constants.PKFreeMaps2.Contains(client.Entity.MapID))
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1950)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 3333)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1225)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 3031)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 2060)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 3)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 2)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 7777)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1090)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 4021)
                {
                    client.Entity.MapID = 1020;
                    client.Entity.X = 533;
                    client.Entity.Y = 483;
                }
                if (client.Entity.MapID == 4022)
                {
                    client.Entity.MapID = 1020;
                    client.Entity.X = 533;
                    client.Entity.Y = 483;
                }
                if (client.Entity.MapID == 4023)
                {
                    client.Entity.MapID = 1020;
                    client.Entity.X = 533;
                    client.Entity.Y = 483;
                }
                if (client.Entity.MapID == 4024)
                {
                    client.Entity.MapID = 1020;
                    client.Entity.X = 533;
                    client.Entity.Y = 483;
                }
                if (client.Entity.MapID == 4025)
                {
                    client.Entity.MapID = 1020;
                    client.Entity.X = 533;
                    client.Entity.Y = 483;
                }
                if (client.Entity.MapID == 1508)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1518)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Map.BaseID == 1005 && client.Entity.MapID != 1005)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Map.BaseID == 1730)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 7005)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 7006)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 7008)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (client.Entity.MapID == 1801)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 428;
                    client.Entity.Y = 378;
                }
                if (Game.Flags.WeeklyPKChampion == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.WeeklyPKChampion);
                }
                if (Game.Flags.MonthlyPKChampion == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.MonthlyPKChampion);
                }
                if (Game.Flags.TopTrojan == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopTrojan);
                }
                if (Game.Flags.TopWarrior == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopWarrior);
                }
                if (Game.Flags.TopArcher == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopArcher);
                }
                if (Game.Flags.TopNinja == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopNinja);
                }
                if (Game.Flags.TopMonk == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.Top2Monk);
                }
                if (Game.Flags.TopWaterTaoist == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopWaterTaoist);
                }
                if (Game.Flags.TopFireTaoist == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopFireTaoist);
                }
                if (Game.Flags.TopPirate == client.Entity.Name)
                {
                    client.Entity.AddFlag2(Network.GamePackets.Update.Flags2.TopPirate);
                }
                if (Game.Flags.TopGuildLeader == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopGuildLeader);
                }
                if (Game.Flags.TopDeputyLeader == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopDeputyLeader);
                }
                if (Game.Flags.TopSpouse == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopSpouse);
                }
                if (Game.Flags.TopSpouse == client.Entity.Spouse)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopSpouse);
                }
                if (Game.Flags.TopDeputyLeader2 == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopDeputyLeader);
                }
                if (Game.Flags.TopDeputyLeader3 == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopDeputyLeader);
                }
                if (Game.Flags.TopDeputyLeader4 == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopDeputyLeader);
                }
                if (Game.Flags.TopDeputyLeader5 == client.Entity.Name)
                {
                    client.Entity.AddFlag(Network.GamePackets.Update.Flags.TopDeputyLeader);
                }
                client.BlessTime = r.ReadUInt32("BlessTime");
                //client.HeadgearClaim = entities[0].HeadgearClaim;
                client.NecklaceClaim = r.ReadBoolean("NecklaceClaim");
                client.ArmorClaim = r.ReadBoolean("ArmorClaim");
                client.WeaponClaim = r.ReadBoolean("WeaponClaim");
                client.RingClaim = r.ReadBoolean("RingClaim");
                client.BootsClaim = r.ReadBoolean("BootsClaim");
                client.FanClaim = r.ReadBoolean("FanClaim");
                client.TowerClaim = r.ReadBoolean("TowerClaim");
                client.HeadgearClaim = r.ReadBoolean("HeadgearClaim");
                client.InLottery = r.ReadBoolean("InLottery");
                client.LotteryEntries = r.ReadByte("LotteryEntries");
                client.LastLotteryEntry = DateTime.FromBinary(r.ReadInt64("LastLotteryEntry"));
                if (client.Entity.MapID >= 7008)
                {
                    client.Entity.MapID = 1002;
                    client.Entity.X = 430;
                    client.Entity.Y = 380;
                }
                client.Entity.PreviousMapID = r.ReadUInt16("PreviousMapID");
                client.Entity.PKPoints = r.ReadUInt16("PKPoints");
                client.Entity.Class = r.ReadByte("Class");
                client.Entity.Reborn = r.ReadByte("Reborn");
                client.Entity.Level = r.ReadByte("Level");
                client.Entity.FirstRebornClass = r.ReadByte("FirstRebornClass");
                client.Entity.SecondRebornClass = r.ReadByte("SecondRebornClass");
                client.Entity.FirstRebornLevel = r.ReadByte("FirstRebornLevel");
                client.Entity.SecondRebornLevel = r.ReadByte("SecondRebornLevel");
                if (client.Entity.Reborn == 0)
                {

                }
                else
                {
                    if (client.Entity.Reborn == 1 && client.Entity.FirstRebornLevel == 0)
                    {
                        client.Entity.FirstRebornLevel = 140;
                    }
                    else
                    {
                        if (client.Entity.Reborn == 2 && client.Entity.FirstRebornLevel == 0 || client.Entity.Reborn == 2 && client.Entity.SecondRebornLevel == 0)
                        {
                            client.Entity.FirstRebornLevel = 140;
                            client.Entity.SecondRebornLevel = 140;
                        }
                    }
                }
                client.LastDragonBallUse = DateTime.FromBinary(r.ReadInt64("LastDragonBallUse"));
                client.LastResetTime = DateTime.FromBinary(r.ReadInt64("LastResetTime"));
                client.Entity.EnlightenPoints = r.ReadUInt16("EnlightenPoints");
                client.Entity.EnlightmentTime = r.ReadUInt16("EnlightmentWait");
                if (client.Entity.EnlightmentTime > 0)
                {
                    if (client.Entity.EnlightmentTime % 20 > 0)
                    {
                        client.Entity.EnlightmentTime -= (ushort)(client.Entity.EnlightmentTime % 20);
                        client.Entity.EnlightmentTime += 20;
                    }
                }
                client.Entity.ReceivedEnlightenPoints = r.ReadByte("EnlightsReceived");
                client.Entity.DoubleExperienceTime = r.ReadUInt16("DoubleExpTime");
                client.DoubleExpToday = r.ReadBoolean("DoubleExpToday");
                client.Entity.HeavenBlessing = r.ReadUInt32("HeavenBlessingTime");
                client.Entity.VIPLevel = r.ReadByte("VIPLevel");
                client.Entity.PrevX = r.ReadUInt16("PreviousX");
                client.Entity.PrevY = r.ReadUInt16("PreviousY");
                client.ExpBalls = r.ReadByte("ExpBalls");
                client.Entity.ClanId = r.ReadUInt32("ClanId");
                //client.Entity.ClanRank = (Clan.Ranks)entities[0].ClanRank;

                if (client.Entity.ClanId != 0)
                {
                    if (PhoenixProject.ServerBase.Kernel.ServerClans.ContainsKey(client.Entity.ClanId))
                    {
                        client.Entity.ClanId = r.ReadUInt32("ClanId");
                        client.Entity.Myclan = PhoenixProject.ServerBase.Kernel.ServerClans[client.Entity.ClanId];
                        client.Entity.ClanName = client.Entity.Myclan.ClanName;
                        if (PhoenixProject.ServerBase.Kernel.ServerClans[client.Entity.ClanId].ClanLider == client.Entity.Name)
                        {
                            client.Entity.ClanRank = 100;
                        }
                        else
                        {
                            client.Entity.ClanRank = 10;
                        }
                        //Console.WriteLine("dddddd");
                    }
                }
                UInt64 lastLoginInt = (ulong)r.ReadInt64("LastLogin");
               // Console.WriteLine(" " + lastLoginInt + "");
                if (lastLoginInt != 0)
                    client.Entity.LastLogin = Kernel.FromDateTimeInt(lastLoginInt);
                else
                    client.Entity.LastLogin = DateTime.Now;

                if (client.Entity.MapID == 601)
                    client.OfflineTGEnterTime = DateTime.FromBinary(r.ReadInt64("OfflineTGEnterTime"));

                Game.ConquerStructures.Nobility.Sort(client.Entity.UID);

                if (ServerBase.Kernel.Guilds.ContainsKey(r.ReadUInt16("GuildID")))
                {
                    client.Guild = ServerBase.Kernel.Guilds[r.ReadUInt16("GuildID")];
                    if (client.Guild.Members.ContainsKey(client.Entity.UID))
                    {
                        client.AsMember = client.Guild.Members[client.Entity.UID];
                        if (client.AsMember.GuildID == 0)
                        {
                            client.AsMember = null;
                            client.Guild = null;
                        }
                        else
                        {
                            client.Entity.GuildID = (ushort)client.Guild.ID;
                            client.Entity.GuildRank = (ushort)client.AsMember.Rank;
                        }
                    }
                    else
                        client.Guild = null;
                }
                if (!Game.ConquerStructures.Nobility.Board.TryGetValue(client.Entity.UID, out client.NobilityInformation))
                {
                    client.NobilityInformation = new PhoenixProject.Game.ConquerStructures.NobilityInformation();
                    client.NobilityInformation.EntityUID = client.Entity.UID;
                    client.NobilityInformation.Name = client.Entity.Name;
                    client.NobilityInformation.Donation = 0;
                    client.NobilityInformation.Rank = PhoenixProject.Game.ConquerStructures.NobilityRank.Serf;
                    client.NobilityInformation.Position = -1;
                    client.NobilityInformation.Gender = 1;
                    client.NobilityInformation.Mesh = client.Entity.Mesh;
                    if (client.Entity.Body % 10 >= 3)
                        client.NobilityInformation.Gender = 0;
                }
                else
                    client.Entity.NobilityRank = client.NobilityInformation.Rank;

                if (DateTime.Now.DayOfYear != client.LastResetTime.DayOfYear)
                {
                    if (client.Entity.Level >= 90)
                    {
                        client.Entity.EnlightenPoints = 100;
                        if (client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.Knight ||
                            client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.Baron)
                            client.Entity.EnlightenPoints += 100;
                        else if (client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.Earl ||
                            client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.Duke)
                            client.Entity.EnlightenPoints += 200;
                        else if (client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.Prince)
                            client.Entity.EnlightenPoints += 300;
                        else if (client.Entity.NobilityRank == PhoenixProject.Game.ConquerStructures.NobilityRank.King)
                            client.Entity.EnlightenPoints += 400;
                        if (client.Entity.VIPLevel != 0)
                        {
                            if (client.Entity.VIPLevel <= 3)
                                client.Entity.EnlightenPoints += 100;
                            else if (client.Entity.VIPLevel <= 5)
                                client.Entity.EnlightenPoints += 200;
                            else if (client.Entity.VIPLevel == 6)
                                client.Entity.EnlightenPoints += 300;
                        }
                    }
                    client.Entity.ReceivedEnlightenPoints = 0;
                    client.DoubleExpToday = false;
                    client.ExpBalls = 0;
                    client.LotteryEntries = 0;
                    client.Entity.Quest = 0;
                    client.Entity.SubClassLevel = 0;
                    client.LastResetTime = DateTime.Now;
                }
                Game.ConquerStructures.Arena.ArenaStatistics.TryGetValue(client.Entity.UID, out client.ArenaStatistic);
                if (client.ArenaStatistic == null || client.ArenaStatistic.EntityID == 0)
                {
                    client.ArenaStatistic = new PhoenixProject.Network.GamePackets.ArenaStatistic(true);
                    client.ArenaStatistic.EntityID = client.Entity.UID;
                    client.ArenaStatistic.Name = client.Entity.Name;
                    client.ArenaStatistic.Level = client.Entity.Level;
                    client.ArenaStatistic.Class = client.Entity.Class;
                    client.ArenaStatistic.Model = client.Entity.Mesh;
                    client.ArenaStatistic.ArenaPoints = ArenaTable.ArenaPointFill(client.Entity.Level);
                    client.ArenaStatistic.LastArenaPointFill = DateTime.Now;
                    ArenaTable.InsertArenaStatistic(client);
                    client.ArenaStatistic.Status = Network.GamePackets.ArenaStatistic.NotSignedUp;
                    Game.ConquerStructures.Arena.ArenaStatistics.Add(client.Entity.UID, client.ArenaStatistic);
                }
                else
                {
                    client.ArenaStatistic.Level = client.Entity.Level;
                    client.ArenaStatistic.Class = client.Entity.Class;
                    client.ArenaStatistic.Model = client.Entity.Mesh;
                    if (DateTime.Now.DayOfYear != client.ArenaStatistic.LastArenaPointFill.DayOfYear)
                    {
                        client.ArenaStatistic.LastSeasonArenaPoints = client.ArenaStatistic.ArenaPoints;
                        client.ArenaStatistic.LastSeasonWin = client.ArenaStatistic.TodayWin;
                        client.ArenaStatistic.LastSeasonLose = client.ArenaStatistic.TodayBattles - client.ArenaStatistic.TodayWin;
                        client.ArenaStatistic.ArenaPoints = ArenaTable.ArenaPointFill(client.Entity.Level);
                        client.ArenaStatistic.LastArenaPointFill = DateTime.Now;
                        client.ArenaStatistic.TodayWin = 0;
                        client.ArenaStatistic.TodayBattles = 0;
                        Game.ConquerStructures.Arena.Sort();
                        Game.ConquerStructures.Arena.YesterdaySort();
                    }
                }
                //PhoenixProject.Database.ConquerItemTable.LoadItems(client);
                //PhoenixProject.Database.SkillTable.LoadProficiencies(client);
                //PhoenixProject.Database.SkillTable.LoadSpells(client);
                //PhoenixProject.Database.KnownPersons.LoadKnownPersons(client);
                //PhoenixProject.Database.ClaimItemTable.LoadClaimableItems(client);
                //PhoenixProject.Database.DetainedItemTable.LoadDetainedItems(client);
                //Database.SubClassTable.Load(client.Entity);
                //PhoenixProject.Database.FlowerSystemTable.Flowers(client);
                //Game.Tournaments.EliteTournament.LoginClient(client);
                client.Entity.FullyLoaded = true;
                r.Close();
                r.Dispose();
            }
            else

                return false;
            return true;
        }
        public static void LoadItems(Client.GameState client)
        {
            client.SpiltStack = true;
            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("items").Where("EntityID", client.Entity.UID);
            MySqlReader r = new MySqlReader(cmd);
            while (r.Read())
            {
                Interfaces.IConquerItem item = new Network.GamePackets.ConquerItem(true);
                item.ID = r.ReadUInt32("ID");
                item.UID = r.ReadUInt32("UID");

                item.Durability = r.ReadUInt16("Durability");
                if (item.ID == 750000)
                {
                    item.MaximDurability = r.ReadUInt16("MaximDurability");
                    client.Entity.kilid = item.MaximDurability;
                    //item.Durability = item.MaximDurability;
                }
                else
                {
                    item.MaximDurability = r.ReadUInt16("MaximDurability");
                    item.Durability = item.MaximDurability;
                }
                item.Position = r.ReadUInt16("Position");
                item.SocketProgress = r.ReadUInt32("SocketProgress");
                item.PlusProgress = r.ReadUInt32("PlusProgress");
                item.SocketOne = (Game.Enums.Gem)r.ReadByte("SocketOne");
                item.SocketTwo = (Game.Enums.Gem)r.ReadByte("SocketTwo");
                item.Effect = (Game.Enums.ItemEffect)r.ReadByte("Effect");
                item.Mode = Game.Enums.ItemMode.Default;
                item.Plus = r.ReadByte("Plus");
                item.Bless = r.ReadByte("Bless");
                item.Bound = r.ReadBoolean("Bound");
                item.Enchant = r.ReadByte("Enchant");
                item.Lock = r.ReadByte("Locked");
                item.UnlockEnd = DateTime.FromBinary(r.ReadInt64("UnlockEnd"));
                item.Suspicious = r.ReadBoolean("Suspicious");
                item.SuspiciousStart = DateTime.FromBinary(r.ReadInt64("SuspiciousStart"));
                item.Color = (Game.Enums.Color)r.ReadByte("Color");
                item.Warehouse = r.ReadUInt16("Warehouse");

                item.Inscribed = (r.ReadByte("Inscribed") == 1 ? true : false);

                item.StackSize = r.ReadUInt16("StackSize");
                item.MaxStackSize = r.ReadUInt16("MaxStackSize");
                item.RefineItem = r.ReadUInt32("RefineryItem");
                if (item.ID == 730001)
                {
                    item.Plus = 1;
                }
                if (item.ID == 730002)
                {
                    item.Plus = 2;
                }
                if (item.ID == 730003)
                {
                    item.Plus = 3;
                }
                if (item.ID == 730004)
                {
                    item.Plus = 4;
                }
                if (item.ID == 730005)
                {
                    item.Plus = 5;
                }
                if (item.ID == 730006)
                {
                    item.Plus = 6;
                }
                if (item.ID == 730007)
                {
                    item.Plus = 7;
                }
                if (item.ID == 730008)
                {
                    item.Plus = 8;
                }
                if (item.ID == 730009)
                {
                    item.Plus = 9;
                }
                /*if (item.ID == 0x493e0)
                {
                    byte rr = 0;
                    byte g = 0;
                    byte b = 0;
                    rr = (byte)item.kimo1;
                    g = (byte)item.kimo2;
                    b = (byte)item.kimo3;
                    item.Color = (PhoenixProject.Game.Enums.Color)b;
                    item.Bless = g;
                    item.Unknown40 = rr;

                }*/
                ulong rTime = r.ReadUInt64("RefineryTime");

                if (item.RefineItem > 0 && rTime != 0)
                {
                    item.RefineryTime = ServerBase.Kernel.FromDateTimeInt(rTime);
                    if (DateTime.Now > item.RefineryTime)
                    {
                        item.RefineryTime = new DateTime(0);
                        item.RefineItem = 0;
                        Database.ConquerItemTable.UpdateRefineryItem(item);
                        Database.ConquerItemTable.UpdateRefineryTime(item);
                    }
                }

                if (item.Lock == 2)
                    if (DateTime.Now >= item.UnlockEnd)
                        item.Lock = 0;
                ItemAddingTable.GetAddingsForItem(item);
                if (item.Warehouse == 0)
                {
                    switch (item.Position)
                    {
                        case 0: client.Inventory.Add(item, Game.Enums.ItemUse.None); break;
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                        case 6:
                        case 7:
                        case 8:
                        case 9:
                        case 10:
                        case 11:
                        case 12:
                        case 15:
                        case 16:
                        case 17:
                        case 18:
                        case 21:
                        case 22:
                        case 23:
                        case 24:
                        case 25:
                        case 26:
                        case 27:
                        case 28:
                        case 29:
                            if (client.Equipment.Free((byte)item.Position))
                            {

                                client.Equipment.Add(item, Game.Enums.ItemUse.None);
                            }
                            else
                            {

                                if (client.Inventory.Count < 40)
                                {
                                    item.Position = 0;
                                    client.Inventory.Add(item, Game.Enums.ItemUse.None);
                                    if (client.Warehouses[PhoenixProject.Game.ConquerStructures.Warehouse.WarehouseID.StoneCity].Count < 60)
                                        client.Warehouses[PhoenixProject.Game.ConquerStructures.Warehouse.WarehouseID.StoneCity].Add(item);
                                    UpdatePosition(item);
                                }
                            }
                            break;
                    }
                }
                else
                {
                    client.Warehouses[(PhoenixProject.Game.ConquerStructures.Warehouse.WarehouseID)item.Warehouse].Add(item);
                }

                if (item.ID == 720828)
                {
                    string agate = r.ReadString("agate");
                    uint count = 0;
                    string[] maps = agate.Split('#');
                    foreach (string one in maps)
                    {
                        if (one.Length > 6)
                        {
                            item.Agate_map.Add(count, one);
                            count++;
                        }
                    }
                }
                 if (item.Inscribed)
                {
                    if (client.Guild == null)
                    {
                        item.Inscribed = false;
                        UpdateInscre1(item);
                    }

                }

            }
            //client.SpiltStack = true;
            r.Close();
            r.Dispose();
        }
 public static Interfaces.IConquerItem LoadItem(uint UID)
 {
     Interfaces.IConquerItem item = new Network.GamePackets.ConquerItem(true);
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
     cmd.Select("items").Where("UID", UID);
     MySqlReader r = new MySqlReader(cmd);
     if (r.Read())
     {
         item.ID = r.ReadUInt32("ID");
         item.UID = r.ReadUInt32("UID");
         item.Durability = r.ReadUInt16("Durability");
         item.MaximDurability = r.ReadUInt16("MaximDurability");
         item.Position = r.ReadUInt16("Position");
         item.SocketProgress = r.ReadUInt32("SocketProgress");
         item.PlusProgress = r.ReadUInt32("PlusProgress");
         item.SocketOne = (Game.Enums.Gem)r.ReadByte("SocketOne");
         item.SocketTwo = (Game.Enums.Gem)r.ReadByte("SocketTwo");
         item.Effect = (Game.Enums.ItemEffect)r.ReadByte("Effect");
         item.Mode = Game.Enums.ItemMode.Default;
         item.Plus = r.ReadByte("Plus");
         item.Bless = r.ReadByte("Bless");
         item.Bound = r.ReadBoolean("Bound");
         item.Enchant = r.ReadByte("Enchant");
         item.Lock = r.ReadByte("Locked");
         item.UnlockEnd = DateTime.FromBinary(r.ReadInt64("UnlockEnd"));
         item.Suspicious = r.ReadBoolean("Suspicious");
         item.SuspiciousStart = DateTime.FromBinary(r.ReadInt64("SuspiciousStart"));
         item.Color = (Game.Enums.Color)r.ReadByte("Color");
         item.Inscribed = (r.ReadByte("Inscribed") == 1 ? true : false);
         item.StackSize = r.ReadUInt16("StackSize");
         item.Warehouse = r.ReadUInt16("Warehouse");
         if (item.Lock == 2)
             if (DateTime.Now >= item.UnlockEnd)
                 item.Lock = 0;
         ItemAddingTable.GetAddingsForItem(item);
     }
     r.Close();
     r.Dispose();
     return item;
 }