示例#1
0
        private static void AddWeaponIntoRsp(GetEquipmentDataRsp rsp, int addNum)
        {
            List <WeaponMetaData> itemList = WeaponMetaDataReader.GetItemList();
            int num = 0;

            foreach (WeaponMetaData data in itemList)
            {
                num++;
                if (num > addNum)
                {
                    break;
                }
                Weapon item = new Weapon();
                item.set_unique_id(GenerateNewUid());
                item.set_id((uint)data.ID);
                item.set_level(1);
                item.set_exp(0);
                rsp.get_weapon_list().Add(item);
                num++;
            }
            List <AvatarMetaData> list2 = AvatarMetaDataReader.GetItemList();

            _weaponUidSet = new Dictionary <int, uint>();
            foreach (AvatarMetaData data2 in list2)
            {
                WeaponMetaData weaponMetaDataByKey = WeaponMetaDataReader.GetWeaponMetaDataByKey(data2.initialWeapon);
                Weapon         weapon2             = new Weapon();
                weapon2.set_unique_id(GenerateNewUid());
                weapon2.set_id((uint)weaponMetaDataByKey.ID);
                weapon2.set_level(1);
                weapon2.set_exp(0);
                rsp.get_weapon_list().Add(weapon2);
                _weaponUidSet[data2.avatarID] = weapon2.get_unique_id();
            }
        }
示例#2
0
 public WeaponDataItem(int uid, WeaponMetaData weaponMetaData)
 {
     base.uid        = uid;
     this._metaData  = weaponMetaData;
     base.ID         = this._metaData.ID;
     base.rarity     = this._metaData.rarity;
     base.level      = 1;
     this.durability = this._metaData.durabilityMax;
     base.exp        = 0;
     base.number     = 1;
     if (this._metaData != null)
     {
         this.skills = this.GetSkills();
     }
 }
示例#3
0
        private List <WeaponMetaData> GetAllWeaponData()
        {
            List <WeaponMetaData> itemList = WeaponMetaDataReader.GetItemList();
            List <WeaponMetaData> list2    = new List <WeaponMetaData>();
            int num   = 0;
            int count = itemList.Count;

            while (num < count)
            {
                WeaponMetaData item = itemList[num];
                if (!ItempediaData.IsInBlacklist(item.ID) && (item.subRarity == 0))
                {
                    list2.Add(item);
                }
                num++;
            }
            return(list2);
        }
示例#4
0
        private void ReturnMaterial(StorageDataItemBase input)
        {
            WeaponDataItem item    = input as WeaponDataItem;
            List <int>     evoPath = WeaponMetaDataReaderExtend.GetEvoPath(item.ID);
            int            num     = 0;

            foreach (int num2 in evoPath)
            {
                int accumulateExp = 0;
                if (num2 == item.ID)
                {
                    int expType = item.GetExpType();
                    int exp     = item.exp;
                    accumulateExp = EquipmentLevelMetaDataReaderExtend.GetAccumulateExp(item.level, expType) + exp;
                }
                else
                {
                    WeaponMetaData weaponMetaDataByKey = WeaponMetaDataReader.GetWeaponMetaDataByKey(num2);
                    int            type = weaponMetaDataByKey.expType;
                    accumulateExp = EquipmentLevelMetaDataReaderExtend.GetAccumulateExp(weaponMetaDataByKey.maxLv, type);
                }
                num += accumulateExp;
            }
            float num9  = Singleton <PlayerModule> .Instance.playerData.disjoin_equipment_back_exp_percent * 0.01f;
            int   num11 = (int)(num * num9);

            int[] numArray = new int[] { 0xbbc, 0xbbb, 0xbba, 0xbb9 };
            foreach (int num12 in numArray)
            {
                float gearExpProvideBase = ItemMetaDataReader.GetItemMetaDataByKey(num12).gearExpProvideBase;
                float num15 = MaterialExpBonusMetaDataReader.GetMaterialExpBonusMetaDataByKey(num12).weaponExpBonus * 0.01f;
                int   num16 = (int)(gearExpProvideBase * num15);
                int   num17 = num11 / num16;
                num11 = num11 % num16;
                if (num17 > 0)
                {
                    this.AddItem(num12, num17);
                }
            }
        }
示例#5
0
 public StorageDataItemBase GetDummyStorageItemData()
 {
     if (this._dummyStorageItemData == null)
     {
         if (this._itemData is WeaponMetaData)
         {
             WeaponMetaData weaponMetaData = (WeaponMetaData)this._itemData;
             this._dummyStorageItemData       = new WeaponDataItem(0, weaponMetaData);
             this._dummyStorageItemData.level = weaponMetaData.maxLv;
         }
         else if (this._itemData is StigmataMetaData)
         {
             StigmataMetaData stigmataMetaData = (StigmataMetaData)this._itemData;
             this._dummyStorageItemData       = new StigmataDataItem(0, stigmataMetaData);
             this._dummyStorageItemData.level = stigmataMetaData.maxLv;
             ((StigmataDataItem)this._dummyStorageItemData).SetAffixSkill(true, 0, 0);
         }
         else if (this._itemData is ItemMetaData)
         {
             this._dummyStorageItemData = new MaterialDataItem((ItemMetaData)this._itemData);
         }
     }
     return(this._dummyStorageItemData);
 }