// 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))); }
// Token: 0x060036E5 RID: 14053 RVA: 0x000F3F38 File Offset: 0x000F2138 public static Fix64 ComputeMagicDamageValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo, bool isCritical, int targetTerrainBonus, int armyMagic, int armyMagicDefend, int meleePunish, bool useAttackAsMagic) { return(BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyMagic, armyMagicDefend, meleePunish, useAttackAsMagic)); }