Esempio n. 1
0
        public Dictionary <Int32, Int32> GetMonstersForCategory(EMonsterClass p_class, Boolean p_showChampions)
        {
            Dictionary <Int32, Int32> dictionary = new Dictionary <Int32, Int32>();

            foreach (Int32 num in m_allMonsters.Keys)
            {
                MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num);
                if (staticData != null && staticData.BestiaryEntry)
                {
                    if (!p_showChampions)
                    {
                        if (staticData.Class != p_class && p_class != EMonsterClass.NONE)
                        {
                            continue;
                        }
                    }
                    else if (staticData.Grade != EMonsterGrade.CHAMPION)
                    {
                        continue;
                    }
                    dictionary.Add(num, m_allMonsters[num]);
                }
            }
            return(dictionary);
        }
        public override String GetDescriptionForCaster(MonsterStaticData p_monster)
        {
            MonsterBuffStaticData staticData = StaticDataHandler.GetStaticData <MonsterBuffStaticData>(EDataType.MONSTER_BUFFS, 14);
            Single p_value = (Single)Math.Round(staticData.GetBuffValues(m_level)[0] * p_monster.MagicPower * 0.1f, MidpointRounding.AwayFromZero);

            SetDescriptionValue(0, p_value);
            return(Localization.Instance.GetText("MONSTER_SPELL_LIQUID_MEMBRANE_INFO", m_descriptionValues));
        }
        public override String GetDescriptionForCaster(MonsterStaticData p_monster)
        {
            MonsterBuffStaticData staticData = StaticDataHandler.GetStaticData <MonsterBuffStaticData>(EDataType.MONSTER_BUFFS, 27);
            Int32 p_value = (Int32)Math.Round(staticData.GetBuffValues(m_level)[0] * p_monster.MagicPower, MidpointRounding.AwayFromZero);

            SetDescriptionValue(0, p_value);
            SetDescriptionValue(1, staticData.GetDuration(0));
            return(Localization.Instance.GetText("MONSTER_SPELL_CELESTIAL_ARMOUR_INFO", m_descriptionValues));
        }
Esempio n. 4
0
        private void OnAnnounceLateMonsterSpawn(Object p_sender, EventArgs p_args)
        {
            Int32             monsterID  = ((AnnounceLateMonsterSpawnArgs)p_args).MonsterID;
            MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, monsterID);

            if (staticData != null)
            {
                LoadPrefab(staticData.Prefab, null, null);
            }
        }
Esempio n. 5
0
        public void AddKilledMonster(Int32 p_key, Int32 p_val, Boolean p_fromLoad)
        {
            Int32 num = 0;

            if (!p_fromLoad)
            {
                if (m_allMonsters.ContainsKey(p_key))
                {
                    num = m_allMonsters[p_key];
                }
                else
                {
                    m_allMonsters.Add(p_key, num);
                }
                Int32             num2       = num + p_val;
                MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, p_key);
                String            nameKey    = staticData.NameKey;
                if (num == 0)
                {
                    BestiaryEntryEventArgs p_eventArgs = new BestiaryEntryEventArgs(nameKey, BestiaryEntryEventArgs.EEntryState.ENTRY_NEW);
                    LegacyLogic.Instance.EventManager.InvokeEvent(null, EEventType.BESTIARY_ENTRY_CHANGED, p_eventArgs);
                    m_newEntries.Add(p_key);
                    if (staticData.Grade == EMonsterGrade.CORE)
                    {
                        m_killedCoreMonsters++;
                    }
                    if (nameKey == "MONSTER_GIANT_SPIDER")
                    {
                        LegacyLogic.Instance.CharacterBarkHandler.RandomPartyMemberBark(EBarks.STORY_2);
                    }
                }
                else if (num2 == staticData.BestiaryThresholds[0] || num2 == staticData.BestiaryThresholds[1] || num2 == staticData.BestiaryThresholds[2])
                {
                    BestiaryEntryEventArgs p_eventArgs2 = new BestiaryEntryEventArgs(nameKey, BestiaryEntryEventArgs.EEntryState.ENRTY_UPDATED);
                    LegacyLogic.Instance.EventManager.InvokeEvent(null, EEventType.BESTIARY_ENTRY_CHANGED, p_eventArgs2);
                }
                m_allMonsters[p_key]    = num2;
                m_killedMonsters[p_key] = num2;
                CheckForQuestProgress();
            }
            else
            {
                m_allMonsters.Add(p_key, p_val);
                if (p_val > 0)
                {
                    m_killedMonsters.Add(p_key, p_val);
                }
            }
        }
Esempio n. 6
0
        public Int32 GetKilledMonstersOfType(EMonsterType p_type)
        {
            Int32 num = 0;

            foreach (Int32 num2 in m_questMonsters.Keys)
            {
                if (m_questMonsters[num2] != 0)
                {
                    MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num2);
                    if (staticData.Type == p_type)
                    {
                        num += m_questMonsters[num2];
                    }
                }
            }
            return(num);
        }
Esempio n. 7
0
        public LootHandler(Monster p_monster)
        {
            m_monster = p_monster;
            MonsterStaticData staticData = p_monster.StaticData;

            m_dropGoldChance              = staticData.DropGoldChance;
            m_dropGoldAmount              = staticData.DropGoldAmount;
            m_modelProbabilities          = staticData.DropModelLevels;
            m_dropItemChance              = staticData.DropItemChance;
            m_dropItemPrefixChance        = staticData.DropItemPrefixChance;
            m_dropItemSuffixChance        = staticData.DropItemSuffixChance;
            m_dropItemPrefixProbabilities = staticData.PrefixProbabilities;
            m_dropItemSuffixProbabilities = staticData.SuffixProbabilities;
            m_dropItemSpecificationList   = staticData.DropItemSpecificationList;
            m_steadyLoot = staticData.SteadyLoot;
            m_XpReward   = staticData.XpReward;
            m_tokenIDs   = staticData.DropTokenID;
        }
Esempio n. 8
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, p_monster.MagicPower);
     return(Localization.Instance.GetText("MONSTER_SPELL_BATTLE_SPIRIT_INFO", m_descriptionValues));
 }
Esempio n. 9
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, p_monster.SpellRanges);
     SetDescriptionValue(1, GetDamageAsString());
     return(Localization.Instance.GetText("MONSTER_SPELL_POISON_SPIT_INFO", m_descriptionValues));
 }
Esempio n. 10
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, p_monster.SpellRanges);
     return(Localization.Instance.GetText("MONSTER_SPELL_PETRIFACTION_INFO", m_descriptionValues));
 }
Esempio n. 11
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, GetDamageAsString());
     return(Localization.Instance.GetText("MONSTER_SPELL_MASS_HEAL_INFO", m_descriptionValues));
 }
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, p_monster.MagicPower * m_staticData.GetAdditionalValue(m_level));
     SetDescriptionValue(1, m_staticData.GetAdditionalValue(m_level));
     return(Localization.Instance.GetText("MONSTER_SPELL_REGROWTH_INFO", m_descriptionValues));
 }
Esempio n. 13
0
        public void SetEntry(MonsterStaticData p_data, Int32 p_amountKilled)
        {
            m_stages        = p_data.BestiaryThresholds;
            m_currentAmount = p_amountKilled;
            if (p_data.Grade == EMonsterGrade.CHAMPION || p_data.Grade == EMonsterGrade.BOSS)
            {
                m_currentAmount = p_data.BestiaryThresholds[2];
            }
            m_progressBar.SetCurrentAmount(m_currentAmount, p_data.BestiaryThresholds[2]);
            Int32 num;

            if (LegacyLogic.Instance.WorldManager.Difficulty == EDifficulty.HARD)
            {
                switch (p_data.Grade)
                {
                case EMonsterGrade.CORE:
                    num = (Int32)(p_data.MaxHealthpoints * ConfigManager.Instance.Game.MonsterHealthCoreFactor);
                    break;

                case EMonsterGrade.ELITE:
                    num = (Int32)(p_data.MaxHealthpoints * ConfigManager.Instance.Game.MonsterHealthEliteFactor);
                    break;

                case EMonsterGrade.CHAMPION:
                    num = (Int32)(p_data.MaxHealthpoints * ConfigManager.Instance.Game.MonsterHealthChampionFactor);
                    break;

                default:
                    num = p_data.MaxHealthpoints;
                    break;
                }
            }
            else
            {
                num = p_data.MaxHealthpoints;
            }
            String p_text = String.Empty;

            if (p_data.MeleeAttackDamageMin == p_data.MeleeAttackDamageMax)
            {
                p_text = p_data.MeleeAttackDamageMin.ToString();
            }
            else
            {
                p_text = p_data.MeleeAttackDamageMin + "-" + p_data.MeleeAttackDamageMax;
            }
            m_maxHp.UpdateLabel(num.ToString(), LocaManager.GetText("BESTIARY_STAT_ATTRIBUTE_HEALTH_TT"));
            m_meleeDmg.UpdateLabel(p_text, LocaManager.GetText("BESTIARY_STAT_ATTACK_DAMAGE_TT"));
            m_meleeStrikes.UpdateLabel(p_data.MeleeAttackStrikesAmount.ToString(), LocaManager.GetText("BESTIARY_STAT_STRIKES_TT"));
            m_critMelee.UpdateLabel(p_data.CriticalDamageMelee.ToString(), LocaManager.GetText("BESTIARY_STAT_ATTACK_CRIT_DAMAGE_TT", p_data.CriticalDamageMelee * 100f));
            m_meleeAttackValue.UpdateLabel(p_data.MeleeAttackValue.ToString(), LocaManager.GetText("BESTIARY_STAT_ATTACK_VALUE_TT"));
            for (Int32 i = 0; i < m_spells.Count; i++)
            {
                m_spells[i].ShowEntry(true);
                if (p_data.Spells.Length > i)
                {
                    MonsterSpellStaticData staticData   = StaticDataHandler.GetStaticData <MonsterSpellStaticData>(EDataType.MONSTER_SPELLS, p_data.Spells[i].SpellID);
                    MonsterSpell           monsterSpell = SpellFactory.CreateMonsterSpell((EMonsterSpell)staticData.StaticID, staticData.EffectKey, p_data.Spells[i].SpellProbability);
                    m_spells[i].ShowEntry(true);
                    m_spells[i].UpdateEntry(staticData.Icon);
                    StringBuilder stringBuilder = new StringBuilder();
                    stringBuilder.Append(m_headLineColorHex);
                    stringBuilder.Append(LocaManager.GetText(monsterSpell.NameKey));
                    stringBuilder.Append("[-]");
                    stringBuilder.Append(Environment.NewLine);
                    stringBuilder.Append(m_textColorHex);
                    stringBuilder.Append(monsterSpell.GetDescriptionForCaster(p_data));
                    stringBuilder.Append("[-]");
                    m_spells[i].SetTooltip(stringBuilder.ToString());
                }
                else
                {
                    m_spells[i].ShowEntry(false);
                }
            }
            if (p_data.AttackRange > 1 && p_data.Spells.Length == 0)
            {
                m_rangeDmg.gameObject.SetActive(true);
                m_rangeStrikes.gameObject.SetActive(true);
                m_rangeAttackValue.gameObject.SetActive(true);
                m_rangeAttackRange.gameObject.SetActive(true);
                m_critRange.gameObject.SetActive(true);
                m_critMagic.gameObject.SetActive(false);
                String p_text2 = String.Empty;
                if (p_data.RangedAttackDamageMin == p_data.RangedAttackDamageMax)
                {
                    p_text2 = p_data.RangedAttackDamageMin.ToString();
                }
                else
                {
                    p_text2 = p_data.RangedAttackDamageMin + "-" + p_data.RangedAttackDamageMax;
                }
                m_rangeDmg.UpdateLabel(p_text2, LocaManager.GetText("BESTIARY_STAT_ATTACK_DAMAGE_TT", p_data.RangedAttackDamage.Value.ToString()));
                m_rangeStrikes.UpdateLabel(p_data.RangedAttackStrikesAmount.ToString(), LocaManager.GetText("BESTIARY_STAT_STRIKES_TT", p_data.RangedAttackStrikesAmount.ToString()));
                m_rangeAttackValue.UpdateLabel(p_data.RangedAttackValue.ToString(), LocaManager.GetText("BESTIARY_STAT_ATTACK_VALUE_TT", p_data.RangedAttackValue.ToString()));
                m_rangeAttackRange.UpdateLabel(p_data.AttackRange.ToString(), LocaManager.GetText("MONSTER_ATTACK_RANGE_TT", p_data.AttackRange.ToString()));
                m_critRange.UpdateLabel(p_data.CriticalDamageRanged.ToString(), LocaManager.GetText("BESTIARY_STAT_ATTACK_CRIT_DAMAGE_TT", p_data.CriticalDamageRanged * 100f));
                m_labelRangedMagic.text = LocaManager.GetText("GUI_CHARACTER_STATS_RANGED");
                for (Int32 j = 0; j < m_spells.Count; j++)
                {
                    m_spells[j].ShowEntry(false);
                }
            }
            else if (p_data.Spells.Length > 0)
            {
                m_rangeDmg.gameObject.SetActive(false);
                m_rangeStrikes.gameObject.SetActive(false);
                m_rangeAttackValue.gameObject.SetActive(false);
                m_rangeAttackRange.gameObject.SetActive(false);
                m_critRange.gameObject.SetActive(false);
                m_critMagic.gameObject.SetActive(true);
                m_labelRangedMagic.text = LocaManager.GetText("GUI_CHARACTER_STATS_MAGIC");
            }
            else
            {
                m_rangeDmg.gameObject.SetActive(true);
                m_rangeStrikes.gameObject.SetActive(true);
                m_rangeAttackValue.gameObject.SetActive(true);
                m_rangeAttackRange.gameObject.SetActive(true);
                m_critRange.gameObject.SetActive(true);
                m_critMagic.gameObject.SetActive(false);
                for (Int32 k = 0; k < m_spells.Count; k++)
                {
                    m_spells[k].ShowEntry(false);
                }
                m_labelRangedMagic.text = LocaManager.GetText("GUI_CHARACTER_STATS_RANGED");
                m_rangeDmg.UpdateLabel("-", LocaManager.GetText("BESTIARY_STAT_ATTACK_DAMAGE_TT", "-"));
                m_rangeStrikes.UpdateLabel("-", LocaManager.GetText("BESTIARY_STAT_STRIKES_TT", "-"));
                m_rangeAttackValue.UpdateLabel("-", LocaManager.GetText("BESTIARY_STAT_ATTACK_VALUE_TT", "-"));
                m_rangeAttackRange.UpdateLabel("-", LocaManager.GetText("MONSTER_ATTACK_RANGE_TT", "-"));
                m_critRange.UpdateLabel("-", LocaManager.GetText("BESTIARY_STAT_ATTACK_CRIT_DAMAGE_TT", "-"));
            }
            m_armor.UpdateLabel(p_data.ArmorValue.ToString(), LocaManager.GetText("BESTIARY_STAT_ARMOR_VALUE_TT", p_data.ArmorValue.ToString()));
            m_blockAttempts.UpdateLabel(p_data.GeneralBlockAttemptsPerTurn.ToString(), LocaManager.GetText("BESTIARY_STAT_BLOCK_ATTEMPTS_TT", p_data.GeneralBlockAttemptsPerTurn.ToString()));
            m_evade.UpdateLabel(p_data.EvadeValue.ToString(), LocaManager.GetText("BESTIARY_STAT_EVADE_VALUE_TT", p_data.EvadeValue.ToString()));
            if (p_data.CriticalDamageSpells > 0f)
            {
                m_critMagic.UpdateLabel(p_data.CriticalDamageSpells.ToString(), LocaManager.GetText("BESTIARY_STAT_MAGIC_CRIT_CHANCE_TT", p_data.CriticalDamageSpells * 100f));
            }
            else
            {
                m_critMagic.UpdateLabel("-", LocaManager.GetText("BESTIARY_STAT_MAGIC_CRIT_CHANCE_TT", "-"));
            }
            NGUITools.SetActive(m_abilityFrame, true);
            if (p_data.Abilities.Length == 0)
            {
                NGUITools.SetActive(m_abilityFrame, false);
            }
            for (Int32 l = 0; l < m_specials.Count; l++)
            {
                if (p_data.Abilities.Length > l)
                {
                    m_specials[l].ShowEntry(true);
                    MonsterAbilityBase monsterAbilityBase = AbilityFactory.CreateMonsterAbility(p_data.Abilities[l].AbilityType, p_data.MagicPower);
                    monsterAbilityBase.Level = p_data.Abilities[l].Level;
                    m_specials[l].UpdateEntry(monsterAbilityBase.StaticData.Icon);
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.Append(m_headLineColorHex);
                    stringBuilder2.Append(LocaManager.GetText(monsterAbilityBase.StaticData.NameKey));
                    stringBuilder2.Append("[-]");
                    stringBuilder2.Append(Environment.NewLine);
                    stringBuilder2.Append(m_textColorHex);
                    stringBuilder2.Append(monsterAbilityBase.GetDescription());
                    stringBuilder2.Append("[-]");
                    m_specials[l].SetTooltip(stringBuilder2.ToString());
                }
                else
                {
                    m_specials[l].ShowEntry(false);
                }
            }
            m_resiPrimordial.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_PRIMORDIAL_TT", 0, 0));
            m_resiFire.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_FIRE_TT", 0, 0));
            m_resiWater.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_WATER_TT", 0, 0));
            m_resiEarth.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_EARTH_TT", 0, 0));
            m_resiAir.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_AIR_TT", 0, 0));
            m_resiLight.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_LIGHT_TT", 0, 0));
            m_resiDark.UpdateLabel("0", LocaManager.GetText("BESTIARY_STAT_RESISTANCE_DARK_TT", 0, 0));
            foreach (Resistance resistance in p_data.MagicResistances)
            {
                switch (resistance.Type)
                {
                case EDamageType.AIR:
                    m_resiAir.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_AIR_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.EARTH:
                    m_resiEarth.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_EARTH_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.FIRE:
                    m_resiFire.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_FIRE_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.WATER:
                    m_resiWater.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_WATER_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.DARK:
                    m_resiDark.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_DARK_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.LIGHT:
                    m_resiLight.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_LIGHT_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;

                case EDamageType.PRIMORDIAL:
                    m_resiPrimordial.UpdateLabel(resistance.Value.ToString(), LocaManager.GetText("BESTIARY_STAT_RESISTANCE_PRIMORDIAL_TT", resistance.Value * (p_data.EvadeValue / 100), resistance.Value));
                    break;
                }
            }
            HideLockedEntries();
        }
Esempio n. 14
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     return(Localization.Instance.GetText("MONSTER_SPELL_OVERWHELMING_ASSAULT_INFO", m_descriptionValues));
 }
Esempio n. 15
0
        public Int32 InitList(EMonsterClass p_monsterClass)
        {
            m_monsterName.enabled = false;
            m_infoController.Hide();
            CleanupPageableList();
            Int32   num             = 0;
            Int32   num2            = 0;
            Boolean p_showChampions = m_categoryTabs.CurrentTabIndex == m_categoryTabs.Tabs.Length - 1;
            Dictionary <Int32, Int32> monstersForCategory = m_bestiaryHandler.GetMonstersForCategory(p_monsterClass, p_showChampions);
            Dictionary <Int32, Int32> dictionary          = new Dictionary <Int32, Int32>();

            foreach (Int32 num3 in monstersForCategory.Keys)
            {
                if (StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num3) != null)
                {
                    Int32 num4 = 0;
                    if (monstersForCategory.TryGetValue(num3, out num4))
                    {
                        if (num4 > 0)
                        {
                            num++;
                        }
                        if (num4 != 0 || m_checkBox.isChecked)
                        {
                            dictionary.Add(num3, monstersForCategory[num3]);
                        }
                    }
                }
            }
            Int32[] array = dictionary.Keys.ToArray <Int32>();
            for (Int32 i = m_pageableList.CurrentIndex; i < m_pageableList.EndIndex; i++)
            {
                if (i < dictionary.Count)
                {
                    Int32             num5       = array[i];
                    BookEntry         entry      = m_pageableList.GetEntry();
                    MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, num5);
                    if (staticData == null)
                    {
                        entry.OnBookSelected += OnMonsterSelected;
                        entry.Init(num5, "[FF0000]MISSING DATA[-]");
                        entry.IsNewEntry = false;
                        entry.IsActive   = false;
                        num2++;
                    }
                    Int32 num6 = dictionary[num5];
                    if (!m_checkBox.isChecked)
                    {
                        if (num6 > 0)
                        {
                            entry.OnBookSelected += OnMonsterSelected;
                            entry.Init(num5, LocaManager.GetText(staticData.NameKey));
                            entry.IsNewEntry = m_bestiaryHandler.NewEntries.Contains(num5);
                            num2++;
                        }
                    }
                    else
                    {
                        entry.OnBookSelected += OnMonsterSelected;
                        if (num6 > 0)
                        {
                            entry.Init(num5, LocaManager.GetText(staticData.NameKey));
                            entry.IsNewEntry = m_bestiaryHandler.NewEntries.Contains(num5);
                            num2++;
                        }
                        else
                        {
                            entry.Init(num5, "?????");
                            entry.IsNewEntry = false;
                            entry.IsActive   = false;
                            num2++;
                        }
                    }
                }
                else
                {
                    BookEntry entry2 = m_pageableList.GetEntry();
                    entry2.Init(0, String.Empty);
                    entry2.IsNewEntry = false;
                }
            }
            BookEntry bookEntry = m_pageableList.TrySelectActiveEntryOnPage();

            if (bookEntry != null)
            {
                OnMonsterSelected(bookEntry, EventArgs.Empty);
            }
            return(dictionary.Count);
        }
Esempio n. 16
0
        private void OnMonsterSelected(Object p_sender, EventArgs p_args)
        {
            BookEntry bookEntry = p_sender as BookEntry;

            if (bookEntry == null)
            {
                return;
            }
            m_monsterName.enabled = true;
            Int32 entryID = bookEntry.EntryID;

            foreach (BookEntry bookEntry2 in m_pageableList.EntryList)
            {
                bookEntry2.SetSelected(entryID);
            }
            Int32 num = 0;

            if (m_bestiaryHandler.AllMonsters.TryGetValue(entryID, out num))
            {
                if (num > 0)
                {
                    bookEntry.IsNewEntry = false;
                    m_bestiaryHandler.RemoveFromNewEntries(entryID);
                    MonsterStaticData staticData = StaticDataHandler.GetStaticData <MonsterStaticData>(EDataType.MONSTER, entryID);
                    if (staticData.Grade == EMonsterGrade.BOSS || staticData.Grade == EMonsterGrade.CHAMPION)
                    {
                        NGUITools.SetActiveSelf(m_championInfo, true);
                        NGUITools.SetActiveSelf(m_infoController.gameObject, false);
                        m_infoController.ShowProgressBar(false);
                        m_monsterName.text = LocaManager.GetText(staticData.NameKey);
                        col.center         = m_boxColliderChampionPos;
                        col.size           = m_boxColliderChampionSize;
                    }
                    else
                    {
                        NGUITools.SetActiveSelf(m_championInfo, false);
                        NGUITools.SetActiveSelf(m_infoController.gameObject, true);
                        m_infoController.Show();
                        m_monsterName.text = LocaManager.GetText(staticData.NameKey);
                        m_infoController.SetEntry(staticData, m_bestiaryHandler.AllMonsters[staticData.StaticID]);
                        m_infoController.ShowProgressBar(true);
                        col.center = m_boxColliderNormalPos;
                        col.size   = m_boxColliderNormalSize;
                    }
                    if ((staticData.StaticID >= 35 && staticData.StaticID <= 37) || staticData.Type == EMonsterType.MINOTAUR || staticData.Type == EMonsterType.MINOTAUR_GUARD)
                    {
                        m_fakeScene.DisplayMonsterPrefab(staticData.Prefab, ESize.MEDIUM);
                    }
                    else
                    {
                        m_fakeScene.DisplayMonsterPrefab(staticData.Prefab, staticData.Size);
                    }
                }
                else
                {
                    m_infoController.Hide();
                    m_monsterName.text = "?????";
                }
            }
            else
            {
                m_infoController.Hide();
                m_monsterName.text = "?????";
            }
        }
Esempio n. 17
0
 public override String GetDescriptionForCaster(MonsterStaticData p_monster)
 {
     SetDescriptionValue(0, GetDamageAsString());
     SetDescriptionValue(1, m_staticData.GetAdditionalValue(m_level) * 100f);
     return(Localization.Instance.GetText(m_staticData.NameKey + "_INFO", m_descriptionValues));
 }