using System.Collections.Generic; public class FightPowerFormula { // 基础属性公式 // 战斗属性公式 // (lvValue+equipValue+bookValue+realmValue+gubaoValue+hjgValue+horseValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue // 战斗力公式 // long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio)/100.0-55000) public static double GetBaseAttr(Dictionary variables) { double lvValue = variables["lvValue"]; double equipValue = variables["equipValue"]; double bookValue = variables["bookValue"]; double realmValue = variables["realmValue"]; double gubaoValue = variables["gubaoValue"]; double hjgValue = variables["hjgValue"]; double horseValue = variables["horseValue"]; double lineupHaloPer = variables["lineupHaloPer"]; double bookPer = variables["bookPer"]; double realmPer = variables["realmPer"]; double gubaoPer = variables["gubaoPer"]; double hjgPer = variables["hjgPer"]; double horsePer = variables["horsePer"]; double lineupInitAddPer = variables["lineupInitAddPer"]; double lineupLVAddPer = variables["lineupLVAddPer"]; double lineupBreakLVAddPer = variables["lineupBreakLVAddPer"]; double lineupStarAddPer = variables["lineupStarAddPer"]; double inheritPer = variables["inheritPer"]; double fetterPer = variables["fetterPer"]; double starTalentPer = variables["starTalentPer"]; double breakLVPer = variables["breakLVPer"]; double awakeTalentPer = variables["awakeTalentPer"]; double heroSelfValue = variables["heroSelfValue"]; return (lvValue + equipValue + bookValue + realmValue + gubaoValue + hjgValue + horseValue) * (1 + lineupHaloPer + bookPer + realmPer + gubaoPer + hjgPer + horsePer + lineupInitAddPer + lineupLVAddPer + lineupBreakLVAddPer + lineupStarAddPer) * (inheritPer + fetterPer + starTalentPer + breakLVPer + awakeTalentPer) + heroSelfValue; } public static double GetFightAttr(Dictionary variables) { double lvValue = variables["lvValue"]; double equipValue = variables["equipValue"]; double bookValue = variables["bookValue"]; double realmValue = variables["realmValue"]; double gubaoValue = variables["gubaoValue"]; double hjgValue = variables["hjgValue"]; double horseValue = variables["horseValue"]; double heroSelfValue = variables["heroSelfValue"]; double lineupHaloValue = variables["lineupHaloValue"]; double starTalentValue = variables["starTalentValue"]; double breakLVValue = variables["breakLVValue"]; double awakeTalentValue = variables["awakeTalentValue"]; double fetterValue = variables["fetterValue"]; return lvValue + equipValue + bookValue + realmValue + gubaoValue + hjgValue + horseValue + (heroSelfValue + lineupHaloValue + starTalentValue + breakLVValue + awakeTalentValue) + fetterValue; } public static double GetFightPower(Dictionary variables) { double Atk = variables["Atk"]; double AtkRatio = variables["AtkRatio"]; double MaxHP = variables["MaxHP"]; double MaxHPRatio = variables["MaxHPRatio"]; double Def = variables["Def"]; double DefRatio = variables["DefRatio"]; double StunRate = variables["StunRate"]; double StunRateRatio = variables["StunRateRatio"]; double SuperHitRate = variables["SuperHitRate"]; double SuperHitRateRatio = variables["SuperHitRateRatio"]; double ComboRate = variables["ComboRate"]; double ComboRateRatio = variables["ComboRateRatio"]; double MissRate = variables["MissRate"]; double MissRateRatio = variables["MissRateRatio"]; double ParryRate = variables["ParryRate"]; double ParryRateRatio = variables["ParryRateRatio"]; double SuckHPPer = variables["SuckHPPer"]; double SuckHPPerRatio = variables["SuckHPPerRatio"]; double StunRateDef = variables["StunRateDef"]; double StunRateDefRatio = variables["StunRateDefRatio"]; double SuperHitRateDef = variables["SuperHitRateDef"]; double SuperHitRateDefRatio = variables["SuperHitRateDefRatio"]; double ComboRateDef = variables["ComboRateDef"]; double ComboRateDefRatio = variables["ComboRateDefRatio"]; double MissRateDef = variables["MissRateDef"]; double MissRateDefRatio = variables["MissRateDefRatio"]; double ParryRateDef = variables["ParryRateDef"]; double ParryRateDefRatio = variables["ParryRateDefRatio"]; double SuckHPPerDef = variables["SuckHPPerDef"]; double SuckHPPerDefRatio = variables["SuckHPPerDefRatio"]; double FinalDamPer = variables["FinalDamPer"]; double FinalDamPerRatio = variables["FinalDamPerRatio"]; double FinalDamPerDef = variables["FinalDamPerDef"]; double FinalDamPerDefRatio = variables["FinalDamPerDefRatio"]; double PhyDamPer = variables["PhyDamPer"]; double PhyDamPerRatio = variables["PhyDamPerRatio"]; double PhyDamPerDef = variables["PhyDamPerDef"]; double PhyDamPerDefRatio = variables["PhyDamPerDefRatio"]; double MagDamPer = variables["MagDamPer"]; double MagDamPerRatio = variables["MagDamPerRatio"]; double MagDamPerDef = variables["MagDamPerDef"]; double MagDamPerDefRatio = variables["MagDamPerDefRatio"]; double NormalSkillPer = variables["NormalSkillPer"]; double NormalSkillPerRatio = variables["NormalSkillPerRatio"]; double NormalSkillPerDef = variables["NormalSkillPerDef"]; double NormalSkillPerDefRatio = variables["NormalSkillPerDefRatio"]; double AngerSkillPer = variables["AngerSkillPer"]; double AngerSkillPerRatio = variables["AngerSkillPerRatio"]; double AngerSkillPerDef = variables["AngerSkillPerDef"]; double AngerSkillPerDefRatio = variables["AngerSkillPerDefRatio"]; double SuperDamPer = variables["SuperDamPer"]; double SuperDamPerRatio = variables["SuperDamPerRatio"]; double SuperDamPerDef = variables["SuperDamPerDef"]; double SuperDamPerDefRatio = variables["SuperDamPerDefRatio"]; double CurePer = variables["CurePer"]; double CurePerRatio = variables["CurePerRatio"]; double CurePerDef = variables["CurePerDef"]; double CurePerDefRatio = variables["CurePerDefRatio"]; double ShieldPer = variables["ShieldPer"]; double ShieldPerRatio = variables["ShieldPerRatio"]; double ShieldPerDef = variables["ShieldPerDef"]; double ShieldPerDefRatio = variables["ShieldPerDefRatio"]; double DOTPer = variables["DOTPer"]; double DOTPerRatio = variables["DOTPerRatio"]; double DOTPerDef = variables["DOTPerDef"]; double DOTPerDefRatio = variables["DOTPerDefRatio"]; double WeiFinalDamPer = variables["WeiFinalDamPer"]; double WeiFinalDamPerRatio = variables["WeiFinalDamPerRatio"]; double WeiFinalDamPerDef = variables["WeiFinalDamPerDef"]; double WeiFinalDamPerDefRatio = variables["WeiFinalDamPerDefRatio"]; double ShuFinalDamPer = variables["ShuFinalDamPer"]; double ShuFinalDamPerRatio = variables["ShuFinalDamPerRatio"]; double ShuFinalDamPerDef = variables["ShuFinalDamPerDef"]; double ShuFinalDamPerDefRatio = variables["ShuFinalDamPerDefRatio"]; double WuFinalDamPer = variables["WuFinalDamPer"]; double WuFinalDamPerRatio = variables["WuFinalDamPerRatio"]; double WuFinalDamPerDef = variables["WuFinalDamPerDef"]; double WuFinalDamPerDefRatio = variables["WuFinalDamPerDefRatio"]; double QunFinalDamPer = variables["QunFinalDamPer"]; double QunFinalDamPerRatio = variables["QunFinalDamPerRatio"]; double QunFinalDamPerDef = variables["QunFinalDamPerDef"]; double QunFinalDamPerDefRatio = variables["QunFinalDamPerDefRatio"]; return Atk * AtkRatio + MaxHP * MaxHPRatio + Def * DefRatio + (StunRate * StunRateRatio + SuperHitRate * SuperHitRateRatio + ComboRate * ComboRateRatio + MissRate * MissRateRatio + ParryRate * ParryRateRatio + SuckHPPer * SuckHPPerRatio + StunRateDef * StunRateDefRatio + SuperHitRateDef * SuperHitRateDefRatio + ComboRateDef * ComboRateDefRatio + MissRateDef * MissRateDefRatio + ParryRateDef * ParryRateDefRatio + SuckHPPerDef * SuckHPPerDefRatio + FinalDamPer * FinalDamPerRatio + FinalDamPerDef * FinalDamPerDefRatio + PhyDamPer * PhyDamPerRatio + PhyDamPerDef * PhyDamPerDefRatio + MagDamPer * MagDamPerRatio + MagDamPerDef * MagDamPerDefRatio + NormalSkillPer * NormalSkillPerRatio + NormalSkillPerDef * NormalSkillPerDefRatio + AngerSkillPer * AngerSkillPerRatio + AngerSkillPerDef * AngerSkillPerDefRatio + SuperDamPer * SuperDamPerRatio + SuperDamPerDef * SuperDamPerDefRatio + CurePer * CurePerRatio + CurePerDef * CurePerDefRatio + ShieldPer * ShieldPerRatio + ShieldPerDef * ShieldPerDefRatio + DOTPer * DOTPerRatio + DOTPerDef * DOTPerDefRatio + WeiFinalDamPer * WeiFinalDamPerRatio + WeiFinalDamPerDef * WeiFinalDamPerDefRatio + ShuFinalDamPer * ShuFinalDamPerRatio + ShuFinalDamPerDef * ShuFinalDamPerDefRatio + WuFinalDamPer * WuFinalDamPerRatio + WuFinalDamPerDef * WuFinalDamPerDefRatio + QunFinalDamPer * QunFinalDamPerRatio + QunFinalDamPerDef * QunFinalDamPerDefRatio) / 100.0 - 55000; } public static double GetSkillsFightPower(Dictionary variables) { double SkillPower = variables["SkillPower"]; double OfficialLV = variables["OfficialLV"]; return SkillPower * OfficialLV; } }