/// <summary> /// Needs serious fixing in the reader, as it throws invalid casts (files all use uint, but f**k those) /// </summary> /// <param name="reader"></param> /// <returns></returns> public static ItemInfo Load(DataRow row) { var itemInfo = new ItemInfo { ItemID = GetDataTypes.GetUshort(row["id"]), Slot = (ItemSlot)GetDataTypes.GetByte(row["equip"]), InxName = (string)row["inxname"], MaxLot = GetDataTypes.GetInt(row["maxlot"]), AttackSpeed = GetDataTypes.GetUshort(row["atkspeed"]), Level = GetDataTypes.GetByte(row["demandlv"]), Type = (ItemType)GetDataTypes.GetByte(row["type"]), Class = (ItemClass)GetDataTypes.GetByte(row["class"]), UpgradeLimit = GetDataTypes.GetByte(row["uplimit"]), Jobs = UnpackWhoEquip(GetDataTypes.GetUint(row["whoequip"])), TwoHand = GetDataTypes.GetBool(row["TwoHand"]), MinMagic = GetDataTypes.GetUshort(row["minma"]), MaxMagic = GetDataTypes.GetUshort(row["maxma"]), MinMelee = GetDataTypes.GetUshort(row["minwc"]), MaxMelee = GetDataTypes.GetUshort(row["maxwc"]), WeaponDef = GetDataTypes.GetUshort(row["ac"]), MagicDef = GetDataTypes.GetUshort(row["mr"]), UpSucRation = GetDataTypes.GetUshort(row["UpSucRatio"]), UpResource = GetDataTypes.GetUshort(row["UpResource"]), SellPrice = GetDataTypes.GetUint(row["SellPrice"]), BuyPrice = GetDataTypes.GetUint(row["BuyPrice"]) }; itemInfo.Stats = new ItemStats(); return(itemInfo); }
public static RewardItem LoadFromDatabase(System.Data.DataRow row) { RewardItem ppItem = new RewardItem { Slot = GetDataTypes.GetSByte(row["Slot"]), ID = GetDataTypes.GetUshort(row["ItemID"]), CharID = GetDataTypes.GetInt(row["CharID"]), PageID = GetDataTypes.GetByte(row["PageID"]) }; return(ppItem); }
public static PremiumItem LoadFromDatabase(DataRow row) { var ppItem = new PremiumItem { UniqueID = GetDataTypes.GetInt(row["UniqueID"]), Slot = GetDataTypes.GetByte(row["PageID"]), ShopID = GetDataTypes.GetInt(row["ShopID"]), CharID = GetDataTypes.GetInt(row["CharID"]), PageID = GetDataTypes.GetByte(row["PageID"]) }; return(ppItem); }
public static MapInfo Load(DataRow row) { var info = new MapInfo { ID = GetDataTypes.GetUshort(row["ID"]), ShortName = (string)row["MapName"], FullName = (string)row["Name"], RegenX = GetDataTypes.GetInt(row["RegenX"]), RegenY = GetDataTypes.GetInt(row["RegenY"]), Kingdom = GetDataTypes.GetByte(row["KingdomMap"]), ViewRange = GetDataTypes.GetUshort(row["Sight"]) }; return(info); }
public static MasterMember LoadFromDatabase(DataRow row) { MasterMember Member = new MasterMember { pMemberName = row["MemberName"].ToString(), CharID = GetDataTypes.GetInt(row["CharID"]), Level = GetDataTypes.GetByte(row["Level"]), IsMaster = GetDataTypes.GetBool(row["isMaster"]), MasterID = GetDataTypes.GetInt(row["MasterID"]), RegisterDate = DateTime.ParseExact(row["RegisterDate"].ToString(), "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture), }; Member.pMember = ClientManager.Instance.GetClientByCharname(Member.pMemberName); Member.IsOnline = ClientManager.Instance.IsOnline(Member.pMemberName); return(Member); }
public static Mount LoadMount(DataRow Data) { var Mouninf = new Mount { MinLevel = GetDataTypes.GetByte(Data["Level"]), ItemID = GetDataTypes.GetUshort(Data["ItemID"]), TickSpeed = GetDataTypes.GetInt(Data["Tickspeed"]), Handle = GetDataTypes.GetUshort(Data["Handle"]), Food = GetDataTypes.GetUshort(Data["Food"]), speed = GetDataTypes.GetUshort(Data["Speed"]), CastTime = GetDataTypes.GetInt(Data["CastTime"]), Cooldown = GetDataTypes.GetUshort(Data["Cooldown"]), permanent = GetDataTypes.GetBool(Data["permanent"]) }; return(Mouninf); }
private void LoadMobBreeds() { MobBreeds = new List <MobBreedLocation>(); DataTable data = null; using (var dbClient = Program.DatabaseManager.GetClient()) { data = dbClient.ReadDataTable("SELECT *FROM `" + Settings.Instance.zoneMysqlDatabase + "`.`Mobspawn` WHERE MapID='" + MapInfo.ID + "'"); } if (data != null) { if (data.Rows.Count > 0) { foreach (DataRow row in data.Rows) { var locationInfo = new MobBreedLocation { MapID = GetDataTypes.GetUshort(row["MapID"]), MobID = GetDataTypes.GetUshort(row["MobID"]), //InstanceID = GetDataTypes.Getshort(row["InstanceID"]), //NOTE from db throws; InstanceID = 0, Position = new Vector2() }; locationInfo.Position.X = GetDataTypes.GetInt(row["PosX"]); locationInfo.Position.Y = GetDataTypes.GetInt(row["PosY"]); MobBreeds.Add(locationInfo); } } else { MobBreeds = new List <MobBreedLocation>(); } } }
public bool LoadCharacters() { if (!Authenticated) { return(false); } Characters = new Dictionary <byte, WorldCharacter>(); try { DataTable charData = null; using (DatabaseClient dbClient = Program.DatabaseManager.GetClient()) { charData = dbClient.ReadDataTable("SELECT * FROM Characters WHERE AccountID='" + this.AccountID + "'"); } if (charData != null) { foreach (DataRow row in charData.Rows) { Database.Storage.Character ch = new Database.Storage.Character(); ch.PositionInfo.ReadFromDatabase(row); ch.LookInfo.ReadFromDatabase(row); ch.CharacterStats.ReadFromDatabase(row); ch.Slot = (byte)row["Slot"]; ch.CharLevel = (byte)row["Level"]; ch.AccountID = this.AccountID; ch.Name = (string)row["Name"]; ch.ID = GetDataTypes.GetInt(row["CharID"]); ch.Job = (byte)row["Job"]; ch.Money = GetDataTypes.GetLong(row["Money"].ToString()); ch.Exp = long.Parse(row["Exp"].ToString()); ch.HP = int.Parse(row["CurHP"].ToString()); ch.HPStones = 10; ch.MasterJoin = DateTime.Parse(row["MasterJoin"].ToString()); ch.SP = int.Parse(row["CurSP"].ToString()); ch.SPStones = 10; ch.StatPoints = (byte)row["StatPoints"]; ch.UsablePoints = (byte)row["UsablePoints"]; ch.Fame = 0; // TODO ch.GameSettings = Database.DataStore.ReadMethods.GetGameSettings(ch.ID, Program.DatabaseManager); ch.ClientSettings = Database.DataStore.ReadMethods.GetClientSettings(ch.ID, Program.DatabaseManager); ch.Shortcuts = Database.DataStore.ReadMethods.GetShortcuts(ch.ID, Program.DatabaseManager); ch.QuickBar = Database.DataStore.ReadMethods.GetQuickBar(ch.ID, Program.DatabaseManager); ch.QuickBarState = Database.DataStore.ReadMethods.GetQuickBarState(ch.ID, Program.DatabaseManager); ch.ReviveCoper = GetDataTypes.GetLong(row["MasterReciveMoney"]); if (row.IsNull("GroupID")) { ch.GroupId = -1; } else { ch.GroupId = long.Parse(row["GroupID"].ToString()); } if (ch.GroupId == -1 || row.IsNull("IsGroupMaster")) { ch.IsGroupMaster = false; } else { ch.IsGroupMaster = ReadMethods.EnumToBool(row["IsGroupMaster"].ToString()); } Characters.Add(ch.Slot, new WorldCharacter(ch, this)); } } } catch (Exception ex) { Log.WriteLine(LogLevel.Exception, "Error loading characters from {0}: {1}", Username, ex.InnerException.ToString()); return(false); } return(true); }