// Token: 0x060036D7 RID: 14039 RVA: 0x000F3C70 File Offset: 0x000F1E70
        public static DamageNumberType ComputeDamangeNumberType(ConfigDataSkillInfo skillInfo, bool isCritical, ArmyRelationData armyRelation, bool isSameTeam)
        {
            DamageNumberType result = DamageNumberType.Normal;

            if (skillInfo != null)
            {
                if (skillInfo.SkillType == SkillType.SkillType_BF_DamageHeal && isSameTeam)
                {
                    result = DamageNumberType.Heal;
                }
                else if (skillInfo.IsDamageSkill())
                {
                    if (isCritical)
                    {
                        result = DamageNumberType.Critical;
                    }
                    else
                    {
                        int num = 0;
                        if (skillInfo.IsPhysicalDamageSkill())
                        {
                            num = armyRelation.Attack - armyRelation.Defend;
                        }
                        else if (skillInfo.IsMagicDamageSkill())
                        {
                            num = armyRelation.Magic - armyRelation.MagicDefend;
                        }
                        if (num > 0)
                        {
                            result = DamageNumberType.Weak;
                        }
                        else if (num < 0)
                        {
                            result = DamageNumberType.Strong;
                        }
                    }
                }
                else if (skillInfo.IsHealSkill())
                {
                    result = DamageNumberType.Heal;
                }
            }
            else if (isCritical)
            {
                result = DamageNumberType.Critical;
            }
            return(result);
        }
        // Token: 0x060036CE RID: 14030 RVA: 0x000F37B0 File Offset: 0x000F19B0
        public static int ComputeSkillHpModifyValue(BattleProperty attackerProperty, BattleProperty targetProperty, ArmyRelationData armyRelation, ConfigDataSkillInfo skillInfo, bool isCritical, bool isBuffForceMagicDamage, bool isBanMeleePunish, ConfigDataTerrainInfo targetTerrain, int gridDistance, bool isSameTeam, RandomNumber randomNumber, IConfigDataLoader configDataLoader)
        {
            Fix64 value = Fix64.Zero;
            bool  flag  = false;

            if (skillInfo.SkillType == SkillType.SkillType_BF_DamageHeal)
            {
                if (isSameTeam)
                {
                    flag = true;
                }
            }
            else if (skillInfo.IsHealSkill() || skillInfo.IsBuffSkill())
            {
                flag = true;
            }
            if (flag)
            {
                value = BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo);
            }
            else
            {
                int targetTerrainBonus = 0;
                if (targetTerrain != null)
                {
                    targetTerrainBonus = targetTerrain.BattleBonus;
                }
                int meleePunish = 0;
                if (gridDistance <= 1 && !isBanMeleePunish)
                {
                    meleePunish = configDataLoader.Const_MeleeATKPunish_Mult;
                }
                if (skillInfo.IsMagic)
                {
                    value = -BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Magic, armyRelation.MagicDefend, meleePunish, false);
                }
                else if (isBuffForceMagicDamage)
                {
                    value = -BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Attack, armyRelation.MagicDefend, meleePunish, true);
                }
                else
                {
                    value = -BattleFormula.ComputePhysicalDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Attack, armyRelation.Defend, meleePunish);
                }
            }
            return((int)((long)Fix64.Round(value)));
        }