From f10aa2c9487c0ef50df5b0ba1d3990bd735f2402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E5=90=B9=E8=90=BD=E7=9A=84=E5=8F=B6=E5=AD=90?= Date: Tue, 13 May 2025 17:25:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=87=91=E9=92=B1=E5=88=86=E9=85=8D?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Model/GamingQueue.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Model/GamingQueue.cs b/Model/GamingQueue.cs index d8fbd7b..5122b27 100644 --- a/Model/GamingQueue.cs +++ b/Model/GamingQueue.cs @@ -1644,13 +1644,20 @@ namespace Milimoe.FunGame.Core.Model // 现在 20 时间内的非伤害类型辅助也能参与助攻了 Character[] assists = [.. _assistDetail.Keys.Where(c => c != death && (_assistDetail[c].GetPercentage(death) > 0.10 && (_assistDetail[c].GetLastTime(death) - TotalTime <= 30) || (_assistDetail[c].GetNotDamageAssistLastTime(killer) - TotalTime <= 20)))]; - double totalDamagePercentage = _assistDetail.Keys.Where(assists.Contains).Select(c => _assistDetail[c].GetPercentage(death)).Sum(); + double totalDamagePercentage = _assistDetail.Keys.Where(assists.Contains).Select(c => _assistDetail[c].GetPercentage(death) < 0.10 && + _assistDetail[c].GetNotDamageAssistLastTime(killer) - TotalTime <= 20 ? 0.1 : _assistDetail[c].GetPercentage(death)).Sum(); int totalMoney = Math.Min(Convert.ToInt32(money * totalDamagePercentage), 425); // 防止刷伤害设置金钱上限 // 分配金钱和累计助攻 foreach (Character assist in assists) { - int cmoney = Convert.ToInt32(_assistDetail[assist].GetPercentage(death) / totalDamagePercentage * totalMoney); + bool hasNotDamageAssist = _assistDetail[assist].GetNotDamageAssistLastTime(killer) - TotalTime <= 20; + double damagePercentage = _assistDetail[assist].GetPercentage(death); + if (hasNotDamageAssist && damagePercentage < 0.1) + { + damagePercentage = 0.1; + } + int cmoney = Convert.ToInt32(damagePercentage / totalDamagePercentage * totalMoney); if (assist != killer) { if (!_earnedMoney.TryAdd(assist, cmoney)) _earnedMoney[assist] += cmoney;