diff --git a/AquaMai/AquaMai.csproj b/AquaMai/AquaMai.csproj index b9bc0103..617c41b7 100644 --- a/AquaMai/AquaMai.csproj +++ b/AquaMai/AquaMai.csproj @@ -273,6 +273,7 @@ + diff --git a/AquaMai/AquaMai.toml b/AquaMai/AquaMai.toml index 36cdbaec..d246aedb 100644 --- a/AquaMai/AquaMai.toml +++ b/AquaMai/AquaMai.toml @@ -26,6 +26,8 @@ LoadAssetBundleWithoutManifest=true SkipEventInfo=true # Random BGM, put Mai2Cue.{acb,awb} of old version of the game in `LocalAssets\Mai2Cue` and rename them RandomBgm=false +# Play "Master" difficulty on Demo screen +DemoMaster=true # Execute some command on game idle or on game start ExecOnIdle="" ExecOnEntry="" diff --git a/AquaMai/Config.cs b/AquaMai/Config.cs index 3290300e..42c1a361 100644 --- a/AquaMai/Config.cs +++ b/AquaMai/Config.cs @@ -23,6 +23,7 @@ namespace AquaMai public bool LoadAssetBundleWithoutManifest { get; set; } public bool QuickSkip { get; set; } public bool RandomBgm { get; set; } + public bool DemoMaster { get; set; } public string CustomVersionString { get; set; } public string ExecOnIdle { get; set; } public string ExecOnEntry { get; set; } diff --git a/AquaMai/UX/DemoMaster.cs b/AquaMai/UX/DemoMaster.cs new file mode 100644 index 00000000..1f640dcf --- /dev/null +++ b/AquaMai/UX/DemoMaster.cs @@ -0,0 +1,27 @@ +using DB; +using HarmonyLib; +using MAI2.Util; +using Manager; +using Process; + +namespace AquaMai.UX +{ + public class DemoMaster + { + [HarmonyPostfix] + [HarmonyPatch(typeof(AdvDemoProcess), "OnStart")] + public static void AdvDemoProcessPostStart() + { + var userOption = Singleton.Instance.GetGameScore(0).UserOption; + userOption.NoteSpeed = OptionNotespeedID.Speed7_0; + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(GamePlayManager), "InitializeAdvertise")] + public static void PreInitializeAdvertise() + { + GameManager.SelectDifficultyID[0] = 3; + GameManager.SelectDifficultyID[1] = 3; + } + } +} \ No newline at end of file