Main/System/Main/FightPowerFormula.cs
@@ -2,10 +2,128 @@
public class FightPowerFormula
{
    // 变量名常量定义
    private const string LVVALUE_VALUE = "lvValue";
    private const string EQUIPVALUE_VALUE = "equipValue";
    private const string REALMVALUE_VALUE = "realmValue";
    private const string GUBAOVALUE_VALUE = "gubaoValue";
    private const string HJGVALUE_VALUE = "hjgValue";
    private const string HORSEVALUE_VALUE = "horseValue";
    private const string BEAUTYVALUE_VALUE = "beautyValue";
    private const string FATESVALUE_VALUE = "fatesValue";
    private const string LINEUPHALOPER_VALUE = "lineupHaloPer";
    private const string REALMPER_VALUE = "realmPer";
    private const string GUBAOPER_VALUE = "gubaoPer";
    private const string HJGPER_VALUE = "hjgPer";
    private const string HORSEPER_VALUE = "horsePer";
    private const string BEAUTYPER_VALUE = "beautyPer";
    private const string FATESPER_VALUE = "fatesPer";
    private const string CARDPER_VALUE = "cardPer";
    private const string INHERITPER_VALUE = "inheritPer";
    private const string FETTERPER_VALUE = "fetterPer";
    private const string STARTALENTPER_VALUE = "starTalentPer";
    private const string BREAKLVPER_VALUE = "breakLVPer";
    private const string AWAKETALENTPER_VALUE = "awakeTalentPer";
    private const string HEROSELFVALUE_VALUE = "heroSelfValue";
    private const string HEROLVVALUE_VALUE = "heroLVValue";
    private const string LINEUPHALOVALUE_VALUE = "lineupHaloValue";
    private const string STARTALENTVALUE_VALUE = "starTalentValue";
    private const string BREAKLVVALUE_VALUE = "breakLVValue";
    private const string AWAKETALENTVALUE_VALUE = "awakeTalentValue";
    private const string FETTERVALUE_VALUE = "fetterValue";
    private const string ATK_VALUE = "Atk";
    private const string ATKRATIO_VALUE = "AtkRatio";
    private const string MAXHP_VALUE = "MaxHP";
    private const string MAXHPRATIO_VALUE = "MaxHPRatio";
    private const string DEF_VALUE = "Def";
    private const string DEFRATIO_VALUE = "DefRatio";
    private const string STUNRATE_VALUE = "StunRate";
    private const string STUNRATERATIO_VALUE = "StunRateRatio";
    private const string SUPERHITRATE_VALUE = "SuperHitRate";
    private const string SUPERHITRATERATIO_VALUE = "SuperHitRateRatio";
    private const string COMBORATE_VALUE = "ComboRate";
    private const string COMBORATERATIO_VALUE = "ComboRateRatio";
    private const string MISSRATE_VALUE = "MissRate";
    private const string MISSRATERATIO_VALUE = "MissRateRatio";
    private const string PARRYRATE_VALUE = "ParryRate";
    private const string PARRYRATERATIO_VALUE = "ParryRateRatio";
    private const string SUCKHPPER_VALUE = "SuckHPPer";
    private const string SUCKHPPERRATIO_VALUE = "SuckHPPerRatio";
    private const string STUNRATEDEF_VALUE = "StunRateDef";
    private const string STUNRATEDEFRATIO_VALUE = "StunRateDefRatio";
    private const string SUPERHITRATEDEF_VALUE = "SuperHitRateDef";
    private const string SUPERHITRATEDEFRATIO_VALUE = "SuperHitRateDefRatio";
    private const string COMBORATEDEF_VALUE = "ComboRateDef";
    private const string COMBORATEDEFRATIO_VALUE = "ComboRateDefRatio";
    private const string MISSRATEDEF_VALUE = "MissRateDef";
    private const string MISSRATEDEFRATIO_VALUE = "MissRateDefRatio";
    private const string PARRYRATEDEF_VALUE = "ParryRateDef";
    private const string PARRYRATEDEFRATIO_VALUE = "ParryRateDefRatio";
    private const string SUCKHPPERDEF_VALUE = "SuckHPPerDef";
    private const string SUCKHPPERDEFRATIO_VALUE = "SuckHPPerDefRatio";
    private const string FINALDAMPER_VALUE = "FinalDamPer";
    private const string FINALDAMPERRATIO_VALUE = "FinalDamPerRatio";
    private const string FINALDAMPERDEF_VALUE = "FinalDamPerDef";
    private const string FINALDAMPERDEFRATIO_VALUE = "FinalDamPerDefRatio";
    private const string PHYDAMPER_VALUE = "PhyDamPer";
    private const string PHYDAMPERRATIO_VALUE = "PhyDamPerRatio";
    private const string PHYDAMPERDEF_VALUE = "PhyDamPerDef";
    private const string PHYDAMPERDEFRATIO_VALUE = "PhyDamPerDefRatio";
    private const string MAGDAMPER_VALUE = "MagDamPer";
    private const string MAGDAMPERRATIO_VALUE = "MagDamPerRatio";
    private const string MAGDAMPERDEF_VALUE = "MagDamPerDef";
    private const string MAGDAMPERDEFRATIO_VALUE = "MagDamPerDefRatio";
    private const string NORMALSKILLPER_VALUE = "NormalSkillPer";
    private const string NORMALSKILLPERRATIO_VALUE = "NormalSkillPerRatio";
    private const string NORMALSKILLPERDEF_VALUE = "NormalSkillPerDef";
    private const string NORMALSKILLPERDEFRATIO_VALUE = "NormalSkillPerDefRatio";
    private const string ANGERSKILLPER_VALUE = "AngerSkillPer";
    private const string ANGERSKILLPERRATIO_VALUE = "AngerSkillPerRatio";
    private const string ANGERSKILLPERDEF_VALUE = "AngerSkillPerDef";
    private const string ANGERSKILLPERDEFRATIO_VALUE = "AngerSkillPerDefRatio";
    private const string SUPERDAMPER_VALUE = "SuperDamPer";
    private const string SUPERDAMPERRATIO_VALUE = "SuperDamPerRatio";
    private const string SUPERDAMPERDEF_VALUE = "SuperDamPerDef";
    private const string SUPERDAMPERDEFRATIO_VALUE = "SuperDamPerDefRatio";
    private const string CUREPER_VALUE = "CurePer";
    private const string CUREPERRATIO_VALUE = "CurePerRatio";
    private const string CUREPERDEF_VALUE = "CurePerDef";
    private const string CUREPERDEFRATIO_VALUE = "CurePerDefRatio";
    private const string SHIELDPER_VALUE = "ShieldPer";
    private const string SHIELDPERRATIO_VALUE = "ShieldPerRatio";
    private const string SHIELDPERDEF_VALUE = "ShieldPerDef";
    private const string SHIELDPERDEFRATIO_VALUE = "ShieldPerDefRatio";
    private const string DOTPER_VALUE = "DOTPer";
    private const string DOTPERRATIO_VALUE = "DOTPerRatio";
    private const string DOTPERDEF_VALUE = "DOTPerDef";
    private const string DOTPERDEFRATIO_VALUE = "DOTPerDefRatio";
    private const string WEIFINALDAMPER_VALUE = "WeiFinalDamPer";
    private const string WEIFINALDAMPERRATIO_VALUE = "WeiFinalDamPerRatio";
    private const string WEIFINALDAMPERDEF_VALUE = "WeiFinalDamPerDef";
    private const string WEIFINALDAMPERDEFRATIO_VALUE = "WeiFinalDamPerDefRatio";
    private const string SHUFINALDAMPER_VALUE = "ShuFinalDamPer";
    private const string SHUFINALDAMPERRATIO_VALUE = "ShuFinalDamPerRatio";
    private const string SHUFINALDAMPERDEF_VALUE = "ShuFinalDamPerDef";
    private const string SHUFINALDAMPERDEFRATIO_VALUE = "ShuFinalDamPerDefRatio";
    private const string WUFINALDAMPER_VALUE = "WuFinalDamPer";
    private const string WUFINALDAMPERRATIO_VALUE = "WuFinalDamPerRatio";
    private const string WUFINALDAMPERDEF_VALUE = "WuFinalDamPerDef";
    private const string WUFINALDAMPERDEFRATIO_VALUE = "WuFinalDamPerDefRatio";
    private const string QUNFINALDAMPER_VALUE = "QunFinalDamPer";
    private const string QUNFINALDAMPERRATIO_VALUE = "QunFinalDamPerRatio";
    private const string QUNFINALDAMPERDEF_VALUE = "QunFinalDamPerDef";
    private const string QUNFINALDAMPERDEFRATIO_VALUE = "QunFinalDamPerDefRatio";
    private const string PVPDAMPER_VALUE = "PVPDamPer";
    private const string PVPDAMPERRATIO_VALUE = "PVPDamPerRatio";
    private const string PVPDAMPERDEF_VALUE = "PVPDamPerDef";
    private const string PVPDAMPERDEFRATIO_VALUE = "PVPDamPerDefRatio";
    private const string SKILLPOWER_VALUE = "SkillPower";
    private const string OFFICIALLV_VALUE = "OfficialLV";
    // 基础属性公式
    // (lvValue+equipValue+bookValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue)*(1+lineupHaloPer+bookPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+lineupInitAddPer+lineupLVAddPer+lineupBreakLVAddPer+lineupStarAddPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)+heroSelfValue
    // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)+heroSelfValue+heroLVValue
    // 战斗属性公式
    // (lvValue+equipValue+bookValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue
    // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue)+(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+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio)/100.0-55000)
    // 技能战斗力公式
@@ -13,151 +131,149 @@
    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 beautyValue = variables["beautyValue"];
        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 beautyPer = variables["beautyPer"];
        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"];
        double lvValue = variables[LVVALUE_VALUE];
        double equipValue = variables[EQUIPVALUE_VALUE];
        double realmValue = variables[REALMVALUE_VALUE];
        double gubaoValue = variables[GUBAOVALUE_VALUE];
        double hjgValue = variables[HJGVALUE_VALUE];
        double horseValue = variables[HORSEVALUE_VALUE];
        double beautyValue = variables[BEAUTYVALUE_VALUE];
        double fatesValue = variables[FATESVALUE_VALUE];
        double lineupHaloPer = variables[LINEUPHALOPER_VALUE];
        double realmPer = variables[REALMPER_VALUE];
        double gubaoPer = variables[GUBAOPER_VALUE];
        double hjgPer = variables[HJGPER_VALUE];
        double horsePer = variables[HORSEPER_VALUE];
        double beautyPer = variables[BEAUTYPER_VALUE];
        double fatesPer = variables[FATESPER_VALUE];
        double cardPer = variables[CARDPER_VALUE];
        double inheritPer = variables[INHERITPER_VALUE];
        double fetterPer = variables[FETTERPER_VALUE];
        double starTalentPer = variables[STARTALENTPER_VALUE];
        double breakLVPer = variables[BREAKLVPER_VALUE];
        double awakeTalentPer = variables[AWAKETALENTPER_VALUE];
        double heroSelfValue = variables[HEROSELFVALUE_VALUE];
        double heroLVValue = variables[HEROLVVALUE_VALUE];
        return (lvValue+equipValue+bookValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue)*(1+lineupHaloPer+bookPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+lineupInitAddPer+lineupLVAddPer+lineupBreakLVAddPer+lineupStarAddPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)+heroSelfValue;
        return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)+heroSelfValue+heroLVValue;
    }
    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 beautyValue = variables["beautyValue"];
        double heroSelfValue = variables["heroSelfValue"];
        double lineupHaloValue = variables["lineupHaloValue"];
        double starTalentValue = variables["starTalentValue"];
        double breakLVValue = variables["breakLVValue"];
        double awakeTalentValue = variables["awakeTalentValue"];
        double fetterValue = variables["fetterValue"];
        double lvValue = variables[LVVALUE_VALUE];
        double equipValue = variables[EQUIPVALUE_VALUE];
        double realmValue = variables[REALMVALUE_VALUE];
        double gubaoValue = variables[GUBAOVALUE_VALUE];
        double hjgValue = variables[HJGVALUE_VALUE];
        double horseValue = variables[HORSEVALUE_VALUE];
        double beautyValue = variables[BEAUTYVALUE_VALUE];
        double fatesValue = variables[FATESVALUE_VALUE];
        double heroSelfValue = variables[HEROSELFVALUE_VALUE];
        double lineupHaloValue = variables[LINEUPHALOVALUE_VALUE];
        double starTalentValue = variables[STARTALENTVALUE_VALUE];
        double breakLVValue = variables[BREAKLVVALUE_VALUE];
        double awakeTalentValue = variables[AWAKETALENTVALUE_VALUE];
        double fetterValue = variables[FETTERVALUE_VALUE];
        return (lvValue+equipValue+bookValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue;
        return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue)+(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"];
        double PVPDamPer = variables["PVPDamPer"];
        double PVPDamPerRatio = variables["PVPDamPerRatio"];
        double PVPDamPerDef = variables["PVPDamPerDef"];
        double PVPDamPerDefRatio = variables["PVPDamPerDefRatio"];
        double Atk = variables[ATK_VALUE];
        double AtkRatio = variables[ATKRATIO_VALUE];
        double MaxHP = variables[MAXHP_VALUE];
        double MaxHPRatio = variables[MAXHPRATIO_VALUE];
        double Def = variables[DEF_VALUE];
        double DefRatio = variables[DEFRATIO_VALUE];
        double StunRate = variables[STUNRATE_VALUE];
        double StunRateRatio = variables[STUNRATERATIO_VALUE];
        double SuperHitRate = variables[SUPERHITRATE_VALUE];
        double SuperHitRateRatio = variables[SUPERHITRATERATIO_VALUE];
        double ComboRate = variables[COMBORATE_VALUE];
        double ComboRateRatio = variables[COMBORATERATIO_VALUE];
        double MissRate = variables[MISSRATE_VALUE];
        double MissRateRatio = variables[MISSRATERATIO_VALUE];
        double ParryRate = variables[PARRYRATE_VALUE];
        double ParryRateRatio = variables[PARRYRATERATIO_VALUE];
        double SuckHPPer = variables[SUCKHPPER_VALUE];
        double SuckHPPerRatio = variables[SUCKHPPERRATIO_VALUE];
        double StunRateDef = variables[STUNRATEDEF_VALUE];
        double StunRateDefRatio = variables[STUNRATEDEFRATIO_VALUE];
        double SuperHitRateDef = variables[SUPERHITRATEDEF_VALUE];
        double SuperHitRateDefRatio = variables[SUPERHITRATEDEFRATIO_VALUE];
        double ComboRateDef = variables[COMBORATEDEF_VALUE];
        double ComboRateDefRatio = variables[COMBORATEDEFRATIO_VALUE];
        double MissRateDef = variables[MISSRATEDEF_VALUE];
        double MissRateDefRatio = variables[MISSRATEDEFRATIO_VALUE];
        double ParryRateDef = variables[PARRYRATEDEF_VALUE];
        double ParryRateDefRatio = variables[PARRYRATEDEFRATIO_VALUE];
        double SuckHPPerDef = variables[SUCKHPPERDEF_VALUE];
        double SuckHPPerDefRatio = variables[SUCKHPPERDEFRATIO_VALUE];
        double FinalDamPer = variables[FINALDAMPER_VALUE];
        double FinalDamPerRatio = variables[FINALDAMPERRATIO_VALUE];
        double FinalDamPerDef = variables[FINALDAMPERDEF_VALUE];
        double FinalDamPerDefRatio = variables[FINALDAMPERDEFRATIO_VALUE];
        double PhyDamPer = variables[PHYDAMPER_VALUE];
        double PhyDamPerRatio = variables[PHYDAMPERRATIO_VALUE];
        double PhyDamPerDef = variables[PHYDAMPERDEF_VALUE];
        double PhyDamPerDefRatio = variables[PHYDAMPERDEFRATIO_VALUE];
        double MagDamPer = variables[MAGDAMPER_VALUE];
        double MagDamPerRatio = variables[MAGDAMPERRATIO_VALUE];
        double MagDamPerDef = variables[MAGDAMPERDEF_VALUE];
        double MagDamPerDefRatio = variables[MAGDAMPERDEFRATIO_VALUE];
        double NormalSkillPer = variables[NORMALSKILLPER_VALUE];
        double NormalSkillPerRatio = variables[NORMALSKILLPERRATIO_VALUE];
        double NormalSkillPerDef = variables[NORMALSKILLPERDEF_VALUE];
        double NormalSkillPerDefRatio = variables[NORMALSKILLPERDEFRATIO_VALUE];
        double AngerSkillPer = variables[ANGERSKILLPER_VALUE];
        double AngerSkillPerRatio = variables[ANGERSKILLPERRATIO_VALUE];
        double AngerSkillPerDef = variables[ANGERSKILLPERDEF_VALUE];
        double AngerSkillPerDefRatio = variables[ANGERSKILLPERDEFRATIO_VALUE];
        double SuperDamPer = variables[SUPERDAMPER_VALUE];
        double SuperDamPerRatio = variables[SUPERDAMPERRATIO_VALUE];
        double SuperDamPerDef = variables[SUPERDAMPERDEF_VALUE];
        double SuperDamPerDefRatio = variables[SUPERDAMPERDEFRATIO_VALUE];
        double CurePer = variables[CUREPER_VALUE];
        double CurePerRatio = variables[CUREPERRATIO_VALUE];
        double CurePerDef = variables[CUREPERDEF_VALUE];
        double CurePerDefRatio = variables[CUREPERDEFRATIO_VALUE];
        double ShieldPer = variables[SHIELDPER_VALUE];
        double ShieldPerRatio = variables[SHIELDPERRATIO_VALUE];
        double ShieldPerDef = variables[SHIELDPERDEF_VALUE];
        double ShieldPerDefRatio = variables[SHIELDPERDEFRATIO_VALUE];
        double DOTPer = variables[DOTPER_VALUE];
        double DOTPerRatio = variables[DOTPERRATIO_VALUE];
        double DOTPerDef = variables[DOTPERDEF_VALUE];
        double DOTPerDefRatio = variables[DOTPERDEFRATIO_VALUE];
        double WeiFinalDamPer = variables[WEIFINALDAMPER_VALUE];
        double WeiFinalDamPerRatio = variables[WEIFINALDAMPERRATIO_VALUE];
        double WeiFinalDamPerDef = variables[WEIFINALDAMPERDEF_VALUE];
        double WeiFinalDamPerDefRatio = variables[WEIFINALDAMPERDEFRATIO_VALUE];
        double ShuFinalDamPer = variables[SHUFINALDAMPER_VALUE];
        double ShuFinalDamPerRatio = variables[SHUFINALDAMPERRATIO_VALUE];
        double ShuFinalDamPerDef = variables[SHUFINALDAMPERDEF_VALUE];
        double ShuFinalDamPerDefRatio = variables[SHUFINALDAMPERDEFRATIO_VALUE];
        double WuFinalDamPer = variables[WUFINALDAMPER_VALUE];
        double WuFinalDamPerRatio = variables[WUFINALDAMPERRATIO_VALUE];
        double WuFinalDamPerDef = variables[WUFINALDAMPERDEF_VALUE];
        double WuFinalDamPerDefRatio = variables[WUFINALDAMPERDEFRATIO_VALUE];
        double QunFinalDamPer = variables[QUNFINALDAMPER_VALUE];
        double QunFinalDamPerRatio = variables[QUNFINALDAMPERRATIO_VALUE];
        double QunFinalDamPerDef = variables[QUNFINALDAMPERDEF_VALUE];
        double QunFinalDamPerDefRatio = variables[QUNFINALDAMPERDEFRATIO_VALUE];
        double PVPDamPer = variables[PVPDAMPER_VALUE];
        double PVPDamPerRatio = variables[PVPDAMPERRATIO_VALUE];
        double PVPDamPerDef = variables[PVPDAMPERDEF_VALUE];
        double PVPDamPerDefRatio = variables[PVPDAMPERDEFRATIO_VALUE];
        return (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+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio)/100.0-55000);
    }
    public static double GetSkillsFightPower(Dictionary<string, double> variables)
    {
        double SkillPower = variables["SkillPower"];
        double OfficialLV = variables["OfficialLV"];
        double SkillPower = variables[SKILLPOWER_VALUE];
        double OfficialLV = variables[OFFICIALLV_VALUE];
        return SkillPower*OfficialLV;
    }