From 167720a142f556bc635c2e37493dc2def984cf1c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 13 一月 2026 12:30:15 +0800
Subject: [PATCH] 419 【内政】命格系统 - 先攻属性
---
Main/Config/Configs/FightPowerRatioConfig.cs | 93 ++++++++++++++++++++++++----------------------
Main/System/Main/FightPowerManager.cs | 2 +
Main/System/Main/FightPowerFormula.cs | 8 +++-
3 files changed, 56 insertions(+), 47 deletions(-)
diff --git a/Main/Config/Configs/FightPowerRatioConfig.cs b/Main/Config/Configs/FightPowerRatioConfig.cs
index 09d875c..64e53e7 100644
--- a/Main/Config/Configs/FightPowerRatioConfig.cs
+++ b/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)
{
diff --git a/Main/System/Main/FightPowerFormula.cs b/Main/System/Main/FightPowerFormula.cs
index 6a388dd..d2af00d 100644
--- a/Main/System/Main/FightPowerFormula.cs
+++ b/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)
diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs
index 622970e..5bc5bc6 100644
--- a/Main/System/Main/FightPowerManager.cs
+++ b/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);
--
Gitblit v1.8.0