Beispiel #1
0
 public static void InitWorldQuestRewards(MobileWorldQuest worldQuest, GameObject prefab, Transform parent)
 {
     if (worldQuest.Item != null)
     {
         MobileWorldQuestReward[] item = worldQuest.Item;
         for (int i = 0; i < item.Length; i++)
         {
             MobileWorldQuestReward mobileWorldQuestReward = item[i];
             GameObject             gameObject             = Object.Instantiate <GameObject>(prefab);
             gameObject.get_transform().SetParent(parent, false);
             MissionRewardDisplay component = gameObject.GetComponent <MissionRewardDisplay>();
             component.InitReward(MissionRewardDisplay.RewardType.item, mobileWorldQuestReward.RecordID, mobileWorldQuestReward.Quantity, mobileWorldQuestReward.ItemContext, mobileWorldQuestReward.FileDataID);
         }
     }
     if (worldQuest.Money > 0)
     {
         GameObject gameObject2 = Object.Instantiate <GameObject>(prefab);
         gameObject2.get_transform().SetParent(parent, false);
         MissionRewardDisplay component2 = gameObject2.GetComponent <MissionRewardDisplay>();
         component2.InitReward(MissionRewardDisplay.RewardType.gold, 0, worldQuest.Money / 10000, 0, 0);
     }
     if (worldQuest.Experience > 0)
     {
         GameObject gameObject3 = Object.Instantiate <GameObject>(prefab);
         gameObject3.get_transform().SetParent(parent, false);
         MissionRewardDisplay component3 = gameObject3.GetComponent <MissionRewardDisplay>();
         component3.InitReward(MissionRewardDisplay.RewardType.followerXP, 0, worldQuest.Experience, 0, 0);
     }
     MobileWorldQuestReward[] currency = worldQuest.Currency;
     for (int j = 0; j < currency.Length; j++)
     {
         MobileWorldQuestReward mobileWorldQuestReward2 = currency[j];
         GameObject             gameObject4             = Object.Instantiate <GameObject>(prefab);
         gameObject4.get_transform().SetParent(parent, false);
         MissionRewardDisplay component4 = gameObject4.GetComponent <MissionRewardDisplay>();
         CurrencyTypesRec     record     = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID);
         if (record != null)
         {
             int rewardQuantity = mobileWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100);
             component4.InitReward(MissionRewardDisplay.RewardType.currency, mobileWorldQuestReward2.RecordID, rewardQuantity, 0, 0);
         }
         else
         {
             Debug.LogWarning(string.Concat(new object[]
             {
                 "WORLD QUEST ",
                 worldQuest.QuestID,
                 " has bogus currency reward (id ",
                 mobileWorldQuestReward2.RecordID,
                 ")"
             }));
         }
     }
 }
 private void InitRewardInfoDisplay(MobileWorldQuest worldQuest)
 {
     if (worldQuest.Item != null && Enumerable.Count <MobileWorldQuestReward>(worldQuest.Item) > 0)
     {
         MobileWorldQuestReward[] item = worldQuest.Item;
         int num = 0;
         if (num < item.Length)
         {
             MobileWorldQuestReward mobileWorldQuestReward = item[num];
             Sprite rewardSprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID);
             this.m_rewardInfo.SetReward(MissionRewardDisplay.RewardType.item, mobileWorldQuestReward.RecordID, mobileWorldQuestReward.Quantity, rewardSprite, mobileWorldQuestReward.ItemContext);
         }
     }
     else if (worldQuest.Money > 0)
     {
         Sprite iconSprite = Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01");
         this.m_rewardInfo.SetGold(worldQuest.Money / 10000, iconSprite);
     }
     else if (worldQuest.Experience > 0)
     {
         Sprite localizedFollowerXpIcon = GeneralHelpers.GetLocalizedFollowerXpIcon();
         this.m_rewardInfo.SetFollowerXP(worldQuest.Experience, localizedFollowerXpIcon);
     }
     else
     {
         MobileWorldQuestReward[] currency = worldQuest.Currency;
         int num2 = 0;
         if (num2 < currency.Length)
         {
             MobileWorldQuestReward mobileWorldQuestReward2 = currency[num2];
             Sprite           iconSprite2 = GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID);
             CurrencyTypesRec record      = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID);
             int quantity = mobileWorldQuestReward2.Quantity / (((record.Flags & 8u) == 0u) ? 1 : 100);
             this.m_rewardInfo.SetCurrency(mobileWorldQuestReward2.RecordID, quantity, iconSprite2);
         }
     }
 }
Beispiel #3
0
    public void UpdateWorldQuests()
    {
        AdventureMapWorldQuest[] componentsInChildren = this.m_missionAndWordQuestArea.GetComponentsInChildren <AdventureMapWorldQuest>(true);
        AdventureMapWorldQuest[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            AdventureMapWorldQuest adventureMapWorldQuest = array[i];
            Object.DestroyImmediate(adventureMapWorldQuest.get_gameObject());
        }
        IEnumerator enumerator = WorldQuestData.worldQuestDictionary.get_Values().GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)enumerator.get_Current();
                if (!this.IsFilterEnabled(MapFilterType.All))
                {
                    bool matchesFilter = false;
                    if (this.IsFilterEnabled(MapFilterType.ArtifactPower))
                    {
                        MobileWorldQuestReward[] item = mobileWorldQuest.Item;
                        for (int j = 0; j < item.Length; j++)
                        {
                            MobileWorldQuestReward mobileWorldQuestReward = item[j];
                            StaticDB.itemEffectDB.EnumRecordsByParentID(mobileWorldQuestReward.RecordID, delegate(ItemEffectRec itemEffectRec)
                            {
                                StaticDB.spellEffectDB.EnumRecordsByParentID(itemEffectRec.SpellID, delegate(SpellEffectRec spellEffectRec)
                                {
                                    if (spellEffectRec.Effect == 240)
                                    {
                                        matchesFilter = true;
                                        return(false);
                                    }
                                    return(true);
                                });
                                return(!matchesFilter);
                            });
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.OrderResources))
                    {
                        MobileWorldQuestReward[] currency = mobileWorldQuest.Currency;
                        for (int k = 0; k < currency.Length; k++)
                        {
                            MobileWorldQuestReward mobileWorldQuestReward2 = currency[k];
                            if (mobileWorldQuestReward2.RecordID == 1220)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Gold) && mobileWorldQuest.Money > 0)
                    {
                        matchesFilter = true;
                    }
                    if (this.IsFilterEnabled(MapFilterType.Gear))
                    {
                        MobileWorldQuestReward[] item2 = mobileWorldQuest.Item;
                        for (int l = 0; l < item2.Length; l++)
                        {
                            MobileWorldQuestReward mobileWorldQuestReward3 = item2[l];
                            ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward3.RecordID);
                            if (record != null && (record.ClassID == 2 || record.ClassID == 3 || record.ClassID == 4 || record.ClassID == 6))
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.ProfessionMats))
                    {
                        MobileWorldQuestReward[] item3 = mobileWorldQuest.Item;
                        for (int m = 0; m < item3.Length; m++)
                        {
                            MobileWorldQuestReward mobileWorldQuestReward4 = item3[m];
                            ItemRec record2 = StaticDB.itemDB.GetRecord(mobileWorldQuestReward4.RecordID);
                            if (record2 != null && record2.ClassID == 7)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.PetCharms))
                    {
                        MobileWorldQuestReward[] item4 = mobileWorldQuest.Item;
                        for (int n = 0; n < item4.Length; n++)
                        {
                            MobileWorldQuestReward mobileWorldQuestReward5 = item4[n];
                            if (mobileWorldQuestReward5.RecordID == 116415)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_HighmountainTribes) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num = 0; num < mobileBountiesByWorldQuest.BountyQuestID.Length; num++)
                        {
                            if (mobileBountiesByWorldQuest.BountyQuestID[num] == 42233)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_CourtOfFarondis) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest2 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num2 = 0; num2 < mobileBountiesByWorldQuest2.BountyQuestID.Length; num2++)
                        {
                            if (mobileBountiesByWorldQuest2.BountyQuestID[num2] == 42420)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Dreamweavers) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest3 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num3 = 0; num3 < mobileBountiesByWorldQuest3.BountyQuestID.Length; num3++)
                        {
                            if (mobileBountiesByWorldQuest3.BountyQuestID[num3] == 42170)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Wardens) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest4 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num4 = 0; num4 < mobileBountiesByWorldQuest4.BountyQuestID.Length; num4++)
                        {
                            if (mobileBountiesByWorldQuest4.BountyQuestID[num4] == 42422)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Nightfallen) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest5 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num5 = 0; num5 < mobileBountiesByWorldQuest5.BountyQuestID.Length; num5++)
                        {
                            if (mobileBountiesByWorldQuest5.BountyQuestID[num5] == 42421)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_Valarjar) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest6 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num6 = 0; num6 < mobileBountiesByWorldQuest6.BountyQuestID.Length; num6++)
                        {
                            if (mobileBountiesByWorldQuest6.BountyQuestID[num6] == 42234)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (this.IsFilterEnabled(MapFilterType.Bounty_KirinTor) && PersistentBountyData.bountiesByWorldQuestDictionary.ContainsKey(mobileWorldQuest.QuestID))
                    {
                        MobileBountiesByWorldQuest mobileBountiesByWorldQuest7 = (MobileBountiesByWorldQuest)PersistentBountyData.bountiesByWorldQuestDictionary.get_Item(mobileWorldQuest.QuestID);
                        for (int num7 = 0; num7 < mobileBountiesByWorldQuest7.BountyQuestID.Length; num7++)
                        {
                            if (mobileBountiesByWorldQuest7.BountyQuestID[num7] == 43179)
                            {
                                matchesFilter = true;
                                break;
                            }
                        }
                    }
                    if (!matchesFilter)
                    {
                        continue;
                    }
                }
                GameObject gameObject = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapWorldQuestPrefab);
                gameObject.get_transform().SetParent(this.m_missionAndWordQuestArea.get_transform(), false);
                float num8  = 0.10271506f;
                float num9  = (float)mobileWorldQuest.StartLocationY * -num8;
                float num10 = (float)mobileWorldQuest.StartLocationX * num8;
                float num11 = 1036.88037f;
                float num12 = 597.2115f;
                num9  += num11;
                num10 += num12;
                float         width     = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_width();
                float         height    = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_height();
                Vector2       vector    = new Vector3(num9 / width, num10 / height);
                RectTransform component = gameObject.GetComponent <RectTransform>();
                component.set_anchorMin(vector);
                component.set_anchorMax(vector);
                component.set_anchoredPosition(Vector2.get_zero());
                AdventureMapWorldQuest component2 = gameObject.GetComponent <AdventureMapWorldQuest>();
                component2.SetQuestID(mobileWorldQuest.QuestID);
                StackableMapIcon component3 = gameObject.GetComponent <StackableMapIcon>();
                if (component3 != null)
                {
                    component3.RegisterWithManager();
                }
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable != null)
            {
                disposable.Dispose();
            }
        }
    }
Beispiel #4
0
    public void SetQuestID(int questID)
    {
        this.m_questID = questID;
        base.get_gameObject().set_name("WorldQuest " + this.m_questID);
        MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary.get_Item(this.m_questID);

        if (mobileWorldQuest == null || mobileWorldQuest.Item == null)
        {
            return;
        }
        MobileWorldQuestReward[] item = mobileWorldQuest.Item;
        for (int i = 0; i < item.Length; i++)
        {
            MobileWorldQuestReward mobileWorldQuestReward = item[i];
            ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward.RecordID);
            if (record == null)
            {
                Debug.LogWarning(string.Concat(new object[]
                {
                    "Invalid Item ID ",
                    mobileWorldQuestReward.RecordID,
                    " from Quest ID ",
                    this.m_questID,
                    ". Ignoring for loot quality check."
                }));
            }
            else
            {
                if (record.OverallQualityID > (int)this.m_lootQuality)
                {
                    this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID;
                }
                if (this.m_showLootIconInsteadOfMain)
                {
                    this.m_main.set_sprite(GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID));
                }
            }
        }
        if (this.m_showLootIconInsteadOfMain)
        {
            if (mobileWorldQuest.Money > 0)
            {
                this.m_main.set_sprite(Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"));
            }
            if (mobileWorldQuest.Experience > 0)
            {
                this.m_main.set_sprite(GeneralHelpers.GetLocalizedFollowerXpIcon());
            }
            MobileWorldQuestReward[] currency = mobileWorldQuest.Currency;
            for (int j = 0; j < currency.Length; j++)
            {
                MobileWorldQuestReward mobileWorldQuestReward2 = currency[j];
                CurrencyTypesRec       record2 = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID);
                if (record2 != null)
                {
                    this.m_main.set_sprite(GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID));
                }
            }
        }
        this.m_endTime = (long)mobileWorldQuest.EndTime;
        int             areaID  = 0;
        WorldMapAreaRec record3 = StaticDB.worldMapAreaDB.GetRecord(mobileWorldQuest.WorldMapAreaID);

        if (record3 != null)
        {
            areaID = record3.AreaID;
        }
        this.m_areaID = areaID;
        QuestInfoRec record4 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID);

        if (record4 == null)
        {
            return;
        }
        bool active = (record4.Modifiers & 2) != 0;

        this.m_dragonFrame.get_gameObject().SetActive(active);
        bool flag = (record4.Modifiers & 1) != 0;

        if (flag && record4.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"));
        }
        bool flag2 = (record4.Modifiers & 4) != 0;

        if (flag2 && record4.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"));
        }
        int    uITextureAtlasMemberID;
        string text;

        switch (record4.Type)
        {
        case 1:
        {
            int profession = record4.Profession;
            switch (profession)
            {
            case 182:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                text = "Mobile-Herbalism";
                goto IL_50E;

            case 183:
            case 184:
IL_2F9:
                if (profession == 164)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                    text = "Mobile-Blacksmithing";
                    goto IL_50E;
                }
                if (profession == 165)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                    text = "Mobile-Leatherworking";
                    goto IL_50E;
                }
                if (profession == 129)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                    text = "Mobile-FirstAid";
                    goto IL_50E;
                }
                if (profession == 171)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                    text = "Mobile-Alchemy";
                    goto IL_50E;
                }
                if (profession == 197)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                    text = "Mobile-Tailoring";
                    goto IL_50E;
                }
                if (profession == 202)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                    text = "Mobile-Engineering";
                    goto IL_50E;
                }
                if (profession == 333)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                    text = "Mobile-Enchanting";
                    goto IL_50E;
                }
                if (profession == 356)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                    text = "Mobile-Fishing";
                    goto IL_50E;
                }
                if (profession == 393)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                    text = "Mobile-Skinning";
                    goto IL_50E;
                }
                if (profession == 755)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                    text = "Mobile-Jewelcrafting";
                    goto IL_50E;
                }
                if (profession == 773)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                    text = "Mobile-Inscription";
                    goto IL_50E;
                }
                if (profession != 794)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                    text = "Mobile-QuestExclamationIcon";
                    goto IL_50E;
                }
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                text = "Mobile-Archaeology";
                goto IL_50E;

            case 185:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                text = "Mobile-Cooking";
                goto IL_50E;

            case 186:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                text = "Mobile-Mining";
                goto IL_50E;
            }
            goto IL_2F9;
IL_50E:
            goto IL_55B;
        }

        case 3:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
            text = "Mobile-PVP";
            goto IL_55B;

        case 4:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
            text = "Mobile-Pets";
            goto IL_55B;
        }
        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
        text = "Mobile-QuestExclamationIcon";
IL_55B:
        if (!this.m_showLootIconInsteadOfMain)
        {
            if (text != null)
            {
                this.m_main.set_sprite(Resources.Load <Sprite>("NewWorldQuest/" + text));
            }
            else if (uITextureAtlasMemberID > 0)
            {
                this.m_main.set_sprite(TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID));
                this.m_main.SetNativeSize();
            }
        }
    }
    public void SetQuestID(int questID)
    {
        this.m_questID = questID;
        base.get_gameObject().set_name("WorldQuest " + this.m_questID);
        MobileWorldQuest mobileWorldQuest = (MobileWorldQuest)WorldQuestData.worldQuestDictionary.get_Item(this.m_questID);

        if (mobileWorldQuest == null || mobileWorldQuest.Item == null)
        {
            return;
        }
        this.m_quantityArea.get_gameObject().SetActive(false);
        bool flag = false;

        MobileWorldQuestReward[] item = mobileWorldQuest.Item;
        for (int i = 0; i < item.Length; i++)
        {
            MobileWorldQuestReward mobileWorldQuestReward = item[i];
            ItemRec record = StaticDB.itemDB.GetRecord(mobileWorldQuestReward.RecordID);
            if (record == null)
            {
                Debug.LogWarning(string.Concat(new object[]
                {
                    "Invalid Item ID ",
                    mobileWorldQuestReward.RecordID,
                    " from Quest ID ",
                    this.m_questID,
                    ". Ignoring for loot quality check."
                }));
            }
            else
            {
                flag = true;
                if (record.OverallQualityID > (int)this.m_lootQuality)
                {
                    this.m_lootQuality = (ITEM_QUALITY)record.OverallQualityID;
                }
                if (this.m_showLootIconInsteadOfMain)
                {
                    bool isArtifactXP = false;
                    int  quantity     = 0;
                    StaticDB.itemEffectDB.EnumRecordsByParentID(mobileWorldQuestReward.RecordID, delegate(ItemEffectRec itemEffectRec)
                    {
                        StaticDB.spellEffectDB.EnumRecordsByParentID(itemEffectRec.SpellID, delegate(SpellEffectRec spellEffectRec)
                        {
                            if (spellEffectRec.Effect == 240)
                            {
                                isArtifactXP = true;
                                quantity     = GeneralHelpers.ApplyArtifactXPMultiplier(spellEffectRec.EffectBasePoints, GarrisonStatus.ArtifactXpMultiplier);
                                return(false);
                            }
                            return(true);
                        });
                        return(!isArtifactXP);
                    });
                    if (isArtifactXP)
                    {
                        this.m_main.set_sprite(Resources.Load <Sprite>("WorldMap/INV_Artifact_XP02"));
                        if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.ArtifactPower))
                        {
                            this.m_quantityArea.get_gameObject().SetActive(true);
                            this.m_quantity.set_text(quantity.ToString());
                        }
                    }
                    else
                    {
                        this.m_main.set_sprite(GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, mobileWorldQuestReward.FileDataID));
                        this.m_itemID      = mobileWorldQuestReward.RecordID;
                        this.m_itemContext = mobileWorldQuestReward.ItemContext;
                        this.ShowILVL();
                    }
                }
            }
        }
        if (!flag && this.m_showLootIconInsteadOfMain)
        {
            if (mobileWorldQuest.Currency.GetLength(0) > 0)
            {
                MobileWorldQuestReward[] currency = mobileWorldQuest.Currency;
                for (int j = 0; j < currency.Length; j++)
                {
                    MobileWorldQuestReward mobileWorldQuestReward2 = currency[j];
                    CurrencyTypesRec       record2 = StaticDB.currencyTypesDB.GetRecord(mobileWorldQuestReward2.RecordID);
                    if (record2 != null)
                    {
                        this.m_main.set_sprite(GeneralHelpers.LoadCurrencyIcon(mobileWorldQuestReward2.RecordID));
                    }
                    if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.OrderResources))
                    {
                        this.m_quantityArea.get_gameObject().SetActive(true);
                        this.m_quantity.set_text(mobileWorldQuestReward2.Quantity.ToString());
                    }
                }
            }
            else if (mobileWorldQuest.Money > 0)
            {
                this.m_main.set_sprite(Resources.Load <Sprite>("MiscIcons/INV_Misc_Coin_01"));
                if (AdventureMapPanel.instance.IsFilterEnabled(MapFilterType.Gold))
                {
                    this.m_quantityArea.get_gameObject().SetActive(true);
                    this.m_quantity.set_text(string.Empty + mobileWorldQuest.Money / 100 / 100);
                }
            }
            else if (mobileWorldQuest.Experience > 0)
            {
                this.m_main.set_sprite(GeneralHelpers.GetLocalizedFollowerXpIcon());
            }
        }
        this.m_endTime = (long)(mobileWorldQuest.EndTime - 900);
        int             areaID  = 0;
        WorldMapAreaRec record3 = StaticDB.worldMapAreaDB.GetRecord(mobileWorldQuest.WorldMapAreaID);

        if (record3 != null)
        {
            areaID = record3.AreaID;
        }
        this.m_areaID = areaID;
        QuestInfoRec record4 = StaticDB.questInfoDB.GetRecord(mobileWorldQuest.QuestInfoID);

        if (record4 == null)
        {
            return;
        }
        bool active = (record4.Modifiers & 2) != 0;

        this.m_dragonFrame.get_gameObject().SetActive(active);
        bool flag2 = (record4.Modifiers & 1) != 0;

        if (flag2 && record4.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-RareQuest"));
        }
        bool flag3 = (record4.Modifiers & 4) != 0;

        if (flag3 && record4.Type != 3)
        {
            this.m_background.set_sprite(Resources.Load <Sprite>("NewWorldQuest/Mobile-EpicQuest"));
        }
        int    uITextureAtlasMemberID;
        string text;

        switch (record4.Type)
        {
        case 1:
        {
            int profession = record4.Profession;
            switch (profession)
            {
            case 182:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-herbalism");
                text = "Mobile-Herbalism";
                goto IL_683;

            case 183:
            case 184:
IL_46E:
                if (profession == 164)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-blacksmithing");
                    text = "Mobile-Blacksmithing";
                    goto IL_683;
                }
                if (profession == 165)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-leatherworking");
                    text = "Mobile-Leatherworking";
                    goto IL_683;
                }
                if (profession == 129)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-firstaid");
                    text = "Mobile-FirstAid";
                    goto IL_683;
                }
                if (profession == 171)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-alchemy");
                    text = "Mobile-Alchemy";
                    goto IL_683;
                }
                if (profession == 197)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-tailoring");
                    text = "Mobile-Tailoring";
                    goto IL_683;
                }
                if (profession == 202)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-engineering");
                    text = "Mobile-Engineering";
                    goto IL_683;
                }
                if (profession == 333)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-enchanting");
                    text = "Mobile-Enchanting";
                    goto IL_683;
                }
                if (profession == 356)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-fishing");
                    text = "Mobile-Fishing";
                    goto IL_683;
                }
                if (profession == 393)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-skinning");
                    text = "Mobile-Skinning";
                    goto IL_683;
                }
                if (profession == 755)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-jewelcrafting");
                    text = "Mobile-Jewelcrafting";
                    goto IL_683;
                }
                if (profession == 773)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-inscription");
                    text = "Mobile-Inscription";
                    goto IL_683;
                }
                if (profession != 794)
                {
                    uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
                    text = "Mobile-QuestExclamationIcon";
                    goto IL_683;
                }
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-archaeology");
                text = "Mobile-Archaeology";
                goto IL_683;

            case 185:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-cooking");
                text = "Mobile-Cooking";
                goto IL_683;

            case 186:
                uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-mining");
                text = "Mobile-Mining";
                goto IL_683;
            }
            goto IL_46E;
IL_683:
            goto IL_6D0;
        }

        case 3:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-pvp-ffa");
            text = "Mobile-PVP";
            goto IL_6D0;

        case 4:
            uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-icon-petbattle");
            text = "Mobile-Pets";
            goto IL_6D0;
        }
        uITextureAtlasMemberID = TextureAtlas.GetUITextureAtlasMemberID("worldquest-questmarker-questbang");
        text = "Mobile-QuestExclamationIcon";
IL_6D0:
        if (!this.m_showLootIconInsteadOfMain)
        {
            if (text != null)
            {
                this.m_main.set_sprite(Resources.Load <Sprite>("NewWorldQuest/" + text));
            }
            else if (uITextureAtlasMemberID > 0)
            {
                this.m_main.set_sprite(TextureAtlas.instance.GetAtlasSprite(uITextureAtlasMemberID));
                this.m_main.SetNativeSize();
            }
        }
    }