Exemple #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();
            }
        }
 public static void LoadFromFileAndBuildMap()
 {
     WeaponMetaDataReader.LoadFromFile();
     _evoPreDict = new Dictionary <int, int>();
     _path       = new List <int>();
     foreach (WeaponMetaData data in WeaponMetaDataReader.GetItemList())
     {
         if (data.evoID > 0)
         {
             _evoPreDict[data.evoID] = data.ID;
         }
     }
 }
Exemple #3
0
        public override StorageDataItemBase GetEvoStorageItem()
        {
            WeaponDataItem item;

            if (this._metaData.evoID == 0)
            {
                return(null);
            }
            return(new WeaponDataItem(0, WeaponMetaDataReader.GetWeaponMetaDataByKey(this._metaData.evoID))
            {
                level = item.GetMaxLevel()
            });
        }
        public void SetLeaderAvatar(AvatarDetailData avatarDetailData)
        {
            this.leaderAvatar = new AvatarDataItem((int)avatarDetailData.get_avatar_id(), (int)avatarDetailData.get_avatar_level(), (int)avatarDetailData.get_avatar_star());
            WeaponDetailData data = avatarDetailData.get_weapon();

            if ((data != null) && (WeaponMetaDataReader.GetWeaponMetaDataByKey((int)data.get_id()) != null))
            {
                WeaponDataItem item = new WeaponDataItem(0, WeaponMetaDataReader.GetWeaponMetaDataByKey((int)data.get_id()))
                {
                    level = (int)data.get_level()
                };
                this.leaderAvatar.equipsMap[1] = item;
            }
            EquipmentSlot[]           slotArray = new EquipmentSlot[] { 2, 3, 4 };
            List <StigmataDetailData> list      = new List <StigmataDetailData> {
                avatarDetailData.get_stigmata_1(),
                                      avatarDetailData.get_stigmata_2(),
                                      avatarDetailData.get_stigmata_3()
            };

            for (int i = 0; i < list.Count; i++)
            {
                StigmataDetailData data2 = list[i];
                if ((data2 != null) && (StigmataMetaDataReader.GetStigmataMetaDataByKey((int)data2.get_id()) != null))
                {
                    StigmataDataItem item2 = new StigmataDataItem(0, StigmataMetaDataReader.GetStigmataMetaDataByKey((int)data2.get_id()))
                    {
                        level = (int)data2.get_level()
                    };
                    int num2 = !data2.get_pre_affix_idSpecified() ? 0 : ((int)data2.get_pre_affix_id());
                    int num3 = !data2.get_suf_affix_idSpecified() ? 0 : ((int)data2.get_suf_affix_id());
                    item2.SetAffixSkill(true, num2, num3);
                    this.leaderAvatar.equipsMap[slotArray[i]] = item2;
                }
            }
            foreach (AvatarSkillDetailData data3 in avatarDetailData.get_skill_list())
            {
                if (this.leaderAvatar.GetAvatarSkillBySkillID((int)data3.get_skill_id()) != null)
                {
                    AvatarSkillDataItem avatarSkillBySkillID = this.leaderAvatar.GetAvatarSkillBySkillID((int)data3.get_skill_id());
                    foreach (AvatarSubSkillDetailData data4 in data3.get_sub_skill_list())
                    {
                        if (avatarSkillBySkillID.GetAvatarSubSkillBySubSkillId((int)data4.get_sub_skill_id()) != null)
                        {
                            avatarSkillBySkillID.GetAvatarSubSkillBySubSkillId((int)data4.get_sub_skill_id()).level = (int)data4.get_level();
                        }
                    }
                }
            }
        }
Exemple #5
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);
        }
        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);
                }
            }
        }