diff --git a/Interface/Base/IGamingQueue.cs b/Interface/Base/IGamingQueue.cs index 14e5ca4..bca61f3 100644 --- a/Interface/Base/IGamingQueue.cs +++ b/Interface/Base/IGamingQueue.cs @@ -179,7 +179,8 @@ namespace Milimoe.FunGame.Core.Interface.Base /// /// 角色 /// 加值 + /// 是否是百分比 /// 是否使用插队保护机制 - public void ChangeCharacterHardnessTime(Character character, double addValue, bool isCheckProtected); + public void ChangeCharacterHardnessTime(Character character, double addValue, bool isPercentage, bool isCheckProtected); } } diff --git a/Model/ActionQueue.cs b/Model/ActionQueue.cs index a6cc764..9584a35 100644 --- a/Model/ActionQueue.cs +++ b/Model/ActionQueue.cs @@ -2761,10 +2761,15 @@ namespace Milimoe.FunGame.Core.Model /// /// 角色 /// 加值 + /// 是否是百分比 /// 是否使用插队保护机制 - public void ChangeCharacterHardnessTime(Character character, double addValue, bool isCheckProtected) + public void ChangeCharacterHardnessTime(Character character, double addValue, bool isPercentage, bool isCheckProtected) { double hardnessTime = _hardnessTimes[character]; + if (isPercentage) + { + addValue = hardnessTime * addValue; + } hardnessTime += addValue; if (hardnessTime <= 0) hardnessTime = 0; _queue.Remove(character);