From 72e48dde8a913569a8392094d12c44cd48881e1d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 17 十一月 2025 14:27:40 +0800
Subject: [PATCH] 0312 战力计算增加竞技增减伤系数,装备拾取改存guid避免检测过于频繁用索引容易混乱
---
Main/Core/NetworkPackage/ServerPack/HA3_Function/HA304_tagSCHorseSkinInfo.cs | 4 ++--
Main/System/Equip/EquipModel.cs | 19 +++++++++++++++----
Main/Config/Configs/FightPowerRatioConfig.cs | 8 +++++++-
Main/System/Main/FightPowerManager.cs | 2 ++
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB203_tagCSHorseSkinOP.cs | 4 ++--
5 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/Main/Config/Configs/FightPowerRatioConfig.cs b/Main/Config/Configs/FightPowerRatioConfig.cs
index 39e72f3..d430c62 100644
--- a/Main/Config/Configs/FightPowerRatioConfig.cs
+++ b/Main/Config/Configs/FightPowerRatioConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: Friday, August 22, 2025
+// [ Date ]: 2025骞�11鏈�17鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -58,6 +58,8 @@
public float WuFinalDamPerDefRatio;
public float QunFinalDamPerRatio;
public float QunFinalDamPerDefRatio;
+ public float ArenaDamPerRatio;
+ public float ArenaDamPerDefRatio;
public override int LoadKey(string _key)
{
@@ -152,6 +154,10 @@
float.TryParse(tables[40],out QunFinalDamPerRatio);
float.TryParse(tables[41],out QunFinalDamPerDefRatio);
+
+ float.TryParse(tables[42],out ArenaDamPerRatio);
+
+ float.TryParse(tables[43],out ArenaDamPerDefRatio);
}
catch (Exception exception)
{
diff --git a/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB203_tagCSHorseSkinOP.cs b/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB203_tagCSHorseSkinOP.cs
index a8a5c92..dac6372 100644
--- a/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB203_tagCSHorseSkinOP.cs
+++ b/Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB203_tagCSHorseSkinOP.cs
@@ -5,7 +5,7 @@
public class CB203_tagCSHorseSkinOP : GameNetPackBasic {
public byte OPType; // 鎿嶄綔 1-婵�娲伙紱2-浣╂埓锛�3-鍗囨槦
- public byte SkinID; // 澶栬ID锛屼僵鎴存椂鍙�0鍗充负鍗镐笅
+ public ushort SkinID; // 澶栬ID锛屼僵鎴存椂鍙�0鍗充负鍗镐笅
public CB203_tagCSHorseSkinOP () {
combineCmd = (ushort)0x03FE;
@@ -14,7 +14,7 @@
public override void WriteToBytes () {
WriteBytes (OPType, NetDataType.BYTE);
- WriteBytes (SkinID, NetDataType.BYTE);
+ WriteBytes (SkinID, NetDataType.WORD);
}
}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA304_tagSCHorseSkinInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA304_tagSCHorseSkinInfo.cs
index d2e1c07..d3a325b 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA304_tagSCHorseSkinInfo.cs
+++ b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA304_tagSCHorseSkinInfo.cs
@@ -16,7 +16,7 @@
HorseSkinList = new tagSCHorseSkin[Count];
for (int i = 0; i < Count; i ++) {
HorseSkinList[i] = new tagSCHorseSkin();
- TransBytes (out HorseSkinList[i].HorseSkinID, vBytes, NetDataType.BYTE);
+ TransBytes (out HorseSkinList[i].HorseSkinID, vBytes, NetDataType.WORD);
TransBytes (out HorseSkinList[i].State, vBytes, NetDataType.BYTE);
TransBytes (out HorseSkinList[i].EndTime, vBytes, NetDataType.DWORD);
TransBytes (out HorseSkinList[i].Star, vBytes, NetDataType.BYTE);
@@ -24,7 +24,7 @@
}
public class tagSCHorseSkin {
- public byte HorseSkinID; //鍧愰獞澶栬ID
+ public ushort HorseSkinID; //鍧愰獞澶栬ID
public byte State; //鏄惁宸叉縺娲�
public uint EndTime; //鍒版湡鏃堕棿鎴筹紝0涓烘案涔�
public byte Star; //鏄熺骇
diff --git a/Main/System/Equip/EquipModel.cs b/Main/System/Equip/EquipModel.cs
index 238549c..20588d5 100644
--- a/Main/System/Equip/EquipModel.cs
+++ b/Main/System/Equip/EquipModel.cs
@@ -24,7 +24,7 @@
public int[] equipUIGirdEffects; //瑁呭鏍煎瓙鐗规晥
public ItemModel selectFloorEquip; //閫変腑鐨勫湴鏉胯澶�
public int lastShowEquipIndex = -1; //涓婁竴娆$晫闈㈡樉绀鸿澶囩殑绱㈠紩锛屾嬀鍙栧悗鐗╁搧娑堝け闇�璁板綍涓嬪仛琛ㄧ幇
- public Queue<int> waitEquipOP = new Queue<int>(); //绛夊緟鎿嶄綔鐨勮澶囷紝闇�瑕佸拰UI浜や簰纭 涓嶅惈鍒嗚В
+ public Queue<string> waitEquipOP = new Queue<string>(); //绛夊緟鎿嶄綔鐨勮澶囷紝闇�瑕佸拰UI浜や簰纭 涓嶅惈鍒嗚В
public List<int> lastDropIndexs = new List<int>(); //涓婁竴娆℃帀钀界墿鍝佺储寮�
@@ -356,7 +356,13 @@
}
// 濂藉嚑浠惰澶囬渶瑕佸鐞嗙殑鎯呭喌瀛樿捣鏉�
- waitEquipOP.Enqueue(equip.gridIndex);
+ if (waitEquipOP.Contains(equip.guid))
+ {
+ //妫�娴嬫椂鏈洪绻侊紝瀵艰嚧閲嶅鎺ㄩ�侊紝闇�瑕佹娴嬭繃婊わ紝瀵瑰簲Dequeue 涔熷仛涓�娆℃娴�
+ Debug.LogWarning("OpenEquipExchangeWin: 閲嶅鎺ㄩ��");
+ return false;
+ }
+ waitEquipOP.Enqueue(equip.guid);
//鏈洖澶嶈澶囨搷浣滅粨鏋滐紝鍚﹀垯浼氭樉绀烘棫瑁呭
if (waitEquipOPPack)
{
@@ -404,8 +410,13 @@
return null;
}
-
- return PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue());
+ var item = PackManager.Instance.GetItemByGuid(waitEquipOP.Dequeue());
+ if (item != null && item.packType == PackType.DropItem)
+ {
+ return item;
+ }
+ Debug.LogError("GetSelectFloorEquip: 娌℃湁鎵惧埌鍙�夎澶�, 璇ヨ澶囧凡缁忚浆绉�");
+ return null;
}
diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs
index c11b0e5..1b38378 100644
--- a/Main/System/Main/FightPowerManager.cs
+++ b/Main/System/Main/FightPowerManager.cs
@@ -502,6 +502,8 @@
fightPowerVariables["MagDamPerDefRatio"] = fightPowerRatioConfig.MagDamPerDefRatio;
fightPowerVariables["CurePerRatio"] = fightPowerRatioConfig.CurePerRatio;
fightPowerVariables["CurePerDefRatio"] = fightPowerRatioConfig.CurePerDefRatio;
+ fightPowerVariables["ArenaDamPerRatio"] = fightPowerRatioConfig.ArenaDamPerRatio;
+ fightPowerVariables["ArenaDamPerDefRatio"] = fightPowerRatioConfig.ArenaDamPerDefRatio;
long fightPower;
if (useFormulaType == 0)
--
Gitblit v1.8.0