|
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<string, double> 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<string, double> 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<string, double> 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<string, double> variables)
|
{
|
double SkillPower = variables["SkillPower"];
|
double OfficialLV = variables["OfficialLV"];
|
return SkillPower * OfficialLV;
|
}
|
}
|