Ejemplo n.º 1
0
        private void UpdateDefense()
        {
            Character member = m_party.GetMember(m_party.CurrentCharacter);
            Int32     num    = (Int32)member.FightValues.EvadeValue;
            Int32     num2   = (Int32)(member.FightValues.GeneralBlockChance * 100f + 0.5f);
            String    text   = num.ToString();

            if (member.ConditionHandler.HasCondition(ECondition.POISONED))
            {
                text = m_colorRedHex + num + "[-]";
            }
            m_defAC.UpdateLabel(member.FightValues.ArmorValue.ToString(), LocaManager.GetText("CHARACTER_DEFENSE_AC_TT", member.FightValues.ArmorValue));
            PartyBuff buff = m_party.Buffs.GetBuff(EPartyBuffs.WIND_SHIELD);

            if (buff != null)
            {
                String text2 = String.Concat(new Object[]
                {
                    text,
                    "/",
                    m_colorGreenHex,
                    num + buff.GetRangedEvadeBonus(),
                    "[-]"
                });
                m_defEvade.UpdateLabel(text2, LocaManager.GetText("CHARACTER_DEFENSE_EVADE_VALUE_TT", text2));
            }
            else
            {
                m_defEvade.UpdateLabel(text, LocaManager.GetText("CHARACTER_DEFENSE_EVADE_VALUE_TT", num));
            }
            m_defBlockChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", num2.ToString()), LocaManager.GetText("CHARACTER_DEFENSE_BLOCK_CHANCE_TT", num2));
            m_defBlocksGeneral.UpdateLabel(member.FightHandler.CurrentGeneralBlockAttempts.ToString(), LocaManager.GetText("CHARACTER_DEFENSE_GENERAL_BLOCK_ATTEMPTS_TT", member.FightHandler.CurrentGeneralBlockAttempts));
            m_defBlocksMelee.UpdateLabel(member.FightHandler.CurrentMeleeBlockAttempts.ToString(), LocaManager.GetText("CHARACTER_DEFENSE_MELEE_BLOCK_ATTEMPTS_TT", member.FightHandler.CurrentMeleeBlockAttempts));
        }
Ejemplo n.º 2
0
        private void UpdateRanged()
        {
            Character member = m_party.GetMember(m_party.CurrentCharacter);
            BaseItem  itemAt = member.Equipment.GetItemAt(EEquipSlots.RANGE_WEAPON);

            if (itemAt != null)
            {
                Int32 num = (Int32)(member.FightValues.RangedAttackValue + 0.5f);
                m_rangedAttack.UpdateLabel(num.ToString(), LocaManager.GetText("CHARACTER_ATTACK_RANGED_TT", num));
                Int32 num2 = 0;
                Int32 num3 = 0;
                for (EDamageType edamageType = EDamageType.PHYSICAL; edamageType < EDamageType._MAX_; edamageType++)
                {
                    num2 += member.FightValues.RangeDamage[edamageType].Minimum;
                    num3 += member.FightValues.RangeDamage[edamageType].Maximum;
                }
                String text = num2 + "-" + num3;
                m_rangeDamage.UpdateLabel(text, LocaManager.GetText("CHARACTER_DAMAGE_WEAPON", text));
                String text2 = LocaManager.GetText("CHARACTER_RANGED_CRIT_CHANCE_TT", (Int32)(member.FightValues.CriticalRangeHitChance * 100f + 0.5f));
                String text3 = LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_TT", (Int32)(member.FightValues.RangeCriticalDamageMod * 100f + 0.5f));
                m_rangedCritChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", (Int32)(member.FightValues.CriticalRangeHitChance * 100f + 0.5f)), text2);
                m_rangedCritDamage.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_INFO", (Int32)(member.FightValues.RangeCriticalDamageMod * 100f + 0.5f)), text3);
            }
            else
            {
                m_rangedAttack.UpdateLabel("0", String.Empty);
                m_rangeDamage.UpdateLabel("0", String.Empty);
                m_rangedCritChance.UpdateLabel("0", String.Empty);
                m_rangedCritDamage.UpdateLabel("0", String.Empty);
            }
        }
Ejemplo n.º 3
0
        private void UpdateResis()
        {
            Character  member = m_party.GetMember(m_party.CurrentCharacter);
            GameConfig game   = ConfigManager.Instance.Game;
            Int32      value  = member.FightValues.Resistance[EDamageType.FIRE].Value;
            Int32      value2 = member.BaseResistance[EDamageType.FIRE].Value;

            m_resiFire.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_FIRE_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.WATER].Value;
            value2 = member.BaseResistance[EDamageType.WATER].Value;
            m_resiWater.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_WATER_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.EARTH].Value;
            value2 = member.BaseResistance[EDamageType.EARTH].Value;
            m_resiEarth.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_EARTH_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.AIR].Value;
            value2 = member.BaseResistance[EDamageType.AIR].Value;
            m_resiAir.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_AIR_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.LIGHT].Value;
            value2 = member.BaseResistance[EDamageType.LIGHT].Value;
            m_resiLight.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_LIGHT_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.DARK].Value;
            value2 = member.BaseResistance[EDamageType.DARK].Value;
            m_resiDark.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_DARK_TT", value * game.MagicEvadeFactor, value, value));
            value  = member.FightValues.Resistance[EDamageType.PRIMORDIAL].Value;
            value2 = member.BaseResistance[EDamageType.PRIMORDIAL].Value;
            m_resiPrime.UpdateLabel(GetColoredValue(value, value2, true), LocaManager.GetText("CHARACTER_RESISTANCE_PRIMORDIAL_TT", value * game.MagicEvadeFactor, value, value));
        }
Ejemplo n.º 4
0
        private void UpdateAttributes()
        {
            Character  member = m_party.GetMember(m_party.CurrentCharacter);
            GameConfig game   = ConfigManager.Instance.Game;
            String     arg    = "[000000]";

            if (member.AttributePoints > 0)
            {
                arg = "[008000]";
            }
            m_pointsLeft.text = LocaManager.GetText("GUI_POINTS_LEFT", arg, member.AttributePoints);
            NGUITools.SetActive(m_pointsBtn.gameObject, member.AttributePoints > 0);
            Int32 p_currentValue = member.CurrentAttributes.Might;
            Int32 p_baseValue    = member.BaseAttributes.Might;

            m_might.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_MIGHT_TT", game.HealthPerMight, GetColoredValue(p_currentValue, p_baseValue, false)));
            p_currentValue = member.CurrentAttributes.Magic;
            p_baseValue    = member.BaseAttributes.Magic;
            m_magic.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_MAGIC_TT", game.ManaPerMagic, GetColoredValue(p_currentValue, p_baseValue, false)));
            p_currentValue = member.CurrentAttributes.Perception;
            p_baseValue    = member.BaseAttributes.Perception;
            m_perception.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_PERCEPTION_TT", GetColoredValue(p_currentValue, p_baseValue, false)));
            p_currentValue = member.CurrentAttributes.Destiny;
            p_baseValue    = member.BaseAttributes.Destiny;
            m_desiny.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_DESTINY_TT", GetColoredValue(p_currentValue, p_baseValue, false)));
            p_currentValue = member.CurrentAttributes.Vitality;
            p_baseValue    = member.BaseAttributes.Vitality;
            m_vitality.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_VITALITY_TT", member.Class.GetHPPerVitality(), GetColoredValue(p_currentValue, p_baseValue, false)));
            p_currentValue = member.CurrentAttributes.Spirit;
            p_baseValue    = member.BaseAttributes.Spirit;
            m_spirit.UpdateLabel(GetColoredValue(p_currentValue, p_baseValue, true), LocaManager.GetText("CHARACTER_ATTRIBUTE_SPIRIT_TT", game.ManaPerSpirit, GetColoredValue(p_currentValue, p_baseValue, false)));
        }
Ejemplo n.º 5
0
        private void UpdateHPMana()
        {
            Character  member = m_party.GetMember(m_party.CurrentCharacter);
            GameConfig game   = ConfigManager.Instance.Game;
            Int32      num    = member.BaseAttributes.HealthPoints + (Int32)(game.HealthPerMight * member.BaseAttributes.Might + member.Class.GetHPPerVitality() * member.BaseAttributes.Vitality);
            Int32      num2   = member.BaseAttributes.ManaPoints + (Int32)(game.ManaPerMagic * member.BaseAttributes.Magic + game.ManaPerSpirit * member.BaseAttributes.Spirit);
            String     text   = member.CurrentAttributes.HealthPoints.ToString();

            if (num < member.CurrentAttributes.HealthPoints)
            {
                text = m_colorGreenHex + text + "[-]";
            }
            else if (num > member.CurrentAttributes.HealthPoints)
            {
                text = m_colorRedHex + text + "[-]";
            }
            String p_tt  = LocaManager.GetText("CHARACTER_ATTRIBUTE_HEALTH_TT") + "\n\n" + LocaManager.GetText("GUI_STATS_X_OF_Y", member.HealthPoints, text);
            String text2 = member.CurrentAttributes.ManaPoints.ToString();

            if (num2 < member.CurrentAttributes.ManaPoints)
            {
                text2 = m_colorGreenHex + text2 + "[-]";
            }
            else if (num2 > member.CurrentAttributes.HealthPoints)
            {
                text2 = m_colorRedHex + text2 + "[-]";
            }
            String p_tt2 = LocaManager.GetText("CHARACTER_ATTRIBUTE_MANA_TT") + "\n\n" + LocaManager.GetText("GUI_STATS_X_OF_Y", member.ManaPoints, text2);

            m_hp.UpdateLabel(LocaManager.GetText("GUI_STATS_X_OF_Y", member.HealthPoints, text), p_tt);
            m_mana.UpdateLabel(LocaManager.GetText("GUI_STATS_X_OF_Y", member.ManaPoints, text2), p_tt2);
        }
Ejemplo n.º 6
0
        private void UpdateMagic()
        {
            Character member = m_party.GetMember(m_party.CurrentCharacter);
            String    p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_FIRE_MAGIC]);

            m_magicAttackFire.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_FIRE"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_WATER_MAGIC]);
            m_magicAttackWater.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_WATER"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_AIR_MAGIC]);
            m_magicAttackAir.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_AIR"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_EARTH_MAGIC]);
            m_magicAttackEarth.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_EARTH"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_LIGHT_MAGIC]);
            m_magicAttackLight.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_LIGHT"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_DARK_MAGIC]);
            m_magicAttackDark.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_DARK"));
            p_text = String.Format("{0:0.0}", member.FightValues.MagicPowers[ESkillID.SKILL_PRIMORDIAL_MAGIC]);
            m_magicAttackPrime.UpdateLabel(p_text, LocaManager.GetText("CHARACTER_MAGIC_POWER_PRIME"));
            String text  = LocaManager.GetText("CHARACTER_MAGIC_CRIT_CHANCE_TT", (Int32)(member.FightValues.CriticalMagicHitChance * 100f + 0.5f));
            String text2 = LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_TT", (Int32)((member.FightValues.MagicalCriticalDamageMod - 1f) * 100f + 0.5f));

            m_magicCritChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", (Int32)(member.FightValues.CriticalMagicHitChance * 100f + 0.5f)), text);
            m_magicCritDamage.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_INFO", (Int32)((member.FightValues.MagicalCriticalDamageMod - 1f) * 100f + 0.5f)), text2);
        }
Ejemplo n.º 7
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();
        }
Ejemplo n.º 8
0
        private void UpdateMelee()
        {
            Character member = m_party.GetMember(m_party.CurrentCharacter);
            Boolean   flag   = false;
            BaseItem  itemAt = member.Equipment.GetItemAt(EEquipSlots.MAIN_HAND);

            if (itemAt is MeleeWeapon && (itemAt as MeleeWeapon).GetSubType() == EEquipmentType.TWOHANDED)
            {
                flag = true;
            }
            String text         = String.Empty;
            String text2        = String.Empty;
            String text3        = String.Empty;
            Armor  armor        = member.Equipment.GetItemAt(EEquipSlots.BODY) as Armor;
            Int32  armorPenalty = member.FightHandler.GetArmorPenalty();
            Int32  attackValuePenaltyReduction = member.FightValues.AttackValuePenaltyReduction;
            Int32  num = Math.Max(armorPenalty - attackValuePenaltyReduction, 0);

            if (armor != null && armor.GetSubType() == EEquipmentType.HEAVY_ARMOR && num > 0)
            {
                text3 = LocaManager.GetText("CHARACTER_ATTACK_REDUCED_HEAVY", num);
            }
            else if (armor != null && armor.GetSubType() == EEquipmentType.LIGHT_ARMOR && num > 0)
            {
                text3 = LocaManager.GetText("CHARACTER_ATTACK_REDUCED_MEDIUM", num);
            }
            if (flag)
            {
                String text4 = ((Int32)(member.FightValues.MainHandAttackValue + 0.5f)).ToString();
                if (itemAt is MagicFocus)
                {
                    text4 = "-";
                }
                text2 = LocaManager.GetText("CHARACTER_ATTACK_TWONHAND_TT", text4);
                if (text3 != String.Empty)
                {
                    text2 = text2 + "\n" + text3;
                }
                m_mainHandAttack.UpdateLabel(text4, text2);
                Int32 num2 = 0;
                Int32 num3 = 0;
                for (EDamageType edamageType = EDamageType.PHYSICAL; edamageType < EDamageType._MAX_; edamageType++)
                {
                    num2 += member.FightValues.MainHandDamage[edamageType].Minimum;
                    num3 += member.FightValues.MainHandDamage[edamageType].Maximum;
                }
                text = num2 + "-" + num3;
                m_mainHandDamage.UpdateLabel(text, LocaManager.GetText("CHARACTER_DAMAGE_WEAPON", text));
                String text5 = LocaManager.GetText("CHARACTER_TWOHAND_CRIT_CHANCE_TT", (Int32)(member.FightValues.CriticalMainHandHitChance * 100f + 0.5f));
                String text6 = LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_TT", (Int32)(member.FightValues.MainHandCriticalDamageMod * 100f + 0.5f));
                m_mainHandCritChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", (Int32)(member.FightValues.CriticalMainHandHitChance * 100f + 0.5f)), text5);
                m_mainHandCritDamage.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_INFO", (Int32)(member.FightValues.MainHandCriticalDamageMod * 100f + 0.5f)), text6);
                m_offHandAttack.UpdateLabel("0", String.Empty);
                m_offHandDamage.UpdateLabel("0", String.Empty);
                m_offHandCritChance.UpdateLabel("0", String.Empty);
                m_offHandCritDamage.UpdateLabel("0", String.Empty);
            }
            else
            {
                String text7 = ((Int32)(member.FightValues.MainHandAttackValue + 0.5f)).ToString();
                if (itemAt is MagicFocus)
                {
                    text7 = "-";
                }
                text2 = LocaManager.GetText("CHARACTER_ATTACK_MAINHAND_TT", text7);
                if (text3 != String.Empty)
                {
                    text2 = text2 + "\n" + text3;
                }
                m_mainHandAttack.UpdateLabel(text7, text2);
                Int32 num4 = 0;
                Int32 num5 = 0;
                for (EDamageType edamageType2 = EDamageType.PHYSICAL; edamageType2 < EDamageType._MAX_; edamageType2++)
                {
                    num4 += member.FightValues.MainHandDamage[edamageType2].Minimum;
                    num5 += member.FightValues.MainHandDamage[edamageType2].Maximum;
                }
                text = num4 + "-" + num5;
                m_mainHandDamage.UpdateLabel(text, LocaManager.GetText("CHARACTER_DAMAGE_WEAPON", text));
                String text8 = LocaManager.GetText("CHARACTER_MAINHAND_CRIT_CHANCE_TT", (Int32)(member.FightValues.CriticalMainHandHitChance * 100f + 0.5f));
                String text9 = LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_TT", (Int32)(member.FightValues.MainHandCriticalDamageMod * 100f + 0.5f));
                m_mainHandCritChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", (Int32)(member.FightValues.CriticalMainHandHitChance * 100f + 0.5f)), text8);
                m_mainHandCritDamage.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_INFO", (Int32)(member.FightValues.MainHandCriticalDamageMod * 100f + 0.5f)), text9);
                BaseItem itemAt2 = member.Equipment.GetItemAt(EEquipSlots.OFF_HAND);
                if (itemAt2 != null && !(itemAt2 is Shield))
                {
                    text7 = ((Int32)(member.FightValues.OffHandAttackValue + 0.5f)).ToString();
                    if (itemAt2 is MagicFocus)
                    {
                        text7 = "-";
                    }
                    text2 = LocaManager.GetText("CHARACTER_ATTACK_OFFHAND_TT", text7);
                    if (text3 != String.Empty)
                    {
                        text2 = text2 + "\n" + text3;
                    }
                    m_offHandAttack.UpdateLabel(text7, text2);
                    num4 = 0;
                    num5 = 0;
                    for (EDamageType edamageType3 = EDamageType.PHYSICAL; edamageType3 < EDamageType._MAX_; edamageType3++)
                    {
                        num4 += member.FightValues.OffHandDamage[edamageType3].Minimum;
                        num5 += member.FightValues.OffHandDamage[edamageType3].Maximum;
                    }
                    text = num4 + "-" + num5;
                    m_offHandDamage.UpdateLabel(text, LocaManager.GetText("CHARACTER_DAMAGE_WEAPON", text));
                    String text10 = LocaManager.GetText("CHARACTER_OFFHAND_CRIT_CHANCE_TT", (Int32)(member.FightValues.CriticalOffHandHitChance * 100f + 0.5f));
                    String text11 = LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_TT", (Int32)(member.FightValues.OffHandCriticalDamageMod * 100f + 0.5f));
                    m_offHandCritChance.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_CHANCE_INFO", (Int32)(member.FightValues.CriticalOffHandHitChance * 100f + 0.5f)), text10);
                    m_offHandCritDamage.UpdateLabel(LocaManager.GetText("CHARACTER_ATTACK_CRIT_DAMAGE_INFO", (Int32)(member.FightValues.OffHandCriticalDamageMod * 100f + 0.5f)), text11);
                }
                else
                {
                    m_offHandAttack.UpdateLabel("0", String.Empty);
                    m_offHandDamage.UpdateLabel("0", String.Empty);
                    m_offHandCritChance.UpdateLabel("0", String.Empty);
                    m_offHandCritDamage.UpdateLabel("0", String.Empty);
                }
            }
        }