1
0
forked from akanyan/mu3-mods
Files
mu3-mods/Extras/MoreProfileOptions/MU3.Notes/patch_NotesManager.cs

47 lines
1.5 KiB
C#

using MU3.Battle;
using MU3.DB;
using MU3.User;
using MU3.Util;
using System;
namespace MU3.Notes;
class patch_NotesManager: NotesManager {
private RetireResult _retireResult;
private GameEngine _gameEngine;
private UserFumen _userFumen;
private int _previousPb;
public extern void orig_update();
public new void update() {
orig_update();
int threshold = 0;
var abort = (patch_UserOption.eAbort)GameOption.abort;
switch(abort) {
case patch_UserOption.eAbort.SSS1:
threshold = TechnicalRankID.SSS1.getLower();
break;
case patch_UserOption.eAbort.PB:
if(_userFumen == null) {
UserManager userManager = Singleton<UserManager>.instance;
_userFumen = userManager.getUserFumen(_sessionInfo.musicData.id, _sessionInfo.musicLevel, create: false);
_previousPb = Math.Max(TechnicalRankID.AA.getLower(), _userFumen?.TechScoreMax ?? 0);
}
threshold = _previousPb;
break;
case patch_UserOption.eAbort.FB:
case patch_UserOption.eAbort.AA:
threshold = TechnicalRankID.AA.getLower();
break;
default:
break;
}
if(_retireResult == RetireResult.None && threshold > 0) {
int techScoreEnable = _gameEngine.counters.getTechScoreEnable();
if(techScoreEnable < threshold) {
_retireResult = RetireResult.ScoreRetire;
}
}
}
}