示例#1
0
        /// <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);
        }
示例#2
0
        public static Equip LoadEquip(DataRow row)
        {
            var uniqueId = GetDataTypes.GetUlong(row["ID"]);
            var owner    = GetDataTypes.GetUint(row["Owner"]);
            var equipId  = GetDataTypes.GetUshort(row["EquipID"]);
            var slot     = GetDataTypes.GetSByte(row["Slot"]);
            var upgrade  = GetDataTypes.GetByte(row["Upgrades"]);

            var strByte = GetDataTypes.GetUshort(row["iSTR"]);
            var endByte = GetDataTypes.GetUshort(row["iEND"]);
            var dexByte = GetDataTypes.GetUshort(row["iDEX"]);
            var sprByte = GetDataTypes.GetUshort(row["iSPR"]);
            var intByte = GetDataTypes.GetUshort(row["iINT"]);
            var equip   = new Equip(owner, equipId, slot)
            {
                UniqueId = uniqueId,
                Upgrades = upgrade,
                Str      = strByte,
                End      = endByte,
                Dex      = dexByte,
                Spr      = sprByte,
                Int      = intByte
            };

            return(equip);
        }
示例#3
0
        public static ActiveSkillInfo Load(DataRow row)
        {
            ActiveSkillInfo inf = new ActiveSkillInfo
            {
                ID         = GetDataTypes.GetUshort(row["ID"]),
                Name       = (string)row["InxName"],
                Step       = GetDataTypes.GetByte(row["Step"]),
                Required   = (string)row["DemandSk"],
                SP         = GetDataTypes.GetUshort(row["SP"]),
                HP         = GetDataTypes.GetUshort(row["HP"]),
                Range      = GetDataTypes.GetUshort(row["Range"]),
                CoolTime   = GetDataTypes.GetUint(row["DlyTime"]),
                CastTime   = GetDataTypes.GetUint(row["CastTime"]),
                DemandType = GetDataTypes.GetByte(row["DemandType"]),
                MaxTargets = GetDataTypes.GetByte(row["TargetNumber"]),
            };

            uint maxdamage = GetDataTypes.GetUint(row["MaxWC"]);

            if (maxdamage == 0)
            {
                inf.IsMagic   = true;
                inf.MinDamage = GetDataTypes.GetUshort(row["MinMA"]);
                inf.MaxDamage = GetDataTypes.GetUshort(row["MaxMA"]);
            }
            else
            {
                inf.MaxDamage = maxdamage;
                inf.MinDamage = GetDataTypes.GetUint(row["MinWC"]);
            }
            return(inf);
        }
示例#4
0
        public static Equip LoadEquip(DataRow row)
        {
            ulong  uniqueID = GetDataTypes.GetUlong(row["ID"]);
            uint   owner    = GetDataTypes.GetUint(row["Owner"]);
            ushort equipID  = GetDataTypes.GetUshort(row["EquipID"]);
            sbyte  slot     = GetDataTypes.GetSByte(row["Slot"]);
            byte   upgrade  = GetDataTypes.GetByte(row["Upgrades"]);

            ushort strByte = GetDataTypes.GetUshort(row["iSTR"]);
            ushort endByte = GetDataTypes.GetUshort(row["iEND"]);
            ushort dexByte = GetDataTypes.GetUshort(row["iDEX"]);
            ushort sprByte = GetDataTypes.GetUshort(row["iSPR"]);
            ushort intByte = GetDataTypes.GetUshort(row["iINT"]);
            Equip  equip   = new Equip(owner, equipID, slot)
            {
                UniqueID = uniqueID,
                Upgrades = upgrade,
                Str      = strByte,
                End      = endByte,
                Dex      = dexByte,
                Spr      = sprByte,
                Int      = intByte
            };

            return(equip);
        }
示例#5
0
        public static MobInfoServer Load(DataRow row)
        {
            var info = new MobInfoServer
            {
                ID              = GetDataTypes.GetUint(row["ID"]),
                InxName         = (string)row["InxName"],
                Visible         = GetDataTypes.GetByte(row["Visible"]),
                AC              = GetDataTypes.GetUshort(row["AC"]),
                TB              = GetDataTypes.GetUshort(row["TB"]),
                MR              = GetDataTypes.GetUshort(row["MR"]),
                MB              = GetDataTypes.GetUshort(row["MB"]),
                EnemyDetectType = GetDataTypes.GetUint(row["EnemyDetectType"]),
                MobKillInx      = GetDataTypes.GetUint(row["MobKillInx"]),
                MonExp          = GetDataTypes.GetUint(row["MonEXP"]),
                ExpRange        = GetDataTypes.GetUshort(row["EXPRange"]),
                DetectCha       = GetDataTypes.GetUshort(row["DetectCha"]),
                ResetInterval   = GetDataTypes.GetByte(row["ResetInterval"]),
                CutInterval     = GetDataTypes.GetUshort(row["CutInterval"]),
                CutNonAT        = GetDataTypes.GetUint(row["CutNonAT"]),
                FollowCha       = GetDataTypes.GetUint(row["FollowCha"]),
                PceHPRcvDly     = GetDataTypes.GetUshort(row["PceHPRcvDly"]),
                PceHPRcv        = GetDataTypes.GetUshort(row["PceHPRcv"]),
                AtkHPRcvDly     = GetDataTypes.GetUshort(row["AtkHPRcvDly"]),
                AtkHPRcv        = GetDataTypes.GetUshort(row["AtkHPRcv"]),
                Str             = GetDataTypes.GetUshort(row["Str"]),
                Dex             = GetDataTypes.GetUshort(row["Dex"]),
                Con             = GetDataTypes.GetUshort(row["Con"]),
                Int             = GetDataTypes.GetUshort(row["Int"]),
                Men             = GetDataTypes.GetUshort(row["Men"]),
                MobRaceType     = GetDataTypes.GetUint(row["MobRaceType"]),
                Rank            = GetDataTypes.GetByte(row["Rank"]),
                FamilyArea      = GetDataTypes.GetUint(row["FamilyArea"]),
                FamilyRescArea  = GetDataTypes.GetUint(row["FamilyRescArea"]),
                FamilyRescCount = GetDataTypes.GetByte(row["FamilyRescCount"]),
                BloodingResi    = GetDataTypes.GetUshort(row["BloodingResi"]),
                StunResi        = GetDataTypes.GetUshort(row["StunResi"]),
                MoveSpeedResi   = GetDataTypes.GetUshort(row["MoveSpeedResi"]),
                FearResi        = GetDataTypes.GetUshort(row["FearResi"]),
                ResIndex        = (string)row["ResIndex"],
                KQKillPoint     = GetDataTypes.GetUshort(row["KQKillPoint"]),
                Return2Regen    = GetDataTypes.GetByte(row["Return2Regen"]),
                IsRoaming       = GetDataTypes.GetByte(row["IsRoaming"]),
                RoamingNumber   = GetDataTypes.GetByte(row["RoamingNumber"]),
                RoamingDistance = GetDataTypes.GetUshort(row["RoamingDistance"]),
                MaxSP           = GetDataTypes.GetUshort(row["MaxSP"]),
                BroadAtDead     = GetDataTypes.GetByte(row["BroadAtDead"]),
                TurnSpeed       = GetDataTypes.GetUshort(row["TurnSpeed"]),
                WalkChase       = GetDataTypes.GetUshort(row["WalkChase"]),
                AllCanLoot      = GetDataTypes.GetByte(row["AllCanLoot"]),
                DmgByHealMin    = GetDataTypes.GetUshort(row["DmgByHealMin"]),
                DmgByHealMax    = GetDataTypes.GetUshort(row["DmgByHealMax"])
            };

            return(info);
        }
示例#6
0
        public static Item LoadItem(DataRow Row)
        {
            ulong  id      = GetDataTypes.GetUlong(Row["ID"]);
            uint   owner   = GetDataTypes.GetUint(Row["Owner"]);
            sbyte  slot    = GetDataTypes.GetSByte(Row["Slot"]);
            ushort equipID = GetDataTypes.GetUshort(Row["ItemID"]);

            ushort amount = GetDataTypes.GetUshort(Row["Amount"]);
            Item   item   = new Item(id, owner, equipID, slot, amount)
            {
                Slot       = slot,
                IsEquipped = GetDataTypes.GetBool(Row["Equipt"]),
            };

            return(item);
        }
示例#7
0
        public static Item LoadItem(DataRow Row)
        {
            var id      = GetDataTypes.GetUlong(Row["ID"]);
            var owner   = GetDataTypes.GetUint(Row["Owner"]);
            var slot    = GetDataTypes.GetSByte(Row["Slot"]);
            var equipID = GetDataTypes.GetUshort(Row["ItemID"]);

            var amount = GetDataTypes.GetUshort(Row["Amount"]);
            var item   = new Item(id, owner, equipID, slot, amount)
            {
                Slot       = slot,
                IsEquipped = GetDataTypes.GetBool(Row["Equipt"])
            };

            return(item);
        }
示例#8
0
        public static MobInfo Load(DataRow row)
        {
            var inf = new MobInfo
            {
                Name     = (string)row["InxName"],
                ID       = GetDataTypes.GetUshort(row["ID"]),
                Level    = GetDataTypes.GetByte(row["Level"]),
                MaxHP    = GetDataTypes.GetUint(row["MaxHP"]),
                RunSpeed = GetDataTypes.GetUshort(row["RunSpeed"]),
                IsNpc    = GetDataTypes.GetBool(row["IsNPC"]),
                Size     = GetDataTypes.GetUshort(row["Size"]),
                Type     = GetDataTypes.GetByte(row["Type"]),
                IsAggro  = GetDataTypes.GetBool(row["IsPlayerSide"]),
                Drops    = new List <DropInfo>()
            };

            return(inf);
        }