// 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))); }