1
0
forked from akanyan/mu3-mods

fix(MPO): min threshold from 0 to AA

This commit is contained in:
2024-12-24 02:02:03 +00:00
parent 8c532260b3
commit 0ece7d4f42
6 changed files with 25 additions and 16 deletions

View File

@ -1,6 +1,7 @@
using MU3.DB; using MU3.DB;
using MU3.User; using MU3.User;
using MU3.Util; using MU3.Util;
using System;
namespace MU3.Battle; namespace MU3.Battle;
class patch_Counters: Counters { class patch_Counters: Counters {
@ -27,7 +28,7 @@ class patch_Counters: Counters {
GameEngine ge = SingletonMonoBehaviour<GameEngine>.instance; GameEngine ge = SingletonMonoBehaviour<GameEngine>.instance;
UserManager userManager = Singleton<UserManager>.instance; UserManager userManager = Singleton<UserManager>.instance;
_userFumen = userManager.getUserFumen(ge.sessionInfo.musicData.id, ge.sessionInfo.musicLevel, create: false); _userFumen = userManager.getUserFumen(ge.sessionInfo.musicData.id, ge.sessionInfo.musicLevel, create: false);
_previousPb = _userFumen?.TechScoreMax ?? 0; _previousPb = Math.Max(_userFumen?.TechScoreMax ?? 0, TechnicalRankID.AA.getLower());
} }
switch(_eAbort) { switch(_eAbort) {
@ -37,6 +38,10 @@ class patch_Counters: Counters {
case patch_UserOption.eAbort.PB: case patch_UserOption.eAbort.PB:
self = _previousPb; self = _previousPb;
break; break;
case patch_UserOption.eAbort.FB:
case patch_UserOption.eAbort.AA:
self = TechnicalRankID.AA.getLower();
break;
default: default:
break; break;
} }

View File

@ -1,6 +1,8 @@
using MU3.Battle; using MU3.Battle;
using MU3.DB;
using MU3.User; using MU3.User;
using MU3.Util; using MU3.Util;
using System;
namespace MU3.Notes; namespace MU3.Notes;
@ -17,19 +19,20 @@ class patch_NotesManager: NotesManager {
var abort = (patch_UserOption.eAbort)GameOption.abort; var abort = (patch_UserOption.eAbort)GameOption.abort;
switch(abort) { switch(abort) {
case patch_UserOption.eAbort.SSS1: case patch_UserOption.eAbort.SSS1:
threshold = 1007500; threshold = TechnicalRankID.SSS1.getLower();
break;
case patch_UserOption.eAbort.FB:
threshold = 970000;
break; break;
case patch_UserOption.eAbort.PB: case patch_UserOption.eAbort.PB:
if(_userFumen == null) { if(_userFumen == null) {
UserManager userManager = Singleton<UserManager>.instance; UserManager userManager = Singleton<UserManager>.instance;
_userFumen = userManager.getUserFumen(_sessionInfo.musicData.id, _sessionInfo.musicLevel, create: false); _userFumen = userManager.getUserFumen(_sessionInfo.musicData.id, _sessionInfo.musicLevel, create: false);
_previousPb = _userFumen?.TechScoreMax ?? 0; _previousPb = Math.Max(TechnicalRankID.AA.getLower(), _userFumen?.TechScoreMax ?? 0);
} }
threshold = _previousPb; threshold = _previousPb;
break; break;
case patch_UserOption.eAbort.FB:
case patch_UserOption.eAbort.AA:
threshold = TechnicalRankID.AA.getLower();
break;
default: default:
break; break;
} }

View File

@ -22,7 +22,7 @@ class patch_UserOption: UserOption {
SSS1 = 4, SSS1 = 4,
PB = 5, PB = 5,
FB = 6, FB = 6,
ZERO = 7, AA = 7,
MAX = 7, MAX = 7,
Default = 0 Default = 0
} }
@ -49,7 +49,7 @@ class patch_UserOption: UserOption {
} }
public void set_Abort(eAbort value) { public void set_Abort(eAbort value) {
if(eAbort.MAX < value) { if(eAbort.MAX < value) {
abort = eAbort.ZERO; abort = eAbort.AA;
} else if(value < eAbort.OFF) { } else if(value < eAbort.OFF) {
abort = eAbort.OFF; abort = eAbort.OFF;
} else { } else {

View File

@ -2,6 +2,7 @@
using MU3.Game; using MU3.Game;
using MU3.User; using MU3.User;
using MU3.Util; using MU3.Util;
using System;
namespace MU3; namespace MU3;
class patch_BattleUI: BattleUI { class patch_BattleUI: BattleUI {
@ -34,12 +35,12 @@ class patch_BattleUI: BattleUI {
var userFumen = userManager.getUserFumen(_sessionInfo.musicData.id, _sessionInfo.musicLevel, create: false); var userFumen = userManager.getUserFumen(_sessionInfo.musicData.id, _sessionInfo.musicLevel, create: false);
var previousPb = userFumen?.TechScoreMax ?? 0; var previousPb = userFumen?.TechScoreMax ?? 0;
rank = UIRetireInfo.Rank.S; rank = UIRetireInfo.Rank.S;
num = 1010000 - previousPb; num = 1010000 - Math.Max(previousPb, TechnicalRankID.AA.getLower());
break; break;
case patch_UserOption.eAbort.FB: case patch_UserOption.eAbort.FB:
case patch_UserOption.eAbort.ZERO: case patch_UserOption.eAbort.AA:
rank = UIRetireInfo.Rank.S; rank = UIRetireInfo.Rank.S;
num = 1010000; num = 1010000 - TechnicalRankID.AA.getLower();
break; break;
default: default:
rank = UIRetireInfo.Rank.MAX; rank = UIRetireInfo.Rank.MAX;

View File

@ -48,7 +48,7 @@ class patch_OptionMiniSummaryController: OptionMiniSummaryController {
comp.text = "FB未達で中断"; comp.text = "FB未達で中断";
break; break;
case 7: case 7:
comp.text = "スコア表示"; comp.text = "AA未達で中断";
break; break;
} }
} else { } else {

View File

@ -22,16 +22,16 @@ class patch_Config: Config {
if(isVsync) { if(isVsync) {
QualitySettings.vSyncCount = 1; QualitySettings.vSyncCount = 1;
framerate = -1; framerate = -1;
Debug.Log("[UnlockFrameRate] VSync on"); Debug.Log("[FrameRate] VSync on");
} else { } else {
Application.targetFrameRate = framerate; Application.targetFrameRate = framerate;
QualitySettings.vSyncCount = 0; QualitySettings.vSyncCount = 0;
if(framerate == 60) { if(framerate == 60) {
Debug.Log("[UnlockFrameRate] Framerate locked to 60 (vanilla)"); Debug.Log("[FrameRate] Framerate locked to 60 (vanilla)");
} else if(framerate == -1) { } else if(framerate == -1) {
Debug.Log("[UnlockFrameRate] Framerate unlocked"); Debug.Log("[FrameRate] Framerate unlocked");
} else { } else {
Debug.Log("[UnlockFrameRate] Framerate locked to " + framerate); Debug.Log("[FrameRate] Framerate locked to " + framerate);
} }
} }
} }