private void IncreaseArmorValue(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     if (p_effect.Condition == ESkillEffectCondition.IS_EQUIPED)
     {
         p_fightValues.ArmorValue = (Int32)ResolveValue(p_fightValues.ArmorValue, p_effect, p_skill);
     }
 }
Example #2
0
        private String GetTierBoni(List <SkillEffectStaticData> p_skillEffects, Boolean p_tierAvailable)
        {
            String text = String.Empty;

            for (Int32 i = 0; i < p_skillEffects.Count; i++)
            {
                SkillEffectStaticData skillEffectStaticData = p_skillEffects[i];
                if (skillEffectStaticData.ShowInTooltip)
                {
                    String text2 = (!p_tierAvailable) ? m_unlearnedEffectColorHex : m_effectColorHex;
                    String str   = String.Empty;
                    if (skillEffectStaticData.Mode == ESkillEffectMode.NONE)
                    {
                        str = LocaManager.GetText(skillEffectStaticData.GeneralDescription, text2, "[-]");
                    }
                    else
                    {
                        Single num = skillEffectStaticData.Value;
                        if (skillEffectStaticData.ContainsPercent)
                        {
                            num *= 100f;
                        }
                        String arg = text2 + num.ToString() + "[-]";
                        str = LocaManager.GetText(skillEffectStaticData.GeneralDescription, text2, "[-]", arg);
                    }
                    text += str;
                    if (i < p_skillEffects.Count - 1 && p_skillEffects[i + 1].ShowInTooltip)
                    {
                        text += "\n\n";
                    }
                }
            }
            return(text);
        }
 private void IncreaseCriticalMagicDamageFactor(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     if (p_effect.Condition == ESkillEffectCondition.IS_EQUIPED)
     {
         p_fightValues.MagicalCriticalDamageMod = ResolveValue(p_fightValues.MagicalCriticalDamageMod, p_effect, p_skill);
     }
 }
        private void IncreaseMagicResistance(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
        {
            ResistanceCollection resistance = p_fightValues.Resistance;

            resistance.Set(new Resistance(EDamageType.AIR, (Int32)ResolveValue(resistance[EDamageType.AIR].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.EARTH, (Int32)ResolveValue(resistance[EDamageType.EARTH].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.FIRE, (Int32)ResolveValue(resistance[EDamageType.FIRE].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.WATER, (Int32)ResolveValue(resistance[EDamageType.WATER].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.DARK, (Int32)ResolveValue(resistance[EDamageType.DARK].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.LIGHT, (Int32)ResolveValue(resistance[EDamageType.LIGHT].Value, p_effect, p_skill)));
            resistance.Set(new Resistance(EDamageType.PRIMORDIAL, (Int32)ResolveValue(resistance[EDamageType.PRIMORDIAL].Value, p_effect, p_skill)));
        }
 private void IncreaseDamageFactor(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill, EEquipSlots p_slot)
 {
     if (p_effect.Condition == ESkillEffectCondition.IS_EQUIPED)
     {
         if (p_slot == EEquipSlots.MAIN_HAND)
         {
             p_fightValues.MainHandDamageFactor = ResolveValue(p_fightValues.MainHandDamageFactor, p_effect, p_skill);
         }
         else if (p_slot == EEquipSlots.OFF_HAND)
         {
             p_fightValues.OffHandDamageFactor = ResolveValue(p_fightValues.OffHandDamageFactor, p_effect, p_skill);
         }
     }
 }
 private void IncreaseAttackValue(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill, EEquipSlots p_slot)
 {
     if (p_slot == EEquipSlots.MAIN_HAND)
     {
         p_fightValues.MainHandAttackValue = ResolveValue(p_fightValues.MainHandAttackValue, p_effect, p_skill);
     }
     else if (p_slot == EEquipSlots.OFF_HAND)
     {
         p_fightValues.OffHandAttackValue = ResolveValue(p_fightValues.OffHandAttackValue, p_effect, p_skill);
     }
     else if (p_slot == EEquipSlots.RANGE_WEAPON)
     {
         p_fightValues.RangedAttackValue = ResolveValue(p_fightValues.RangedAttackValue, p_effect, p_skill);
     }
 }
 private void IncreaseDamageSkillBonus(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill, EEquipSlots p_slot)
 {
     if (p_effect.Condition == ESkillEffectCondition.IS_EQUIPED)
     {
         if (p_slot == EEquipSlots.MAIN_HAND)
         {
             p_fightValues.MainHandSkillLevelBonus = ResolveValue(p_fightValues.MainHandSkillLevelBonus, p_effect, p_skill);
         }
         else if (p_slot == EEquipSlots.OFF_HAND)
         {
             p_fightValues.OffHandSkillLevelBonus = ResolveValue(p_fightValues.OffHandSkillLevelBonus, p_effect, p_skill);
         }
         else if (p_slot == EEquipSlots.RANGE_WEAPON)
         {
             p_fightValues.RangedSkillLevelBonus = ResolveValue(p_fightValues.RangedSkillLevelBonus, p_effect, p_skill);
         }
     }
 }
        private Single ResolveValue(Single p_baseValue, SkillEffectStaticData p_effect, Skill p_skill)
        {
            switch (p_effect.Mode)
            {
            case ESkillEffectMode.FIXED:
                return(p_baseValue + p_effect.Value);

            case ESkillEffectMode.PER_SKILL_LEVEL:
                return(p_baseValue + p_effect.Value * (p_skill.Level + p_skill.VirtualSkillLevel));

            case ESkillEffectMode.PERCENT:
                return(p_baseValue * (1f + p_effect.Value));

            case ESkillEffectMode.PER_DESTINY:
                return(p_baseValue + p_effect.Value * m_character.CurrentAttributes.Destiny);

            default:
                return(p_baseValue);
            }
        }
 private void IncreaseCriticalHitChances(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill, EEquipSlots p_slot)
 {
     if (p_effect.Condition == ESkillEffectCondition.FOR_EACH_EQUIPMENT)
     {
         p_fightValues.CriticalMainHandHitChance = ResolveValue(p_fightValues.CriticalMainHandHitChance, p_effect, p_skill);
         p_fightValues.CriticalOffHandHitChance  = ResolveValue(p_fightValues.CriticalOffHandHitChance, p_effect, p_skill);
     }
     else if (p_slot == EEquipSlots.RANGE_WEAPON)
     {
         p_fightValues.CriticalRangeHitChance = ResolveValue(p_fightValues.CriticalRangeHitChance, p_effect, p_skill);
     }
     else if (p_slot == EEquipSlots.MAIN_HAND)
     {
         p_fightValues.CriticalMainHandHitChance = ResolveValue(p_fightValues.CriticalMainHandHitChance, p_effect, p_skill);
     }
     else if (p_slot == EEquipSlots.OFF_HAND)
     {
         p_fightValues.CriticalOffHandHitChance = ResolveValue(p_fightValues.CriticalOffHandHitChance, p_effect, p_skill);
     }
 }
 private void DecreaseDamageValuePenalty(FightValues p_fightValues, EEquipSlots p_slot, SkillEffectStaticData p_effect, Skill p_skill)
 {
     if (p_slot == EEquipSlots.OFF_HAND)
     {
         p_fightValues.DualWieldDamageBonus = ResolveValue(p_fightValues.DualWieldDamageBonus, p_effect, p_skill);
     }
 }
 private void DecreaseAttackValuePenalty(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     p_fightValues.AttackValuePenaltyReduction = (Int32)ResolveValue(p_fightValues.AttackValuePenaltyReduction, p_effect, p_skill);
 }
 private void IncreaseMeleeBlockAttempts(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     p_fightValues.MeleeBlockAttempts += (Int32)p_effect.Value;
 }
 private void IncreaseBlockChance(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     p_fightValues.GeneralBlockChance = ResolveValue(p_fightValues.GeneralBlockChance, p_effect, p_skill);
 }
 private void IncreaseMagicalCriticalHitChances(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     p_fightValues.CriticalMagicHitChance = ResolveValue(p_fightValues.CriticalMagicHitChance, p_effect, p_skill);
 }
        private void IncreaseCriticalHitDestinyMultiplier(FightValues p_fightValues, EEquipSlots p_slot, SkillEffectStaticData p_effect, Skill p_skill)
        {
            Int32  destiny = m_character.CurrentAttributes.Destiny;
            Single num     = p_effect.Value * destiny;

            if (p_slot == EEquipSlots.OFF_HAND)
            {
                p_fightValues.OffHandCriticalHitDestinyMultiplier += num;
            }
            else if (p_slot == EEquipSlots.MAIN_HAND)
            {
                p_fightValues.MainHandCriticalHitDestinyMultiplier += num;
            }
            else if (p_slot == EEquipSlots.RANGE_WEAPON)
            {
                p_fightValues.RangedCriticalHitDestinyMultiplier += num;
            }
        }
 private void IncreaseMagicSkillBonus(FightValues p_fightValues, SkillEffectStaticData p_effect, Skill p_skill)
 {
     p_fightValues.MagicFactorSkillBonus[(ESkillID)p_skill.StaticID] = ResolveValue(p_fightValues.MagicFactorSkillBonus[(ESkillID)p_skill.StaticID], p_effect, p_skill);
 }
 public SkillEffectEventArgs(SkillEffectStaticData p_skillEffectData)
 {
     EffectData = p_skillEffectData;
 }