public static void LoadClaimableItems(Client.GameState client) { MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("claimitems").Where("GainerUID", client.Entity.UID); MySqlReader r = new MySqlReader(cmd); while (r.Read()) { DetainedItem item = new DetainedItem(true); item.ItemUID = r.ReadUInt32("ItemUID"); item.UID = item.ItemUID; item.Page = (byte)DetainedItem.ClaimPage; item.Item = ConquerItemTable.LoadItem(item.ItemUID); item.ConquerPointsCost = r.ReadUInt32("ConquerPointsCost"); item.OwnerUID = r.ReadUInt32("OwnerUID"); item.GainerName = r.ReadString("GainerName"); item.GainerUID = r.ReadUInt32("GainerUID"); item.OwnerName = r.ReadString("OwnerName"); item.Date = DateTime.FromBinary(r.ReadInt64("Date")); item.DaysLeft = (uint)(TimeSpan.FromTicks(DateTime.Now.Ticks).Days - TimeSpan.FromTicks(item.Date.Ticks).Days); if (item.OwnerUID == 500) { item.MakeItReadyToClaim(); item.GainerUID = r.ReadUInt32("GainerUID"); item.OwnerUID = r.ReadUInt32("OwnerUID"); } client.ClaimableItem.Add(item.UID, item); } r.Close(); r.Dispose(); /*ClaimItemCollection items = new ClaimItemCollection(); items.LoadAndCloseReader(ClaimItem.FetchByParameter("GainerUID", client.Entity.UID)); for (int x = 0; x < items.Count; x++) { DetainedItem item = new DetainedItem(true); item.ItemUID = items[x].ItemUID; item.UID = item.ItemUID - 1; item.Page = (byte)DetainedItem.ClaimPage; item.Item = ConquerItemTable.LoadItem(item.ItemUID); item.ConquerPointsCost = items[x].ConquerPointsCost; item.OwnerUID = items[x].OwnerUID; item.GainerName = items[x].GainerName; item.GainerUID = items[x].GainerUID; item.OwnerName = items[x].OwnerName; item.Date = DateTime.FromBinary((long)items[x].DateX); item.DaysLeft = (uint)(TimeSpan.FromTicks(DateTime.Now.Ticks).Days - TimeSpan.FromTicks(item.Date.Ticks).Days); if (item.OwnerUID == 500) { item.MakeItReadyToClaim(); item.GainerUID = items[x].GainerUID; item.OwnerUID = items[x].OwnerUID; } client.ClaimableItem.Add(item.UID, item); }*/ }
public static void Load() { MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("arena"); MySqlReader reader = new MySqlReader(cmd); while (reader.Read()) { Network.GamePackets.ArenaStatistic stat = new Network.GamePackets.ArenaStatistic(true); stat.EntityID = reader.ReadUInt32("EntityID"); stat.Name = reader.ReadString("EntityName"); stat.LastSeasonRank = reader.ReadUInt32("LastSeasonRank"); stat.LastSeasonArenaPoints = reader.ReadUInt32("LastSeasonArenaPoints"); stat.ArenaPoints = reader.ReadUInt32("ArenaPoints"); stat.TodayWin = reader.ReadByte("TodayWin"); stat.TodayBattles = reader.ReadByte("TodayBattles"); // doesn't exist in the DB, removed it stat.LastSeasonWin = reader.ReadUInt32("LastSeasonWin"); stat.LastSeasonLose = reader.ReadUInt32("LastSeasonLose"); stat.TotalWin = reader.ReadUInt32("TotalWin"); stat.TotalLose = reader.ReadUInt32("TotalLose"); stat.HistoryHonor = reader.ReadUInt32("HistoryHonor"); stat.CurrentHonor = reader.ReadUInt32("CurrentHonor"); stat.Level = reader.ReadByte("Level"); stat.Class = reader.ReadByte("Class"); stat.Model = reader.ReadUInt32("Model"); stat.LastArenaPointFill = DateTime.FromBinary(reader.ReadInt64("ArenaPointFill")); if (DateTime.Now.DayOfYear != stat.LastArenaPointFill.DayOfYear) { stat.LastSeasonArenaPoints = stat.ArenaPoints; stat.LastSeasonWin = stat.TodayWin; stat.LastSeasonLose = stat.TodayBattles - stat.TodayWin; stat.ArenaPoints = ArenaPointFill(stat.Level); stat.LastArenaPointFill = DateTime.Now; stat.TodayWin = 0; stat.TodayBattles = 0; } Game.ConquerStructures.Arena.ArenaStatistics.Add(stat.EntityID, stat); } reader.Close(); reader.Dispose(); Game.ConquerStructures.Arena.Sort(); Game.ConquerStructures.Arena.YesterdaySort(); Console.WriteLine("Arena information loaded."); }
public AccountTable(string username) { this.Username = username; this.Password = ""; this.IP = ""; this.LastCheck = DateTime.Now; this.State = AccountState.DoesntExist; this.EntityID = 0; MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("accounts").Where("Username", username); MySqlReader r = new MySqlReader(cmd); if (r.Read()) { exists = true; this.Password = r.ReadString("Password"); this.IP = r.ReadString("IP"); this.EntityID = r.ReadUInt32("EntityID"); this.LastCheck = DateTime.FromBinary(r.ReadInt64("LastCheck")); this.State = (AccountState)r.ReadByte("State"); this.Email = r.ReadString("Email"); } r.Close(); r.Dispose(); }
public static void LoadDetainedItems(Client.GameState client) { MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("detaineditems").Where("OwnerUID", client.Entity.UID); MySqlReader r = new MySqlReader(cmd); while (r.Read()) { DetainedItem item = new DetainedItem(true); item.ItemUID = r.ReadUInt32("ItemUID"); item.UID = item.ItemUID ; // Console.WriteLine("S " + item.UID + ""); item.Item = ConquerItemTable.LoadItem(item.ItemUID); item.ConquerPointsCost = r.ReadUInt32("ConquerPointsCost"); item.OwnerUID = r.ReadUInt32("OwnerUID"); item.OwnerName = r.ReadString("OwnerName"); item.GainerUID = r.ReadUInt32("GainerUID"); item.GainerName = r.ReadString("GainerName"); item.Date = DateTime.FromBinary(r.ReadInt64("Date")); item.DaysLeft = (uint)(TimeSpan.FromTicks(DateTime.Now.Ticks).Days - TimeSpan.FromTicks(item.Date.Ticks).Days); if (DateTime.Now < item.Date.AddDays(7)) client.DeatinedItem.Add(item.UID, item); else if (item.Bound) Claim(item.UID, client); } r.Close(); /* DetaineditemCollection items = new DetaineditemCollection(); items.LoadAndCloseReader(Detaineditem.FetchByParameter("OwnerUID", client.Entity.UID)); for (int x = 0; x < items.Count; x++) { DetainedItem item = new DetainedItem(true); item.ItemUID = items[x].ItemUID; item.UID = item.ItemUID - 1; item.Item = ConquerItemTable.LoadItem(item.ItemUID); item.ConquerPointsCost = items[x].ConquerPointsCost; item.OwnerUID = items[x].OwnerUID; item.GainerName = items[x].OwnerName; item.GainerUID = items[x].GainerUID; item.OwnerName = items[x].GainerName; item.Date = DateTime.FromBinary((long)items[x].DateX); item.DaysLeft = (uint)(TimeSpan.FromTicks(DateTime.Now.Ticks).Days - TimeSpan.FromTicks(item.Date.Ticks).Days); if (DateTime.Now < item.Date.AddDays(7)) client.DeatinedItem.Add(item.UID, item); else if (item.Bound) Claim(item, client); }*/ }
public static void LoadPartner(Client.GameState client) { client.Partners = new SafeDictionary<uint, TradePartner>(40); MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("partners").Where("EntityID", client.Entity.UID); MySqlReader reader = new MySqlReader(cmd); reader = new MySqlReader(cmd); while (reader.Read()) { Game.ConquerStructures.Society.TradePartner partner = new Game.ConquerStructures.Society.TradePartner(); partner.ID = reader.ReadUInt32("PartnerID"); partner.Name = reader.ReadString("PartnerName"); partner.ProbationStartedOn = DateTime.FromBinary(reader.ReadInt64("ProbationStartedOn")); client.Partners.Add(partner.ID, partner); } reader.Close(); reader.Dispose(); }
public static void GetAddingsForItem(Interfaces.IConquerItem item) { if (item != null) { MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("itemadding").Where("UID", item.UID); MySqlReader r = new MySqlReader(cmd); while (r.Read()) { uint type = r.ReadUInt32("addingtype"); if (type == 0) { ItemAdding.Purification_ purification = new ItemAdding.Purification_(); purification.ItemUID = item.UID; purification.Available = true; purification.PurificationItemID = r.ReadUInt32("addingid"); purification.PurificationDuration = r.ReadUInt32("duration"); purification.PurificationLevel = r.ReadUInt32("addinglevel"); purification.AddedOn = DateTime.FromBinary(r.ReadInt64("addedon")); if (purification.PurificationDuration != 0) { TimeSpan span1 = new TimeSpan(purification.AddedOn.AddSeconds(purification.PurificationDuration).Ticks); TimeSpan span2 = new TimeSpan(DateTime.Now.Ticks); int secondsleft = (int)(span1.TotalSeconds - span2.TotalSeconds); if (secondsleft <= 0) { purification.Available = false; RemoveAdding(item.UID, purification.PurificationItemID); continue; } } item.Purification = purification; } else { ItemAdding.Refinery_ extraeffect = new ItemAdding.Refinery_(); extraeffect.ItemUID = item.UID; extraeffect.Available = true; extraeffect.EffectID = item.RefineItem; extraeffect.EffectLevel = r.ReadUInt32("addinglevel"); extraeffect.EffectPercent = r.ReadUInt32("addingpercent"); extraeffect.EffectDuration = r.ReadUInt32("duration"); extraeffect.AddedOn = DateTime.FromBinary(r.ReadInt64("addedon")); item.ExtraEffect = extraeffect; if (extraeffect.EffectDuration != 0) { TimeSpan span1 = new TimeSpan(extraeffect.AddedOn.AddSeconds(extraeffect.EffectDuration).Ticks); TimeSpan span2 = new TimeSpan(DateTime.Now.Ticks); int secondsleft = (int)(span1.TotalSeconds - span2.TotalSeconds); if (secondsleft <= 0) { extraeffect.Available = false; RemoveAdding(item.UID, extraeffect.EffectID); continue; } } item.ExtraEffect = extraeffect; } } r.Close(); r.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; }