// 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: 0x060036E6 RID: 14054 RVA: 0x000F3F58 File Offset: 0x000F2158 public static Fix64 ComputeHealValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo) { return(BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo)); }
// Token: 0x060036CD RID: 14029 RVA: 0x000F3788 File Offset: 0x000F1988 private static Fix64 ComputeHealValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo) { bool isPercent = skillInfo.SkillType == SkillType.SkillType_BF_HealPercent; return(BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo.Power, isPercent, false)); }