| Main/Config/Configs/FightPowerRatioConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/FightPowerFormula.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/FightPowerManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Config/Configs/FightPowerRatioConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: Tuesday, January 6, 2026 // [ Date ]: 2026年1月13日 //-------------------------------------------------------- using System.Collections.Generic; @@ -20,6 +20,7 @@ public float AtkRatio; public float MaxHPRatio; public float DefRatio; public float AtkSpeedRatio; public float StunRateRatio; public float SuperHitRateRatio; public float ComboRateRatio; @@ -83,93 +84,95 @@ float.TryParse(tables[3],out DefRatio); float.TryParse(tables[4],out StunRateRatio); float.TryParse(tables[4],out AtkSpeedRatio); float.TryParse(tables[5],out SuperHitRateRatio); float.TryParse(tables[5],out StunRateRatio); float.TryParse(tables[6],out ComboRateRatio); float.TryParse(tables[6],out SuperHitRateRatio); float.TryParse(tables[7],out MissRateRatio); float.TryParse(tables[7],out ComboRateRatio); float.TryParse(tables[8],out ParryRateRatio); float.TryParse(tables[8],out MissRateRatio); float.TryParse(tables[9],out SuckHPPerRatio); float.TryParse(tables[9],out ParryRateRatio); float.TryParse(tables[10],out StunRateDefRatio); float.TryParse(tables[10],out SuckHPPerRatio); float.TryParse(tables[11],out SuperHitRateDefRatio); float.TryParse(tables[11],out StunRateDefRatio); float.TryParse(tables[12],out ComboRateDefRatio); float.TryParse(tables[12],out SuperHitRateDefRatio); float.TryParse(tables[13],out MissRateDefRatio); float.TryParse(tables[13],out ComboRateDefRatio); float.TryParse(tables[14],out ParryRateDefRatio); float.TryParse(tables[14],out MissRateDefRatio); float.TryParse(tables[15],out SuckHPPerDefRatio); float.TryParse(tables[15],out ParryRateDefRatio); float.TryParse(tables[16],out FinalDamPerRatio); float.TryParse(tables[16],out SuckHPPerDefRatio); float.TryParse(tables[17],out FinalDamPerDefRatio); float.TryParse(tables[17],out FinalDamPerRatio); float.TryParse(tables[18],out PhyDamPerRatio); float.TryParse(tables[18],out FinalDamPerDefRatio); float.TryParse(tables[19],out PhyDamPerDefRatio); float.TryParse(tables[19],out PhyDamPerRatio); float.TryParse(tables[20],out MagDamPerRatio); float.TryParse(tables[20],out PhyDamPerDefRatio); float.TryParse(tables[21],out MagDamPerDefRatio); float.TryParse(tables[21],out MagDamPerRatio); float.TryParse(tables[22],out NormalSkillPerRatio); float.TryParse(tables[22],out MagDamPerDefRatio); float.TryParse(tables[23],out NormalSkillPerDefRatio); float.TryParse(tables[23],out NormalSkillPerRatio); float.TryParse(tables[24],out AngerSkillPerRatio); float.TryParse(tables[24],out NormalSkillPerDefRatio); float.TryParse(tables[25],out AngerSkillPerDefRatio); float.TryParse(tables[25],out AngerSkillPerRatio); float.TryParse(tables[26],out SuperDamPerRatio); float.TryParse(tables[26],out AngerSkillPerDefRatio); float.TryParse(tables[27],out SuperDamPerDefRatio); float.TryParse(tables[27],out SuperDamPerRatio); float.TryParse(tables[28],out CurePerRatio); float.TryParse(tables[28],out SuperDamPerDefRatio); float.TryParse(tables[29],out CurePerDefRatio); float.TryParse(tables[29],out CurePerRatio); float.TryParse(tables[30],out ShieldPerRatio); float.TryParse(tables[30],out CurePerDefRatio); float.TryParse(tables[31],out ShieldPerDefRatio); float.TryParse(tables[31],out ShieldPerRatio); float.TryParse(tables[32],out DOTPerRatio); float.TryParse(tables[32],out ShieldPerDefRatio); float.TryParse(tables[33],out DOTPerDefRatio); float.TryParse(tables[33],out DOTPerRatio); float.TryParse(tables[34],out WeiFinalDamPerRatio); float.TryParse(tables[34],out DOTPerDefRatio); float.TryParse(tables[35],out WeiFinalDamPerDefRatio); float.TryParse(tables[35],out WeiFinalDamPerRatio); float.TryParse(tables[36],out ShuFinalDamPerRatio); float.TryParse(tables[36],out WeiFinalDamPerDefRatio); float.TryParse(tables[37],out ShuFinalDamPerDefRatio); float.TryParse(tables[37],out ShuFinalDamPerRatio); float.TryParse(tables[38],out WuFinalDamPerRatio); float.TryParse(tables[38],out ShuFinalDamPerDefRatio); float.TryParse(tables[39],out WuFinalDamPerDefRatio); float.TryParse(tables[39],out WuFinalDamPerRatio); float.TryParse(tables[40],out QunFinalDamPerRatio); float.TryParse(tables[40],out WuFinalDamPerDefRatio); float.TryParse(tables[41],out QunFinalDamPerDefRatio); float.TryParse(tables[41],out QunFinalDamPerRatio); float.TryParse(tables[42],out PVPDamPerRatio); float.TryParse(tables[42],out QunFinalDamPerDefRatio); float.TryParse(tables[43],out PVPDamPerDefRatio); float.TryParse(tables[43],out PVPDamPerRatio); float.TryParse(tables[44],out GuanchuanRatio); float.TryParse(tables[44],out PVPDamPerDefRatio); float.TryParse(tables[45],out GuanchuanDefRatio); float.TryParse(tables[45],out GuanchuanRatio); float.TryParse(tables[46],out ZhaojiaRatio); float.TryParse(tables[46],out GuanchuanDefRatio); float.TryParse(tables[47],out ZhaojiaDefRatio); float.TryParse(tables[47],out ZhaojiaRatio); float.TryParse(tables[48],out ZhaojiaDefRatio); } catch (Exception exception) { Main/System/Main/FightPowerFormula.cs
@@ -39,6 +39,8 @@ private const string MAXHPRATIO_VALUE = "MaxHPRatio"; private const string DEF_VALUE = "Def"; private const string DEFRATIO_VALUE = "DefRatio"; private const string ATKSPEED_VALUE = "AtkSpeed"; private const string ATKSPEEDRATIO_VALUE = "AtkSpeedRatio"; private const string STUNRATE_VALUE = "StunRate"; private const string STUNRATERATIO_VALUE = "StunRateRatio"; private const string SUPERHITRATE_VALUE = "SuperHitRate"; @@ -135,7 +137,7 @@ // 战斗属性公式 // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue)+(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+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000) // long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(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+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000) // 技能战斗力公式 // SkillPower*OfficialLV @@ -199,6 +201,8 @@ double MaxHPRatio = variables[MAXHPRATIO_VALUE]; double Def = variables[DEF_VALUE]; double DefRatio = variables[DEFRATIO_VALUE]; double AtkSpeed = variables[ATKSPEED_VALUE]; double AtkSpeedRatio = variables[ATKSPEEDRATIO_VALUE]; double StunRate = variables[STUNRATE_VALUE]; double StunRateRatio = variables[STUNRATERATIO_VALUE]; double SuperHitRate = variables[SUPERHITRATE_VALUE]; @@ -288,7 +292,7 @@ double ZhaojiaDef = variables[ZHAOJIADEF_VALUE]; double ZhaojiaDefRatio = variables[ZHAOJIADEFRATIO_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+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000); return (long)(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(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+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000); } public static double GetSkillsFightPower(Dictionary<string, double> variables) Main/System/Main/FightPowerManager.cs
@@ -96,6 +96,7 @@ private const string GUANCHUAN_DEF_RATIO = "GuanchuanDefRatio"; private const string ZHAOJIA_RATIO = "ZhaojiaRatio"; private const string ZHAOJIA_DEF_RATIO = "ZhaojiaDefRatio"; private const string ATKSPEEDRATIO_VALUE = "AtkSpeedRatio"; private const string PLAYER_LV = "PlayerLV"; @@ -551,6 +552,7 @@ fightPowerVariables[GUANCHUAN_DEF_RATIO] = fightPowerRatioConfig.GuanchuanDefRatio; fightPowerVariables[ZHAOJIA_RATIO] = fightPowerRatioConfig.ZhaojiaRatio; fightPowerVariables[ZHAOJIA_DEF_RATIO] = fightPowerRatioConfig.ZhaojiaDefRatio; fightPowerVariables[ATKSPEEDRATIO_VALUE] = fightPowerRatioConfig.AtkSpeedRatio; long fightPower = (long)FightPowerFormula.GetFightPower(fightPowerVariables);