From 02f4c6746426afdb03e49192a149d887c2da38d2 Mon Sep 17 00:00:00 2001 From: basil <2428390463@qq.com> Date: Thu, 24 Sep 2026 22:37:22 +0800 Subject: [PATCH] =?UTF-8?q?Phase=201:=20=E5=A4=8D=E5=90=88=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E4=BF=AE=E9=A5=B0=E5=99=A8=E7=AE=A1=E7=BA=BF=E4=B8=8E?= =?UTF-8?q?=E4=BC=A4=E5=AE=B3=E7=BB=93=E7=AE=97=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameMain/DataTables/tbglobalconfig.bytes | Bin 109 -> 125 bytes .../GameMain/DataTables/tbglobalconfig.json | 16 ++-- Assets/GameMain/DataTables/tbpropconfig.bytes | Bin 915 -> 915 bytes Assets/GameMain/DataTables/tbpropconfig.json | 42 ++++----- Assets/GameMain/DataTables/tbstatconfig.bytes | Bin 432 -> 432 bytes Assets/GameMain/DataTables/tbstatconfig.json | 4 +- .../GameMain/DataTables/tbweaponconfig.bytes | Bin 253 -> 286 bytes .../GameMain/DataTables/tbweaponconfig.json | 30 +++---- .../Base/EntityData/Weapon/WeaponData.cs | 24 ++--- .../GameMain/Scripts/Base/Gen/GlobalConfig.cs | 32 +++---- .../Scripts/Base/Gen/TbGlobalConfig.cs | 16 ++-- .../GameMain/Scripts/Base/Gen/WeaponConfig.cs | 12 +-- .../Presentation/Utility/ItemDescUtility.cs | 38 ++++++-- .../Scripts/Runtime/Battle/CharacterStat.cs | 45 +++++++++- .../Scripts/Runtime/Battle/DamagePipeline.cs | 30 +++++-- .../Runtime/Components/AbsorbComponent.cs | 10 +-- .../EnemyManager/EnemyManagerComponent.cs | 4 +- .../Jobs/SimulationWorld.EnemyJobs.cs | 6 +- .../Scripts/Runtime/EntityLogic/Player.cs | 2 +- .../Runtime/EntityLogic/Weapon/WeaponBase.cs | 7 +- .../Runtime/UIBase/Shop/ShopUseCase.cs | 4 +- .../EditMode/AttributePipelineTests.cs | 84 ++++++++++++++++++ .../Gameplay/EditMode/DamagePipelineTests.cs | 66 +++++++++++--- .../EditMode/Gameplay.EditModeTests.asmdef | 3 +- 数据表/Datas/EntityConfig_实体配置.xlsx | Bin 10250 -> 10251 bytes 数据表/Datas/GlobalConfig_全局配置.xlsx | Bin 11690 -> 11799 bytes 数据表/Datas/LevelConfig_关卡配置.xlsx | Bin 11213 -> 11201 bytes .../LevelUpRewardConfig_升级奖励配置.xlsx | Bin 11436 -> 11463 bytes 数据表/Datas/PropConfig_道具配置.xlsx | Bin 13238 -> 13386 bytes 数据表/Datas/RoleConfig_职业配置.xlsx | Bin 10630 -> 10743 bytes 数据表/Datas/StatConfig_属性边界配置.xlsx | Bin 0 -> 11322 bytes 数据表/Datas/WeaponConfig_武器配置.xlsx | Bin 11585 -> 11688 bytes 数据表/Datas/__beans__.xlsx | Bin 10431 -> 10361 bytes 数据表/Datas/__enums__.xlsx | Bin 15551 -> 17307 bytes 数据表/Datas/__tables__.xlsx | Bin 12154 -> 12166 bytes 35 files changed, 334 insertions(+), 141 deletions(-) create mode 100644 数据表/Datas/StatConfig_属性边界配置.xlsx diff --git a/Assets/GameMain/DataTables/tbglobalconfig.bytes b/Assets/GameMain/DataTables/tbglobalconfig.bytes index 60f8db9f61cf0d600261fa37047483a1ab474f68..d245a7e22cb03fc502f17fb2bf231a90eaee39dc 100644 GIT binary patch delta 58 zcmd0;HDP4?@E-`+0&)^7Q;QfF92^-K80;As8XRWLoN32$_Kc4$BNNNy4hDt#K^=lxntXg18xD6J0_ZV0syEC64L+x diff --git a/Assets/GameMain/DataTables/tbglobalconfig.json b/Assets/GameMain/DataTables/tbglobalconfig.json index d97e382..cbdf399 100644 --- a/Assets/GameMain/DataTables/tbglobalconfig.json +++ b/Assets/GameMain/DataTables/tbglobalconfig.json @@ -3,19 +3,19 @@ "weaponCapacity": 6, "propMaxCount": -1, "playerEntity": "Player", - "absorbSpeed": 15000, - "collectDistance": 350, - "defaultAbsorbRange": 3000, - "weaponRecycleRate": 300, + "absorbSpeed": 12, + "collectDistance": 0.5, + "defaultAbsorbRange": 4, + "weaponRecycleRate": 0.3, "shopGoodsCount": 4, - "shopPriceRandomPercent": 50, + "shopPriceRandomPercent": 0.05, "shopMinPrice": 1, "levelUpRefreshPriceBase": 2, "levelUpRewardCount": 4, "spawnEnemyMaxCount": 5000, - "enemySpawnDistanceMin": 14000, - "enemySpawnDistanceMax": 18000, - "weaponRotateSpeed": 5000, + "enemySpawnDistanceMin": 14, + "enemySpawnDistanceMax": 18, + "weaponRotateSpeed": 5, "weaponBaseCrit": 0.05, "playerGroupName": "Player", "enemyGroupName": "Enemy", diff --git a/Assets/GameMain/DataTables/tbpropconfig.bytes b/Assets/GameMain/DataTables/tbpropconfig.bytes index 570fd8e43ce6118b45df8bab749a6b61606f1dca..965f7113cb34876f0cfac7d6969f01864e034ea3 100644 GIT binary patch delta 211 zcmbQtKABxmr1>T1%gK$;x|Y0Xoyu6j#5z&Xf{}HiR|DJGGd}hytP?M&0a<5kfvi7) z+-wXC22Lrwg|=OGlOq^48QCT`F-8N)dyJ+mU_o&vMO~mq+Z0~Sn10(7&Zj$fyx2eC zMQ>;GH=gJ7H@|3F@~mUhvz~UQhLcQuvt~-#PflghW&v7YKY0q1HV;sfT?!8a!vV(> z*2$-tycpRhi!mE=vokQva7^I^8f-T?h*?7t$baDoQg;JLKI@qAeCfQW-QCYuF8}}x C!cbfQ delta 211 zcmbQtKABxmr1>T1%gK$;x|Y0Xoyu6j#4=IPf{|sSR|6XZgNI8B%ft(6K$e0dko6~! zn}vbFz$t~7f#HVZB=hK}#UhJRn zqPMg88_)Ckn_o07dDb!MSx-At!$~GS1_m*g$*D}*K&>ZSCQo6~<^gJQOaYPyfc8y3 u&Ey3%T8!BcWbF(`kdX@IDEp?nVXx diff --git a/Assets/GameMain/DataTables/tbpropconfig.json b/Assets/GameMain/DataTables/tbpropconfig.json index 837f278..e2715f8 100644 --- a/Assets/GameMain/DataTables/tbpropconfig.json +++ b/Assets/GameMain/DataTables/tbpropconfig.json @@ -6,7 +6,7 @@ "price": 120, "statModifierConfigs": [ { - "statType": 4, + "statType": 5, "value": 10, "modifierType": 100 }, @@ -35,7 +35,7 @@ "modifierType": 200 }, { - "statType": 4, + "statType": 5, "value": 11, "modifierType": 100 } @@ -88,11 +88,11 @@ "statModifierConfigs": [ { "statType": 14, - "value": 800, + "value": 0.8, "modifierType": 100 }, { - "statType": 4, + "statType": 5, "value": 10, "modifierType": 100 } @@ -107,11 +107,11 @@ "statModifierConfigs": [ { "statType": 13, - "value": 10, + "value": 0.1, "modifierType": 100 }, { - "statType": 4, + "statType": 5, "value": 12, "modifierType": 100 }, @@ -144,13 +144,13 @@ "price": 433, "statModifierConfigs": [ { - "statType": 4, + "statType": 6, "value": 44, "modifierType": 100 }, { "statType": 13, - "value": 27, + "value": 0.27, "modifierType": 100 } ], @@ -168,7 +168,7 @@ "modifierType": 100 }, { - "statType": 4, + "statType": 6, "value": 7, "modifierType": 100 }, @@ -201,7 +201,7 @@ "price": 341, "statModifierConfigs": [ { - "statType": 4, + "statType": 6, "value": 57, "modifierType": 100 } @@ -221,7 +221,7 @@ }, { "statType": 9, - "value": 27, + "value": 0.27, "modifierType": 100 } ], @@ -235,12 +235,12 @@ "statModifierConfigs": [ { "statType": 9, - "value": 5, + "value": 0.05, "modifierType": 100 }, { "statType": 13, - "value": 7, + "value": 0.07, "modifierType": 100 } ], @@ -254,7 +254,7 @@ "statModifierConfigs": [ { "statType": 14, - "value": 600, + "value": 0.6, "modifierType": 100 }, { @@ -273,7 +273,7 @@ "statModifierConfigs": [ { "statType": 14, - "value": 1600, + "value": 1.6, "modifierType": 100 }, { @@ -292,7 +292,7 @@ "statModifierConfigs": [ { "statType": 13, - "value": 28, + "value": 0.28, "modifierType": 100 }, { @@ -301,7 +301,7 @@ "modifierType": 100 }, { - "statType": 4, + "statType": 5, "value": 24, "modifierType": 100 } @@ -329,7 +329,7 @@ "price": 204, "statModifierConfigs": [ { - "statType": 4, + "statType": 7, "value": 17, "modifierType": 100 }, @@ -353,13 +353,13 @@ "modifierType": 100 }, { - "statType": 4, + "statType": 7, "value": 19, "modifierType": 100 }, { "statType": 13, - "value": 20, + "value": 0.2, "modifierType": 100 } ], @@ -377,7 +377,7 @@ "modifierType": 200 }, { - "statType": 4, + "statType": 7, "value": 29, "modifierType": 100 }, diff --git a/Assets/GameMain/DataTables/tbstatconfig.bytes b/Assets/GameMain/DataTables/tbstatconfig.bytes index bed3ac6d916ce621e1421c1c7d87496d9b2095ea..62ff60475ef35470ded263262e49f7d01fb4db72 100644 GIT binary patch delta 18 XcmdnMyn%T_5>tcy#FQcsdE*8EKhy_< delta 18 XcmdnMyn%T_5)%W%#FQcsdE*8EG-3t? diff --git a/Assets/GameMain/DataTables/tbstatconfig.json b/Assets/GameMain/DataTables/tbstatconfig.json index 5f3a0cd..e55b733 100644 --- a/Assets/GameMain/DataTables/tbstatconfig.json +++ b/Assets/GameMain/DataTables/tbstatconfig.json @@ -32,7 +32,7 @@ { "statType": 4, "name": "伤害", - "defaultBaseValue": 0, + "defaultBaseValue": 1, "hasMin": true, "minValue": -1, "hasMax": false, @@ -72,7 +72,7 @@ { "statType": 8, "name": "攻击速度", - "defaultBaseValue": 0, + "defaultBaseValue": 1, "hasMin": true, "minValue": -0.8, "hasMax": false, diff --git a/Assets/GameMain/DataTables/tbweaponconfig.bytes b/Assets/GameMain/DataTables/tbweaponconfig.bytes index f8ea49ee4aa58c6eb4c77884965e7ca8b5f4d61a..897d1991fe6b80fb2afa6943fe9428c4a3964b2b 100644 GIT binary patch delta 145 zcmey%IFCt*m61C=~fe R`XuHhr?S1Ay8qd{RRB*7BEkRw delta 112 zcmbQo^p{bFm61C Config.Price; - public float Cooldown => Config.Cooldown / 1000f; + public float Cooldown => Config.Cooldown; - public float AttackRange => Config.AttackRange / 1000f; + public float AttackRange => Config.AttackRange; public int AttackSoundId => Config.AttackSoundId; - public IReadOnlyDictionary Parameters => Config.Parameters; + public IReadOnlyDictionary Parameters => Config.Parameters; public IReadOnlyList Modifiers => Config.StatModifierConfigs; - - public int GetParam(ParamType paramType) - { - if (Config.Parameters.TryGetValue(paramType, out int value)) - { - return value; - } - - Log.Error("Weapon parameter '{0}' not found for weapon '{1}'.", paramType, Config.WeaponType); - return 0; - } - + public float GetParamFloat(ParamType paramType) { - if (Config.Parameters.TryGetValue(paramType, out int val)) + if (Config.Parameters.TryGetValue(paramType, out float val)) { - return paramType == ParamType.SectorAngle ? val : val / 1000f; + return val; } Log.Error("Weapon parameter '{0}' not found for weapon '{1}'.", paramType, Config.WeaponType); @@ -65,4 +54,3 @@ namespace SepCore.Entity } } } - diff --git a/Assets/GameMain/Scripts/Base/Gen/GlobalConfig.cs b/Assets/GameMain/Scripts/Base/Gen/GlobalConfig.cs index fe91619..ebed467 100644 --- a/Assets/GameMain/Scripts/Base/Gen/GlobalConfig.cs +++ b/Assets/GameMain/Scripts/Base/Gen/GlobalConfig.cs @@ -20,19 +20,19 @@ public sealed partial class GlobalConfig : Luban.BeanBase PropMaxCount = _buf.ReadInt(); PlayerEntity = _buf.ReadString(); PlayerEntity_Ref = null; - AbsorbSpeed = _buf.ReadInt(); - CollectDistance = _buf.ReadInt(); - DefaultAbsorbRange = _buf.ReadInt(); - WeaponRecycleRate = _buf.ReadInt(); + AbsorbSpeed = _buf.ReadFloat(); + CollectDistance = _buf.ReadFloat(); + DefaultAbsorbRange = _buf.ReadFloat(); + WeaponRecycleRate = _buf.ReadFloat(); ShopGoodsCount = _buf.ReadInt(); - ShopPriceRandomPercent = _buf.ReadInt(); + ShopPriceRandomPercent = _buf.ReadFloat(); ShopMinPrice = _buf.ReadInt(); LevelUpRefreshPriceBase = _buf.ReadInt(); LevelUpRewardCount = _buf.ReadInt(); SpawnEnemyMaxCount = _buf.ReadInt(); - EnemySpawnDistanceMin = _buf.ReadInt(); - EnemySpawnDistanceMax = _buf.ReadInt(); - WeaponRotateSpeed = _buf.ReadInt(); + EnemySpawnDistanceMin = _buf.ReadFloat(); + EnemySpawnDistanceMax = _buf.ReadFloat(); + WeaponRotateSpeed = _buf.ReadFloat(); WeaponBaseCrit = _buf.ReadFloat(); PlayerGroupName = _buf.ReadString(); EnemyGroupName = _buf.ReadString(); @@ -75,19 +75,19 @@ public sealed partial class GlobalConfig : Luban.BeanBase /// /// 自动收集速度 /// - public readonly int AbsorbSpeed; + public readonly float AbsorbSpeed; /// /// 自动收集距离 /// - public readonly int CollectDistance; + public readonly float CollectDistance; /// /// 默认吸收距离 /// - public readonly int DefaultAbsorbRange; + public readonly float DefaultAbsorbRange; /// /// 武器回收价比例 /// - public readonly int WeaponRecycleRate; + public readonly float WeaponRecycleRate; /// /// 商店商品数量 /// @@ -95,7 +95,7 @@ public sealed partial class GlobalConfig : Luban.BeanBase /// /// 商品价格浮动 /// - public readonly int ShopPriceRandomPercent; + public readonly float ShopPriceRandomPercent; /// /// 商品最低价 /// @@ -115,15 +115,15 @@ public sealed partial class GlobalConfig : Luban.BeanBase /// /// 敌人生成最小距离 /// - public readonly int EnemySpawnDistanceMin; + public readonly float EnemySpawnDistanceMin; /// /// 敌人生成最大距离 /// - public readonly int EnemySpawnDistanceMax; + public readonly float EnemySpawnDistanceMax; /// /// 武器旋转速度 /// - public readonly int WeaponRotateSpeed; + public readonly float WeaponRotateSpeed; /// /// 武器基本暴击率 /// diff --git a/Assets/GameMain/Scripts/Base/Gen/TbGlobalConfig.cs b/Assets/GameMain/Scripts/Base/Gen/TbGlobalConfig.cs index 1bbdda1..c84b401 100644 --- a/Assets/GameMain/Scripts/Base/Gen/TbGlobalConfig.cs +++ b/Assets/GameMain/Scripts/Base/Gen/TbGlobalConfig.cs @@ -45,19 +45,19 @@ public partial class TbGlobalConfig /// /// 自动收集速度 /// - public int AbsorbSpeed => _data.AbsorbSpeed; + public float AbsorbSpeed => _data.AbsorbSpeed; /// /// 自动收集距离 /// - public int CollectDistance => _data.CollectDistance; + public float CollectDistance => _data.CollectDistance; /// /// 默认吸收距离 /// - public int DefaultAbsorbRange => _data.DefaultAbsorbRange; + public float DefaultAbsorbRange => _data.DefaultAbsorbRange; /// /// 武器回收价比例 /// - public int WeaponRecycleRate => _data.WeaponRecycleRate; + public float WeaponRecycleRate => _data.WeaponRecycleRate; /// /// 商店商品数量 /// @@ -65,7 +65,7 @@ public partial class TbGlobalConfig /// /// 商品价格浮动 /// - public int ShopPriceRandomPercent => _data.ShopPriceRandomPercent; + public float ShopPriceRandomPercent => _data.ShopPriceRandomPercent; /// /// 商品最低价 /// @@ -85,15 +85,15 @@ public partial class TbGlobalConfig /// /// 敌人生成最小距离 /// - public int EnemySpawnDistanceMin => _data.EnemySpawnDistanceMin; + public float EnemySpawnDistanceMin => _data.EnemySpawnDistanceMin; /// /// 敌人生成最大距离 /// - public int EnemySpawnDistanceMax => _data.EnemySpawnDistanceMax; + public float EnemySpawnDistanceMax => _data.EnemySpawnDistanceMax; /// /// 武器旋转速度 /// - public int WeaponRotateSpeed => _data.WeaponRotateSpeed; + public float WeaponRotateSpeed => _data.WeaponRotateSpeed; /// /// 武器基本暴击率 /// diff --git a/Assets/GameMain/Scripts/Base/Gen/WeaponConfig.cs b/Assets/GameMain/Scripts/Base/Gen/WeaponConfig.cs index 2a99935..048cb72 100644 --- a/Assets/GameMain/Scripts/Base/Gen/WeaponConfig.cs +++ b/Assets/GameMain/Scripts/Base/Gen/WeaponConfig.cs @@ -21,11 +21,11 @@ public sealed partial class WeaponConfig : Luban.BeanBase Rarity = (Rarity)_buf.ReadInt(); Price = _buf.ReadInt(); Attack = _buf.ReadInt(); - Cooldown = _buf.ReadInt(); + Cooldown = _buf.ReadFloat(); DamageType = (DamageType)_buf.ReadInt(); - AttackRange = _buf.ReadInt(); + AttackRange = _buf.ReadFloat(); AttackSoundId = _buf.ReadInt(); - {int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);Parameters = new System.Collections.Generic.Dictionary(n0 * 3 / 2);for(var i0 = 0 ; i0 < n0 ; i0++) { ParamType _k0; _k0 = (ParamType)_buf.ReadInt(); int _v0; _v0 = _buf.ReadInt(); Parameters.Add(_k0, _v0);}} + {int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);Parameters = new System.Collections.Generic.Dictionary(n0 * 3 / 2);for(var i0 = 0 ; i0 < n0 ; i0++) { ParamType _k0; _k0 = (ParamType)_buf.ReadInt(); float _v0; _v0 = _buf.ReadFloat(); Parameters.Add(_k0, _v0);}} {int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);StatModifierConfigs = new System.Collections.Generic.List(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { StatModifierConfig _e0; _e0 = StatModifierConfig.DeserializeStatModifierConfig(_buf); StatModifierConfigs.Add(_e0);}} Prefab = _buf.ReadString(); Prefab_Ref = null; @@ -61,7 +61,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase /// /// 冷却 /// - public readonly int Cooldown; + public readonly float Cooldown; /// /// 伤害类型 /// @@ -69,7 +69,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase /// /// 攻击范围 /// - public readonly int AttackRange; + public readonly float AttackRange; /// /// 攻击音效编号 /// @@ -77,7 +77,7 @@ public sealed partial class WeaponConfig : Luban.BeanBase /// /// 参数类型 /// - public readonly System.Collections.Generic.Dictionary Parameters; + public readonly System.Collections.Generic.Dictionary Parameters; public readonly System.Collections.Generic.List StatModifierConfigs; /// /// 预制体 diff --git a/Assets/GameMain/Scripts/Presentation/Utility/ItemDescUtility.cs b/Assets/GameMain/Scripts/Presentation/Utility/ItemDescUtility.cs index fb533a9..4149f9d 100644 --- a/Assets/GameMain/Scripts/Presentation/Utility/ItemDescUtility.cs +++ b/Assets/GameMain/Scripts/Presentation/Utility/ItemDescUtility.cs @@ -51,13 +51,39 @@ namespace SepCore.CustomUtility string colorTag = statModifierConfig.Value >= 0 ? "green" : "red"; string sign = statModifierConfig.Value >= 0 ? "+" : ""; - if (statModifierConfig.ModifierType == ModifierType.PercentAdd) + StatConfig statConfig = null; + if (GameEntry.Luban != null && GameEntry.Luban.IsReady) + { + statConfig = GameEntry.Luban.Get(index); + } + + if (statConfig != null && !string.IsNullOrEmpty(statConfig.Name)) + { + name = statConfig.Name; + } + + // 是否以百分比展示:由 StatConfig.IsPercentDisplay 真正驱动(Luban 未就绪时 fallback 到已知百分比属性) + bool isPercentDisplay = statConfig != null + ? statConfig.IsPercentDisplay + : (statModifierConfig.StatType is StatType.DamagePercent or StatType.AttackSpeed or StatType.CritChance or StatType.Dodge); + + // 1. 修饰类型判断 + bool isPercentAdd = statModifierConfig.ModifierType == ModifierType.PercentAdd; + bool isPercentMult = statModifierConfig.ModifierType == ModifierType.PercentMult; + bool isFlat = statModifierConfig.ModifierType == ModifierType.Flat; + + // 2. UI 百分比展示裁决: + // - 任意属性的 PercentAdd 词条属于比例加成(如 攻速 +19%、伤害 +5%、移速 +15%) + // - 或属性自身在配置表中标记为百分比显示(IsPercentDisplay 为 true,如暴击率、闪避率等),其 Flat 加成应以百分比呈现(如 0.1 -> +10%) + bool shouldDisplayAsPercent = isPercentAdd || (isFlat && isPercentDisplay); + + if (shouldDisplayAsPercent) { float displayPercent = statModifierConfig.Value * 100f; return $"{name}: {sign}{displayPercent:0.##}%"; } - if (statModifierConfig.ModifierType == ModifierType.PercentMult) + if (isPercentMult) { return $"{name}: x{statModifierConfig.Value:0.##}"; } @@ -89,8 +115,8 @@ namespace SepCore.CustomUtility return null; } - return CreateWeaponDescription(weaponConfig.Attack, weaponConfig.Cooldown / 1000f, - weaponConfig.AttackRange / 1000f, weaponConfig.StatModifierConfigs, weaponConfig.Parameters); + return CreateWeaponDescription(weaponConfig.Attack, weaponConfig.Cooldown, + weaponConfig.AttackRange, weaponConfig.StatModifierConfigs, weaponConfig.Parameters); } public static string CreateWeaponDescription(WeaponBase weapon) @@ -125,7 +151,7 @@ namespace SepCore.CustomUtility } private static string CreateWeaponDescription(int attack, float cooldown, float attackRange, - IEnumerable modifiers, IReadOnlyDictionary parameters) + IEnumerable modifiers, IReadOnlyDictionary parameters) { StringBuilder sb = new StringBuilder(); sb.AppendLine($"攻击: {attack}"); @@ -152,7 +178,7 @@ namespace SepCore.CustomUtility string valStr = kvp.Key == ParamType.SectorAngle ? kvp.Value.ToString() - : (kvp.Value / 1000f).ToString("0.##"); + : kvp.Value.ToString("0.##"); sb.AppendLine($"{paramName}: {valStr}"); } diff --git a/Assets/GameMain/Scripts/Runtime/Battle/CharacterStat.cs b/Assets/GameMain/Scripts/Runtime/Battle/CharacterStat.cs index 64b414f..b756e88 100644 --- a/Assets/GameMain/Scripts/Runtime/Battle/CharacterStat.cs +++ b/Assets/GameMain/Scripts/Runtime/Battle/CharacterStat.cs @@ -13,6 +13,7 @@ namespace SepCore.Battle { private readonly List _modifiers = new(); private float _baseValue; + private bool _isBaseValueExplicitlySet; private bool _isDirty = true; private float _cachedValue; private StatConfig _config; @@ -26,6 +27,11 @@ namespace SepCore.Battle if (_config == null && GameEntry.Luban != null && GameEntry.Luban.IsReady) { _config = GameEntry.Luban.Get((int)Type); + if (!_isBaseValueExplicitlySet && _config != null) + { + _baseValue = _config.DefaultBaseValue; + _isDirty = true; + } } return _config; @@ -33,15 +39,35 @@ namespace SepCore.Battle set { _config = value; + if (!_isBaseValueExplicitlySet && _config != null) + { + _baseValue = _config.DefaultBaseValue; + } _isDirty = true; } } public float BaseValue { - get => _baseValue; + get + { + if (!_isBaseValueExplicitlySet) + { + if (Config != null) + { + _baseValue = Config.DefaultBaseValue; + } + else if (Type is StatType.DamagePercent or StatType.AttackSpeed) + { + _baseValue = 1.0f; + } + } + + return _baseValue; + } set { + _isBaseValueExplicitlySet = true; if (Math.Abs(_baseValue - value) > 1e-6f) { _baseValue = value; @@ -69,8 +95,21 @@ namespace SepCore.Battle public CharacterStat(StatType type, float baseValue = 0f, StatConfig config = null) { Type = type; - _baseValue = baseValue; _config = config; + if (Math.Abs(baseValue) > 1e-6f) + { + _baseValue = baseValue; + _isBaseValueExplicitlySet = true; + } + else if (_config != null) + { + _baseValue = _config.DefaultBaseValue; + _isBaseValueExplicitlySet = true; + } + else if (type is StatType.DamagePercent or StatType.AttackSpeed) + { + _baseValue = 1.0f; + } _isDirty = true; } @@ -154,7 +193,7 @@ namespace SepCore.Battle } } - float finalValue = ((_baseValue + sumFlat) * (1f + sumPercentAdd)) * prodPercentMult; + float finalValue = ((BaseValue + sumFlat) * (1f + sumPercentAdd)) * prodPercentMult; return ClampStat(finalValue); } diff --git a/Assets/GameMain/Scripts/Runtime/Battle/DamagePipeline.cs b/Assets/GameMain/Scripts/Runtime/Battle/DamagePipeline.cs index d32e790..e62bd2e 100644 --- a/Assets/GameMain/Scripts/Runtime/Battle/DamagePipeline.cs +++ b/Assets/GameMain/Scripts/Runtime/Battle/DamagePipeline.cs @@ -26,7 +26,15 @@ namespace SepCore.Battle float maxDodge = 0.8f; if (GameEntry.Luban != null && GameEntry.Luban.IsReady) { - maxDodge = GameEntry.Luban.Global.MaxDodgeRate / 1000f; + StatConfig dodgeConfig = GameEntry.Luban.Get((int)StatType.Dodge); + if (dodgeConfig != null && dodgeConfig.HasMax) + { + maxDodge = dodgeConfig.MaxValue; + } + else + { + maxDodge = GameEntry.Luban.Global.MaxDodgeRate / 1000f; + } } dodgeChance = Mathf.Clamp(dodgeChance, 0f, maxDodge); @@ -55,9 +63,11 @@ namespace SepCore.Battle // 3. 全局百分比增伤放大 (DamagePercent) float damagePercent = context.AttackerPipeline != null ? context.AttackerPipeline.GetValue(StatType.DamagePercent) - : 0f; - float amplifiedDamage = rawDamage * (1f + damagePercent); - amplifiedDamage = Mathf.Max(amplifiedDamage, 1f); + : 1f; + // 允许百分比降至 0,防止负向修饰(如 -100% 增伤/重度虚弱)被错误重置为 1 倍全额伤害 + damagePercent = Mathf.Max(0f, damagePercent); + float amplifiedDamage = rawDamage * damagePercent; + amplifiedDamage = Mathf.Max(amplifiedDamage, 0f); // 4. 暴击判定 (CritChance & CritMultiplier) float attackerCrit = context.AttackerPipeline != null @@ -65,12 +75,16 @@ namespace SepCore.Battle : 0f; float baseCrit = context.BaseCritChance; - if (baseCrit <= 0f && GameEntry.Luban != null && GameEntry.Luban.IsReady) + float maxCrit = 0.9f; + if (GameEntry.Luban != null && GameEntry.Luban.IsReady) { - baseCrit = GameEntry.Luban.Global.WeaponBaseCrit; + StatConfig critConfig = GameEntry.Luban.Get((int)StatType.CritChance); + if (critConfig != null && critConfig.HasMax) + { + maxCrit = critConfig.MaxValue; + } } - - float totalCritChance = Mathf.Clamp(baseCrit + attackerCrit, 0f, 0.9f); + float totalCritChance = Mathf.Clamp(baseCrit + attackerCrit, 0f, maxCrit); bool isCrit = totalCritChance > 0f && Random.value < totalCritChance; float critMultiplier = context.CritMultiplier; diff --git a/Assets/GameMain/Scripts/Runtime/Components/AbsorbComponent.cs b/Assets/GameMain/Scripts/Runtime/Components/AbsorbComponent.cs index 693bfbe..fc35bb5 100644 --- a/Assets/GameMain/Scripts/Runtime/Components/AbsorbComponent.cs +++ b/Assets/GameMain/Scripts/Runtime/Components/AbsorbComponent.cs @@ -8,13 +8,11 @@ namespace SepCore.Components private Player _player; private Transform _target; - private float AbsorbRangeBase => GameEntry.Luban.Global.DefaultAbsorbRange / 1000f; - private float AbsorbSpeed => GameEntry.Luban.Global.AbsorbSpeed / 1000f; - private float CollectDistance => GameEntry.Luban.Global.CollectDistance / 1000f; + public float AbsorbRange => GameEntry.Luban.Global.DefaultAbsorbRange; + public float AbsorbSpeed => GameEntry.Luban.Global.AbsorbSpeed; + public float CollectDistance => GameEntry.Luban.Global.CollectDistance; - private float AbsorbRange => AbsorbRangeBase; - - public void OnInit(Player player, StatComponent statComponent) + public void OnInit(Player player) { _player = player; _target = player.CachedTransform; diff --git a/Assets/GameMain/Scripts/Runtime/CustomComponent/EnemyManager/EnemyManagerComponent.cs b/Assets/GameMain/Scripts/Runtime/CustomComponent/EnemyManager/EnemyManagerComponent.cs index 4e87b5d..1b92ea0 100644 --- a/Assets/GameMain/Scripts/Runtime/CustomComponent/EnemyManager/EnemyManagerComponent.cs +++ b/Assets/GameMain/Scripts/Runtime/CustomComponent/EnemyManager/EnemyManagerComponent.cs @@ -80,8 +80,8 @@ namespace SepCore.EnemyManager _isStopped = false; _spawnEnemyMaxCount = GameEntry.Luban.Global.SpawnEnemyMaxCount; - float minDistance = GameEntry.Luban.Global.EnemySpawnDistanceMin / 1000f; - float maxDistance = GameEntry.Luban.Global.EnemySpawnDistanceMax / 1000f; + float minDistance = GameEntry.Luban.Global.EnemySpawnDistanceMin; + float maxDistance = GameEntry.Luban.Global.EnemySpawnDistanceMax; _player = player.CachedTransform; _spawnPositionStrategy = new RandomCircleSpawnStrategy(minDistance, maxDistance); diff --git a/Assets/GameMain/Scripts/Runtime/CustomComponent/Simulation/Jobs/SimulationWorld.EnemyJobs.cs b/Assets/GameMain/Scripts/Runtime/CustomComponent/Simulation/Jobs/SimulationWorld.EnemyJobs.cs index a7dc2f8..9d0f5b9 100644 --- a/Assets/GameMain/Scripts/Runtime/CustomComponent/Simulation/Jobs/SimulationWorld.EnemyJobs.cs +++ b/Assets/GameMain/Scripts/Runtime/CustomComponent/Simulation/Jobs/SimulationWorld.EnemyJobs.cs @@ -23,19 +23,19 @@ namespace SepCore.Simulation private float ResolveAbsorbRange() { if (_playerAbsorbRange >= 0f) return _playerAbsorbRange; - return GameEntry.Luban != null ? GameEntry.Luban.Global.DefaultAbsorbRange / 1000f : 2f; + return GameEntry.Luban != null ? GameEntry.Luban.Global.DefaultAbsorbRange : 2f; } private float ResolveAbsorbSpeed() { if (_playerAbsorbSpeed >= 0f) return _playerAbsorbSpeed; - return GameEntry.Luban != null ? GameEntry.Luban.Global.AbsorbSpeed / 1000f : 8f; + return GameEntry.Luban != null ? GameEntry.Luban.Global.AbsorbSpeed : 8f; } private float ResolveCollectDistance() { if (_playerCollectDistance >= 0f) return _playerCollectDistance; - return GameEntry.Luban != null ? GameEntry.Luban.Global.CollectDistance / 1000f : 0.5f; + return GameEntry.Luban != null ? GameEntry.Luban.Global.CollectDistance : 0.5f; } [Header("敌人互斥参数")] diff --git a/Assets/GameMain/Scripts/Runtime/EntityLogic/Player.cs b/Assets/GameMain/Scripts/Runtime/EntityLogic/Player.cs index 8088095..8fee5bd 100644 --- a/Assets/GameMain/Scripts/Runtime/EntityLogic/Player.cs +++ b/Assets/GameMain/Scripts/Runtime/EntityLogic/Player.cs @@ -216,7 +216,7 @@ namespace SepCore.Entity _inputComponent.OnInit(); _inputComponent.SetListening(true); - _absorbComponent.OnInit(this, _statComponent); + _absorbComponent.OnInit(this); _weaponEnabled = true; _currentLevel = 0; diff --git a/Assets/GameMain/Scripts/Runtime/EntityLogic/Weapon/WeaponBase.cs b/Assets/GameMain/Scripts/Runtime/EntityLogic/Weapon/WeaponBase.cs index b43dabe..e30184d 100644 --- a/Assets/GameMain/Scripts/Runtime/EntityLogic/Weapon/WeaponBase.cs +++ b/Assets/GameMain/Scripts/Runtime/EntityLogic/Weapon/WeaponBase.cs @@ -34,8 +34,8 @@ namespace SepCore.Entity get { if (WeaponData == null) return 0f; - float attackSpeed = _ownerAttributeProvider?.GetValue(StatType.AttackSpeed) ?? 0f; - float speedFactor = Mathf.Max(0.2f, 1f + attackSpeed); + float attackSpeed = _ownerAttributeProvider?.GetValue(StatType.AttackSpeed) ?? 1f; + float speedFactor = Mathf.Max(0.2f, attackSpeed); return Mathf.Max(0.02f, WeaponData.Cooldown / speedFactor); } } @@ -46,8 +46,7 @@ namespace SepCore.Entity { if (WeaponData == null) return 0f; float rangeBonus = _ownerAttributeProvider?.GetValue(StatType.Range) ?? 0f; - float effectiveBonus = rangeBonus >= 50f ? rangeBonus / 1000f : rangeBonus; - return Mathf.Max(0.5f, WeaponData.AttackRange + effectiveBonus); + return Mathf.Max(0.5f, WeaponData.AttackRange + rangeBonus); } } diff --git a/Assets/GameMain/Scripts/Runtime/UIBase/Shop/ShopUseCase.cs b/Assets/GameMain/Scripts/Runtime/UIBase/Shop/ShopUseCase.cs index f3bb3b6..1c9ae0a 100644 --- a/Assets/GameMain/Scripts/Runtime/UIBase/Shop/ShopUseCase.cs +++ b/Assets/GameMain/Scripts/Runtime/UIBase/Shop/ShopUseCase.cs @@ -124,7 +124,7 @@ namespace SepCore.UI _selections.Clear(); int currentLevel = _currentLevel; - float priceRandomPercent = GameEntry.Luban.Global.ShopPriceRandomPercent / 1000f; + float priceRandomPercent = GameEntry.Luban.Global.ShopPriceRandomPercent; for (int i = 0; i < finalCount; i++) { @@ -324,7 +324,7 @@ namespace SepCore.UI public int CalculateRecyclePrice(int basePrice) { - return Mathf.FloorToInt(basePrice * (GameEntry.Luban.Global.WeaponRecycleRate / 1000f)); + return Mathf.FloorToInt(basePrice * GameEntry.Luban.Global.WeaponRecycleRate); } } } diff --git a/Assets/Tests/Gameplay/EditMode/AttributePipelineTests.cs b/Assets/Tests/Gameplay/EditMode/AttributePipelineTests.cs index b935274..46048e8 100644 --- a/Assets/Tests/Gameplay/EditMode/AttributePipelineTests.cs +++ b/Assets/Tests/Gameplay/EditMode/AttributePipelineTests.cs @@ -169,5 +169,89 @@ namespace VampireLike.Tests.Gameplay.EditMode stat.Config = new StatConfig(StatType.Dodge, hasMax: true, maxValue: 0.80f); Assert.AreEqual(0.80f, stat.Value, 1e-4f); // 自动标记脏并重新钳制 } + + [Test] + public void DamagePercentAndAttackSpeed_DefaultBaseValueIsOne_AndPercentAddScalesCorrectly() + { + // 验证 DamagePercent 配置初值为 1 时,+5% 增伤(PercentAdd = 0.05)正确求值为 1.05 + var damageConfig = new StatConfig(StatType.DamagePercent, defaultBaseValue: 1.0f); + var damageStat = new CharacterStat(StatType.DamagePercent, config: damageConfig); + Assert.AreEqual(1.0f, damageStat.Value, 1e-4f); + + // 模拟“肌肉”+5% 伤害 + damageStat.AddModifier(new StatModifier(0.05f, ModifierType.PercentAdd)); + Assert.AreEqual(1.05f, damageStat.Value, 1e-4f); + + // 模拟额外叠加 +10% 增伤 + damageStat.AddModifier(new StatModifier(0.10f, ModifierType.PercentAdd)); + Assert.AreEqual(1.15f, damageStat.Value, 1e-4f); + + // 验证 AttackSpeed 配置初值为 1 时,+19% 攻速(PercentAdd = 0.19)正确求值为 1.19 + var speedConfig = new StatConfig(StatType.AttackSpeed, defaultBaseValue: 1.0f); + var speedStat = new CharacterStat(StatType.AttackSpeed, config: speedConfig); + Assert.AreEqual(1.0f, speedStat.Value, 1e-4f); + + // 模拟“疾风手套”+19% 攻速 + speedStat.AddModifier(new StatModifier(0.19f, ModifierType.PercentAdd)); + Assert.AreEqual(1.19f, speedStat.Value, 1e-4f); + + // 模拟叠加“鼻子”+5% 攻速 + speedStat.AddModifier(new StatModifier(0.05f, ModifierType.PercentAdd)); + Assert.AreEqual(1.24f, speedStat.Value, 1e-4f); + } + + [Test] + public void ItemDescUtility_FormatsDodgeCritPercentAndMoveSpeedCorrectly() + { + // 1. 闪避率(Dodge)Flat 修饰器以百分比展示: 0.1 -> +10%, 0.27 -> +27% + var dodgeMod1 = new StatModifierConfig(StatType.Dodge, 0.1f, ModifierType.Flat); + string dodgeDesc1 = SepCore.CustomUtility.ItemDescUtility.Describe(dodgeMod1); + Assert.IsTrue(dodgeDesc1.Contains("+10%"), $"Expected +10% in: {dodgeDesc1}"); + + var dodgeMod2 = new StatModifierConfig(StatType.Dodge, 0.27f, ModifierType.Flat); + string dodgeDesc2 = SepCore.CustomUtility.ItemDescUtility.Describe(dodgeMod2); + Assert.IsTrue(dodgeDesc2.Contains("+27%"), $"Expected +27% in: {dodgeDesc2}"); + + // 2. 暴击率(CritChance)Flat 修饰器以百分比展示: 0.27 -> +27%, 0.05 -> +5% + var critMod1 = new StatModifierConfig(StatType.CritChance, 0.27f, ModifierType.Flat); + string critDesc1 = SepCore.CustomUtility.ItemDescUtility.Describe(critMod1); + Assert.IsTrue(critDesc1.Contains("+27%"), $"Expected +27% in: {critDesc1}"); + + var critMod2 = new StatModifierConfig(StatType.CritChance, 0.05f, ModifierType.Flat); + string critDesc2 = SepCore.CustomUtility.ItemDescUtility.Describe(critMod2); + Assert.IsTrue(critDesc2.Contains("+5%"), $"Expected +5% in: {critDesc2}"); + + // 3. 移速(MoveSpeed)Flat 修饰器展示原小数: 0.8 -> +0.8 + var speedMod = new StatModifierConfig(StatType.MoveSpeed, 0.8f, ModifierType.Flat); + string speedDesc = SepCore.CustomUtility.ItemDescUtility.Describe(speedMod); + Assert.IsTrue(speedDesc.Contains("+0.8"), $"Expected +0.8 in: {speedDesc}"); + Assert.IsFalse(speedDesc.Contains("%"), $"Expected no % in: {speedDesc}"); + + // 4. 攻速(AttackSpeed)PercentAdd 修饰器以百分比展示: 0.19 -> +19% + var atkSpeedMod = new StatModifierConfig(StatType.AttackSpeed, 0.19f, ModifierType.PercentAdd); + string atkSpeedDesc = SepCore.CustomUtility.ItemDescUtility.Describe(atkSpeedMod); + Assert.IsTrue(atkSpeedDesc.Contains("+19%"), $"Expected +19% in: {atkSpeedDesc}"); + + // 5. 伤害(DamagePercent)PercentAdd 修饰器以百分比展示: 0.05 -> +5% + var dmgMod = new StatModifierConfig(StatType.DamagePercent, 0.05f, ModifierType.PercentAdd); + string dmgDesc = SepCore.CustomUtility.ItemDescUtility.Describe(dmgMod); + Assert.IsTrue(dmgDesc.Contains("+5%"), $"Expected +5% in: {dmgDesc}"); + + // 6. 近战伤害(MeleeDamage,非百分比属性)Flat 修饰器展示原数值: 12 -> +12,不带% + var meleeFlatMod = new StatModifierConfig(StatType.MeleeDamage, 12f, ModifierType.Flat); + string meleeFlatDesc = SepCore.CustomUtility.ItemDescUtility.Describe(meleeFlatMod); + Assert.IsTrue(meleeFlatDesc.Contains("+12"), $"Expected +12 in: {meleeFlatDesc}"); + Assert.IsFalse(meleeFlatDesc.Contains("%"), $"Expected no % in: {meleeFlatDesc}"); + + // 7. 移速(MoveSpeed)若为 PercentAdd 修饰器,以百分比展示: 0.15 -> +15% + var speedPercentMod = new StatModifierConfig(StatType.MoveSpeed, 0.15f, ModifierType.PercentAdd); + string speedPercentDesc = SepCore.CustomUtility.ItemDescUtility.Describe(speedPercentMod); + Assert.IsTrue(speedPercentDesc.Contains("+15%"), $"Expected +15% in: {speedPercentDesc}"); + + // 8. PercentMult 乘数修饰器以 x 表示: 1.25 -> x1.25 + var multMod = new StatModifierConfig(StatType.MaxHp, 1.25f, ModifierType.PercentMult); + string multDesc = SepCore.CustomUtility.ItemDescUtility.Describe(multMod); + Assert.IsTrue(multDesc.Contains("x1.25"), $"Expected x1.25 in: {multDesc}"); + } } } diff --git a/Assets/Tests/Gameplay/EditMode/DamagePipelineTests.cs b/Assets/Tests/Gameplay/EditMode/DamagePipelineTests.cs index 5be5839..be6643f 100644 --- a/Assets/Tests/Gameplay/EditMode/DamagePipelineTests.cs +++ b/Assets/Tests/Gameplay/EditMode/DamagePipelineTests.cs @@ -12,7 +12,8 @@ namespace VampireLike.Tests.Gameplay.EditMode { var attackerPipeline = new AttributePipeline(); attackerPipeline.SetBaseValue(StatType.MeleeDamage, 20f); - attackerPipeline.SetBaseValue(StatType.DamagePercent, 0.50f); // +50% + attackerPipeline.SetBaseValue(StatType.DamagePercent, 1.0f); // 基础 100% 伤害 + attackerPipeline.AddModifier(StatType.DamagePercent, new StatModifier(0.50f, ModifierType.PercentAdd)); // +50% 增伤加成 var context = new DamageContext { @@ -28,7 +29,7 @@ namespace VampireLike.Tests.Gameplay.EditMode }; // Raw = 100 + 20 = 120 - // Amplified = 120 * (1 + 0.5) = 180 + // Amplified = 120 * (1.0 * (1 + 0.5)) = 180 // Armor = 0 -> Mitigation = 1.0 -> 180 DamageResult result = DamagePipeline.Calculate(in context); Assert.AreEqual(180, result.Damage); @@ -246,19 +247,22 @@ namespace VampireLike.Tests.Gameplay.EditMode [Test] public void RangeBonus_CalculatesAttackRangeCorrectly() { - float baseRange = 5.0f; // 5m + float baseRange = 5.0f; // 5m(统一米制) - // 1. 增加 2m (direct units) + // 1. 增加 2.0m 攻击范围 -> 5.0 + 2.0 = 7.0m float bonus1 = 2.0f; - float eff1 = bonus1 >= 50f ? bonus1 / 1000f : bonus1; - float range1 = UnityEngine.Mathf.Max(0.5f, baseRange + eff1); + float range1 = UnityEngine.Mathf.Max(0.5f, baseRange + bonus1); Assert.AreEqual(7.0f, range1, 1e-4f); - // 2. 增加 1500 (millimeters) - float bonus2 = 1500f; - float eff2 = bonus2 >= 50f ? bonus2 / 1000f : bonus2; - float range2 = UnityEngine.Mathf.Max(0.5f, baseRange + eff2); - Assert.AreEqual(6.5f, range2, 1e-4f); + // 2. 减少 1.5m 攻击范围 -> 5.0 - 1.5 = 3.5m + float bonus2 = -1.5f; + float range2 = UnityEngine.Mathf.Max(0.5f, baseRange + bonus2); + Assert.AreEqual(3.5f, range2, 1e-4f); + + // 3. 极端负向减射程(-10m)触发 0.5m 最小射程保护 + float bonus3 = -10.0f; + float range3 = UnityEngine.Mathf.Max(0.5f, baseRange + bonus3); + Assert.AreEqual(0.5f, range3, 1e-4f); } [Test] @@ -312,5 +316,45 @@ namespace VampireLike.Tests.Gameplay.EditMode UnityEngine.Object.DestroyImmediate(go); } + + [Test] + public void ZeroBaseCrit_NeverProducesCriticalHit() + { + var context = new DamageContext + { + BaseDamage = 100, + BaseCritChance = 0f, + CritMultiplier = 2.0f, + FallbackDefenderArmor = 0f + }; + + for (int i = 0; i < 100; i++) + { + DamageResult result = DamagePipeline.Calculate(in context); + Assert.IsFalse(result.IsCrit, "Zero BaseCritChance should never produce a critical hit."); + Assert.AreEqual(100, result.Damage); + } + } + + [Test] + public void NegativeDamagePercent_DoesNotRevertToOneMultiplier_ScalesDownToMinDamage() + { + var attackerPipeline = new AttributePipeline(); + attackerPipeline.SetBaseValue(StatType.DamagePercent, 1.0f); + // 施加 -100% 伤害削弱(伤害倍率降为 0) + attackerPipeline.AddModifier(StatType.DamagePercent, new StatModifier(-1.0f, ModifierType.PercentAdd)); + + var context = new DamageContext + { + BaseDamage = 100, + AttackerPipeline = attackerPipeline, + FallbackDefenderArmor = 0f + }; + + DamageResult result = DamagePipeline.Calculate(in context); + // 修复前: damagePercent <= 0 会被重置为 1f,导致造成 100 满额伤害 + // 修复后: 伤害倍率为 0,最终受到全局 MinDamage(默认为 1)保底 + Assert.AreEqual(1, result.Damage, "Negative or zero damage percent must scale down to min damage (1), never bounce to full damage."); + } } } diff --git a/Assets/Tests/Gameplay/EditMode/Gameplay.EditModeTests.asmdef b/Assets/Tests/Gameplay/EditMode/Gameplay.EditModeTests.asmdef index f8988a7..f7fca60 100644 --- a/Assets/Tests/Gameplay/EditMode/Gameplay.EditModeTests.asmdef +++ b/Assets/Tests/Gameplay/EditMode/Gameplay.EditModeTests.asmdef @@ -6,7 +6,8 @@ "UnityEngine.TestRunner", "UnityEditor.TestRunner", "SepCore.Runtime", - "SepCore.Base" + "SepCore.Base", + "SepCore.Presentation" ], "includePlatforms": [ "Editor" diff --git a/数据表/Datas/EntityConfig_实体配置.xlsx b/数据表/Datas/EntityConfig_实体配置.xlsx index 64a95e2c1f8d733db41aea6793fbcbd9192d61fc..14fb2ac948773147b245f983218b18a1e7147fd8 100644 GIT binary patch delta 1349 zcmV-L1-kl*P>WEokpTrxvx6u$la>J>f5RXchVLf+hlYC#tZq@#vP8{JE-_h+#v8)7 zt+7x7Xt#ea>$*Cl2an`^d3e5$V!qQ&@(Iq@ttk=B2ui@nR@G)xqNi$+UZcbZVU%cE z10~vnM{|C8QAo>V>)_F~7F?*oCy``4leR?L5G=#k%PnZ(v)C{(T(?e(5RYzyf31-3 zVgqW1>p_ez&O~=nN8yI?Ju}UnT4%J&QT!C|2%BVhB zch5jXzu2kkI;<-dX1t-eSfF?j5uF~C7Udn*7;RR6b_X71v{~g8R?%#IAW5-CAL83I zULbg3CEqEj)kQndc>9eol4+7dtf0Wez*dMSBm4wi6Jy*8j7gkndL$`fY>g5y8>pXl z7So0)qIQnU_IbVs8#j+K$Vq_@Os9hVpt;_!(G5EHeHHabLU((;MpKB}%=&ol0X%Wg zjB@gSnH&j&@t`vEW`e;a@INT233(Kh_}RJRCWvR@?Ak>Ai9x`_duOcIo0v)3^p}0st+K89$1g`rqnNzYxOM9S9fF&0l9eaT7VJ`t0*n^;NJ&1b&nmP#tp^<0_L0s789!ruV zmj%_%`dtVmtiW6Mu!;(E2p$AuqE2y1ByQfnzAUh|K5m#y z*>j_Rik#$^ZYDT#$aTlfBf}>mN3o#7`(T-iKo9HX=-Q)}I*AX~7pM~Co|E!4lj#RU z0^Na=F9;O@$CE_}Hh*3Ui_0vH#s@DIl;3j=*X8lW^DHXyu&PY^Ri)AR(A_^*K5!$Y zV)}9;bGK@He``zLv|lUi&AZhMYu;tCkm6ss-Bb39jdfRccXh1rj(ov#N4W|ZDPaCd z2-MQu$8B4S%J#zkZiR;LkMq+WJ_899{7DFhrx1{Cn+GUa?hD<6?KEEr?RVzpKad`? zAqn;x0#+iEaUvCyE+i@ezmr)cGXdk1jUdFaZmb z>?Jk=G9i;qAsmxHCMp8-43iHH7Lzq65R=3a5DNeR00031AOHXWx09_VIspWe=q5G+ zE0Z55Kmq-eU?)5Qev_RiAsZd?$VVgu0068G000;O0000000031AOHXWs*~9#D+cZ( H00000DGzQ^ delta 1345 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 delta 4365 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 H000009n~)+ diff --git a/数据表/Datas/LevelConfig_关卡配置.xlsx b/数据表/Datas/LevelConfig_关卡配置.xlsx index b73b6a27a1af6b4c5c1a05a39d18bbf080ce0358..5a47ec57f6b95b56a39cd0b0e2db7f0eadac4749 100644 GIT binary patch delta 3521 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 delta 3521 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 diff --git a/数据表/Datas/LevelUpRewardConfig_升级奖励配置.xlsx b/数据表/Datas/LevelUpRewardConfig_升级奖励配置.xlsx index c231cbfd2f49319a8fa14bdbc268b2d39a61d322..81a7d7f6ff11749ac46cc1b4a27789f8d7740651 100644 GIT binary patch delta 6952 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 delta 6919 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 Qx;5}jE>5guwtr6k3nLEtRR910 diff --git a/数据表/Datas/PropConfig_道具配置.xlsx b/数据表/Datas/PropConfig_道具配置.xlsx index be654caf2ff0367ec995253de6e25ee51a5af72b..af0457659d3c661bd21219eae4c6bf68d5201d5b 100644 GIT binary patch delta 8902 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 delta 8738 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 t+$PgOg*D#HxMi#+5 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 V!!652j!}g)CfLA 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 literal 0 HcmV?d00001 diff --git a/数据表/Datas/WeaponConfig_武器配置.xlsx b/数据表/Datas/WeaponConfig_武器配置.xlsx index 3073538d7f2ce10b187bdbf574979f114d072e7a..7b466dc8766a810040f840682e2ba1ed8972b9f3 100644 GIT binary patch delta 7837 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

aF%Rw>v(FsM-@u33H^4Vy>6XSPl*c9m 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

c!x)pB_yfIw2&8LR4vuM&Jv?!#UQj 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 diff --git a/数据表/Datas/__beans__.xlsx b/数据表/Datas/__beans__.xlsx index 786a35f5dea55535acff9eab230080c659d74c6f..a5c069fee176667a3d28714b45b915e610d0828a 100644 GIT binary patch delta 5837 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 delta 5906 zcmY*-byU<{7w!N?mi70}E)bImoh8_?QMmmR1L68&>>24T6 zX`~#Gyu9ys*ZuCd&st~i^Q>p@bIw}lkF%e@I<2~uC_KUqZn|d@s8l=wpn7FmF+HfS zoP`9#yZCMGm4JkkYRUq_a)*KYCtqLV4O{cULhqG;Se+p~8su{e;W%gZPs{Z6FE7D@h-eS=i4n$cQ-r5crua)SrP?Nv-oT+?T8HJf2 z&vLotPbm=?Kwz}IWRq=I(UV6&BhPi9;591EGxT=>Q3v-|jT4QYm) z&NJ^F(G(E}1Cd8bzZkf790p$mD98|a|GqpL`^#9fjX#1%X6f05Oag;I7+O>}_%4uY zhANSw?pbPh*-G&3oJO~&G0AtUXq8ZTdwlQHf+JC`9zjT`RKNfEF1RBfrO#7$B(#!g z^=M&pk2(W!srq~yy`}^oYuu#@t5+J0|CDnq(g0l4{XMicBP1Wyr@lGh?o+*KE5_Dq z2?3`oLvvCah_NcN5n+GN?`;N0Gmr@5B@*N0n}0YaL(1eoAgG=26DAd@ptcho)>(`K z>%KICe0oaQ_tiI{#3yW&jc$0ZD23jfchwwjG7X57sgc&_kN`@3sR5P+ z=Z8zm;{zx2j}qKnkuy=w)fqGXy?ui?wm>zd0oTr6;@-vx7Cmmtw6nI9qCSAZytn-%7~A>zQuMgv z^(Yl%8J{s*E}MCpZvcBZG@KpvyME@b*0mK=HPgJdIMX@%k9KtI-PwcqR0m3L4Z}+g zX4G#6q=~i$Ic}sta(1se>fZ9)*K_cde4N`3R8aec^4$9m_v8^)6pn+^lIC<8$*$*J z>Rif*=Vi33vIjsZElRdZH}Z>Y)w4*a%<1ATMCLT6>q+Lm!AjNB)5PVu+g59g_gE@j zcSxx0D%Ch)L~jyj#qdv%V(N;I>N+}@$%l-mt!YfD#A8U2-g*5Eak_+4` zt=f+crG(TQPutkU5#Az~g;-X)wsll-9z%#fiEtxp)`lz(44hv2h0J%gtGOs-?nwTY)st$PrP$T^%`f8O zK6Ql5#A>pbMIE^=)d;KO412O(`7t|$Fj;j*yQyuYW{!j9%s+N*xKUTgmXqBH{-M}& zk@w(KVWg{pi#Xwp?b@7S58IN=ov|}+FGs5$Ad6pSBekC5T%2gvnKpO51R?9RU60eU zSLW>w9@I9&AeJ;GDZJOax8-!V4DAh;3>-!$y?&bgnYBRg(Ir}Sk^9<&9)IX?*y+e_ z(Z$>)l)1_c^tO59(kAT*G4EyX71T8~7Jk?{j0JgxHT&LSoQif(3{^tpQv?LWFO~1J z2v7&9thj=1&4}h}1_U|2_I$$$zuI^m;9z<|jIseU*SscOBOucawzVw82Z2BoC^JeH zz~U*L0)5zTt&3afn=v1IA>dpGX>)2nEqwFzY;-;Jo#SL0pJ_!&b|4vEjB&gCd)-%H z(|t~Mwo}K{`{#lgE~I^Xw1lR9V|k9Ui|dcw9R`^%<6db%JEPN+VDj&bSYD*&y_ki~ zfSGPTV}n*F~o1LiMY-p7*0({(iFZp$QhN~~Cnx5H!Xcxw`L z029M?s!rYkcP8?=QNNXg^rje1{95_}x&#mcA^(H!NP+d17(q)5ht>3P_L ztZYgA0c-9zCMP7-Zmw+#6m&GvvFrkI;pEyc9`$IuKB(603T~&b+l@ffME`mM1xS)8 z%UVAOS0z)0=CVYP^c(NMsDp{1267iw1*OIA+jx(}^u}{EZD&Tns@!jGbv^qCwfT?- z7hC^+xrMbH@H0B}vN{uZ8{y_JHjT(_pc%VF6DH+HWu!Z8NgNOIJ(MRcgscFlFK=z~ zMbpwBd~XzQsOCuNJDjK$;g{@V1h`L)DvaWiV>Qm2Hy@)mi%I|PXdn=E`iIT{WE`m5 z3n=qO4N0&0$;*n}`*+VdgqWytC{$asHW) zkze=h#4Y>w)q;K)m=?=Aq6cfN+kwcTy*TjC5d6LNMCT^X2~l!6hqi}+Lcbo({WnQ^ z+b|mqxA_L~hYh}!E&5i|Df)CSyPovut;3QNWc`P@lK`~l?Miu(`ahC(WVF8C^+k^+5)u z=V1iBPsw#O2*C6=@0J7Qyt{F+(V zDZQk8TfQV@zRO9IPI`KMPTlqRW)xD@xFEpF+Z9 zF%VOA$oY|af}Zc^J`cSJJF{kEJAZN#m_NsWN7yCp7mYT_YLQ~)Pj)5_inON|SVz*I zP5237+|08^G#bxhAf-PP{rWS?(|t-l%J$UuI-7Vi>N&!$WKYwcz~C-5wOAx9G{+et ziZH4VitcK7Drv4-9UD|+hB4#p#F2V*0RDVQB%X9xuAZel6eisDrBQiUHalSpL&e)L zEkRX1gUAFLy8J@CF)>#isAj?#F|inXjYmcm(-m&cfgFpq{E`MHm}UL;QC(XMO;R2- zh32^ap&I!(63pw+zj+?5Mi#6`Ey~iCaw=hhxjmAQ@O@gLyrpSHeqA%_-T2f?pbn-+ z_R#T_hS5o8>k@E=Tm3PWtRbe0QJGIH?6@TS(j~~$-ljO=RCkR|z-FcX;mU3F&8iTJ z$vBW-o4Plg5NwKGeK4QZcM?^tm50@<>;Gf|@d?q@=CMx3v}*_pA~81Y2!TocVRGE4 zLuEo?&@+y4C)vo$G_k0BiXAh+0b>OpHbWG6G~#3W74CK~EKa{VF^h?H^ofa`kc6%t z=oXH6ws@UPzvUS#KXH5N7{qk7T8nc{(~2CF-&9;1tw&Zg9POcPeoo)HWNhDQG-I(( zxinwqlF=7_EHrJ#$|Th&WtDN4$xp(fxdlf>$%>9!7{MOo{`Eh05Jtc(QrZ9*eef@# zy1K*90cqiKc>nuSnd9pqHNCW0eBk*)>n1XHRZ#ZP-?3oS&|*PZ=jK_0`SlZeoc?~H z1zPyn=l&d3_@g@JO~OvpfG3lePl5C}R{5~v&7Ih+bny@xj**s*zWcl_>&)TRis>D% zz_va0XK-W-)!x1r^PI0^dhfzPYh@VXs4XPhIM}l_p~ECuBR+o{{p-*!2&f$#-Pw9E zn`p=P=;FT0q#^od{!sp=p{{xL=Q=EEn+3}nl^}!E^f0K95Z7}49%G2fFBbRtd$`SJ zg{i9z!+&XTM77y`DNemqI%Vc*qHplJa@AT|;`WCKLV84@5@Xgc=c+SoLv1Z#e^*di1b62)A-t=ZIrFJPlxo{HP)O<2IFfr^34$vo2$jYj+_|`FN23@-v z8XCJ=8eO|O8h+>mk*osA#Slp_v#`+lq#d>4xNE=4){8-oj*Rj|o4Q#8j22K=E|xk} z(?_*KouB@KP(VPFMyZ~f<9#$coSxCfwst>pLK&VgpbU>6QHHyjLeB@mxUvxM3^Pkw zlg4<5#lcV*z6Rr{U7e>wGX0McPvfNmq@H7GO2@~JiIZ;gc_a?}WgZrHiuW?}n?j&X!no~8tc6Zfp zxoD+uZv`(fnI-Ry+xXkO=M1W_i&n;EQymt2coFl%-@Tr-h}vtwf1INtY2G91$GV`P z+%H{M;xRUqufx!kt56xWXV65st0(m=UwZCAXh~6Zhlk$FeBak1)53rS+69Q-iu$_K z7b+H(mY`7}Tw)u~nG-@HDfW!(G*!d#A?)6oernifJ6SG1&H3KEGmp^E$*8$+9VMF8 z6}>+KH^kQ7S`IQc3LWTrGpOBFUQ_CAQ95{@7!^3v&;KAhE>sUvx)^3jD5Y$|FdI&v z?5@nI{)c)&l~1)2qfZ9Z9c1VU{Gor@jTJehhv6oC_>1qr8l{y45NV`>#Xp00FO)`T zyxPJ&=?>lL=RG9rkM8DWgLAUFDMzgolHmi;z?v-eoJoRV6CEyHKZTMbu3=h`sm^`f zHZ|fM+7~AC%&~5yQ-puGCKI<^82IyT&EHy}J6?YOgCNW2iuDHE(pgLG-R4+BG)5)) zU)g53 zebc0q%yQ5XdG2j-t@-0@wEY3Xo@7DiL#+U4puS6&DY53SKz;1fcj_?VCqNB{Ig`9< z^zGJqqNOpXX8906rSSLr-?LZu3|!+JqJN6MB4-=fmsGYsUhaly8fQ{Uc1(xtJDha&~<&JN0fjg7A1d7hqcDykmZ5K?STZZOu9 zdhyrn^0#@#E{|MReDxN)oB#x$E?&NtCz4mN+Yu*h|8(1G@SrtQJM&tGjV(TAZMdw! z?V;fHDSk-5ELmt^Fb(BnJ%++Gj)ef@OE)%3#W3DYKC~2<{;iRCOT#?&$A`iyN14Pt zznfDpf2pyBANz1H<8a7SXhEjGzyI;i@2j~fzrXsh6!NqrM11;{__-gLX}$6~+%J=7 z+hl@+g$j8hrVeUawU+{%ap&PRCs(Y)2?fj}y2C?izSr3A!~hBJhCe$8P1E)1W_Z^8 z&Z530bJ_=$l`Td8{vs*TsA^L<&qTbu&A5M#kYBHivYpMee@^AsM0>HkPxqqJpMsST zf4u!GgG1aHSzEmw&)5KXcz1^K0FtX8P|h z9#qK1T9YfgN{|Xv>0O2ye9)WOHx9DI$a{JULs{j-*#nr7GyAFU12W~IK@V+O47{z| zrAfdPv@NvN+2|7z+Z`?iw>FqB*YnQRa_)ZnNXy9SHiq|av?zLfN<$)v=i7v-S42ky zXrQb$;_MD|Ewn%tHo=UJL-Jp&v4px2zceJRuGM~PUbRt5jh6^XlQrWDA4n(5I6S+lRYhBc6~>SWr*9-jP{x@*isZFkks916B zhDm+Yf?p~`@b9iSOmed?gbLcnfO=P$ii^d6$lhy{p}mNhS1NT+jkl zAbpHe9_;Q=8gVwHmiQIro_hCG1X?siiWQ=6%J?Ys6Z64T%2SYFpO< z#uS(whVJ1KJBr(6Yyq+XMnDP|Y9!>>scr}!9JTzpz0==DK0(cO-9MnspJGsS)hhK! zqvbI&MYSv_ph0EPhEq+u${L$V+a(1b zCU*C{d@#DNlQ9#q^%hf@rh@Usz$&=iT0N!Uudtd@R)pKy0-{Hv*hA<&<;Vt!Xz_*Y zMO5Hsz*Hj?Qn)&sxAKX=0%rb^Di@{x+jMVwTMB0flG9vveiHs$4ZJ^!^Y(d!Q|Et5 z82Cu?@f34fHb5~epp|c<{;k(|>QPRoC2sX21%Bix_H!cXId7$UZn3y2+ORQud!c%^ zSiH{+9cw;W-(c4w&|vy!(9qO+oq(`rX1Gad>rg%wnUuji4SVVk^QJ$!k|I6_%HZW* zEm~pwvbM)z=r%6Y1IekaBQnEo8M3q*5wB?bY3&KO4xp*lbFLP`X*)E2e{9c6(o55i zB`SAJfIRZ+n`ye!*YR21!^LQIxDrvE4J6o~7*jCSBg7H*)M>>u9$r7ERraM!;HP2T z0zXE)#&U9N_rY3{_LsQ{@l(&hK`2Q3(3aDgxZ1b=?s3sehM3C@l8ls;iMlFExpVAU z8?9K)P zp=`JzC@hQ_F9mf0L;YW+IEl*uZws}_B~NU9BYt|n5=3EnSWueWRCui@Gj0j|U+k!6 zb{13xH#N(D#Rd@QpWf{s!vnG1%#M^OD@q6|kB1ui&j(qP5(Lt-2Z3(fzxE%}1&W2| z5#BqL5sw7kCsZsCH_N|m-;H{)KnMce`X8=5HENhg8ZQV%!OPC_Uu6~qV)`Fi85q?E XW`^i!5EA`^)7%W=n_J|-{#pGW0=yn> diff --git a/数据表/Datas/__enums__.xlsx b/数据表/Datas/__enums__.xlsx index 7d54eab0040af8f2417d25ac3920538e4bbcd330..dff0a2ec8cf98de9a7b19aeb31043bac60680fa8 100644 GIT binary patch delta 14527 zcmZ8|V_;>=)@^LNW81dVv2ELSc5K_W?WBW_)3Lq7jyrbp`kebc+_!%0RjX>$n6;~F zVd{r>P6TKo2W%?0p_Bk92#8gZARYjm1tt7C_!`B1%!fpXHX?sa0m<#5D*xU2!(y&KqKlx&XjCWIzVYy zQy3?Bng9=qhO%GG#I}arLZW!jhi}Wqa#V0)hSSW4%awE&|8LG0kdvGlwMYvH3L~=$ z+?JX-(>|FK>KhRpij5iJu=u_CWJANW1=e*QFQ+_6Y}`N6*fR@rkEdHkaeEv zdF3!V@)k*d)@&Nn9p$Ks3{k@bTkQ@5^KN zTK|0e#oM!X=E(HR();r3^Zx0FfS+1M!)ix!t*;T#&;Q~FVEN�{EvJK&RMqUg*O# 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 delta 12825 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 Fe*mT`@F)NP diff --git a/数据表/Datas/__tables__.xlsx b/数据表/Datas/__tables__.xlsx index f7828d0f8a2589a17d2750c98c9e08bcdfbdf06e..3798150608b6b2ec0ffa568436205fb28fe5e059 100644 GIT binary patch delta 8181 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 delta 8191 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