1
0
mirror of synced 2025-01-31 03:53:44 +01:00

templatemoyai

This commit is contained in:
0auBSQ 2024-07-02 20:13:06 +09:00
parent 03a71a76db
commit 1cf5edeca2
34 changed files with 145 additions and 123 deletions

View File

@ -1,10 +0,0 @@
{
"name" : {
"strings": {
"default": "OpenTaiko-Kun",
"ja": "OpenTaiko君"
}
},
"rarity": "Common",
"author": "Komi"
}

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,16 @@
{
"name" : {
"strings": {
"default": "OpenTaiko-Kun",
"ja": "OpenTaiko君"
}
},
"rarity": "Common",
"description": {
"strings": {
"default": "The most basic puchichara.\nSimple but effective.",
"ja": "一番シンプルなプチキャラ。\n単純ですが効果的。"
}
},
"author": "Komi"
}

View File

@ -0,0 +1,7 @@
{
"condition": "ch",
"type": "me",
"values": [
100,
],
}

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,16 @@
{
"name" : {
"strings": {
"default": "OpenTaiko-Kun (Violet edition)",
"ja": "OpenTaiko君 (バイオレット版)"
}
},
"rarity": "Common",
"description": {
"strings": {
"default": "The evil brother of OpenTaiko-Kun.\nBeware of the sneaky Swap notes.",
"ja": "OpenTaiko君の邪悪な兄弟。\nこそこそなカドン音符に注意しましょう。"
}
},
"author": "Komi"
}

View File

@ -1,5 +0,0 @@
{
"name" : "Template",
"rarity": "Uncommon",
"author": "[Author]",
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1,6 @@
{
"allpurple":false,
"autoroll":6,
"showadlib":false,
"splitlane":false
}

View File

@ -0,0 +1,16 @@
{
"name" : {
"strings": {
"default": "OpenTaiko-Kun (Rich edition)",
"ja": "OpenTaiko君 (金持ち版)"
}
},
"rarity": "Common",
"description": {
"strings": {
"default": "The rich brother of OpenTaiko-Kun.\nRolls over others businesses.",
"ja": "OpenTaiko君のお金持ちな兄弟。\nコインの大部分と引き換えに連打の支援になります。"
}
},
"author": "Komi"
}

View File

@ -0,0 +1,7 @@
{
"condition": "ce",
"type": "me",
"values": [
1000
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,6 @@
{
"allpurple":false,
"autoroll":0,
"showadlib":true,
"splitlane":false
}

View File

@ -0,0 +1,16 @@
{
"name" : {
"strings": {
"default": "OpenTaiko-Kun (Glass edition)",
"ja": "OpenTaiko君 (グラス版)"
}
},
"rarity": "Common",
"description": {
"strings": {
"default": "The fragine brother of OpenTaiko-Kun.\nCan see everything, even the most invisible notes.",
"ja": "OpenTaiko君の割れやすいな兄弟。\n何でも見えます、隠れてる音符でも。"
}
},
"author": "Komi"
}

View File

@ -2,6 +2,6 @@
"condition": "tp",
"type": "me",
"values": [
1,
],
100
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,6 @@
{
"allpurple":false,
"autoroll":0,
"showadlib":false,
"splitlane":true
}

View File

@ -0,0 +1,16 @@
{
"name" : {
"strings": {
"default": "OpenTaiKO-Kun & OpenTaiKO-Chan",
"ja": "OpenTai子君とOpenTai子ちゃん"
}
},
"rarity": "Common",
"description": {
"strings": {
"default": "The twin siblings of OpenTaiko-kun.\nWhen one is here the other is never far away.",
"ja": "OpenTaiko君の双子の姉弟。\n一方がここにいれば、もう一方が遠くにいることはない。"
}
},
"author": "Komi"
}

View File

@ -0,0 +1,7 @@
{
"condition": "ap",
"type": "me",
"values": [
10
]
}

View File

@ -159,7 +159,7 @@ namespace TJAPlayer3
Int64 roundedDifficulty = Math.Max((int)Difficulty.Easy, Math.Min((int)Difficulty.Total - 1, record.ChartDifficulty));
if (roundedDifficulty <= (int)Difficulty.Edit)
{
string[] ChartersArr = record.Charter.Split(",", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
string[] ChartersArr = record.Charter.SplitByCommas();
Int64 roundedScoreRank = Math.Max(0, Math.Min(7, record.ScoreRank + 1));
Int64 roundedClearStatus = Math.Max((int)EClearStatus.NONE, Math.Min((int)EClearStatus.PERFECT, record.ClearStatus + 1));

View File

@ -33,7 +33,7 @@ namespace TJAPlayer3
connection.Open();
// Get nameplates
// Get songs info
var command = connection.CreateCommand();
command.CommandText =
@$"

View File

@ -3,6 +3,7 @@ using System.Reflection;
using System.ArrayExtensions;
using System.Globalization;
using System.Text.RegularExpressions;
using TJAPlayer3;
// https://github.com/Burtsev-Alexey/net-object-deep-copy/blob/master/ObjectExtensions.cs
@ -158,6 +159,24 @@ namespace System
}
}
public static string[] SplitByCommas(this string input)
{
// Regular expression to split by commas, but not by escaped commas (\,)
var pattern = @"(?<!\\),";
var parts = Regex.Split(input, pattern);
// Replace escaped commas with actual commas in the parts
for (int i = 0; i < parts.Length; i++)
{
parts[i] = parts[i].Replace(@"\,", ",");
}
// Filter out empty strings
var filteredParts = parts.Where(part => !string.IsNullOrEmpty(part)).ToArray();
return filteredParts;
}
public static double[] ParseComplex(this string input)
{
try
@ -227,7 +246,7 @@ namespace System
}
catch (Exception ex)
{
// Log Error
LogNotification.PopWarning($"'{input}': Incorrect complex number formatting, defaulting to 0");
return new double[] { 0, 0 }; // Return default value in case of error
}
}

View File

@ -46,7 +46,7 @@ namespace TJAPlayer3
new Modal(
Modal.EModalType.Character,
HRarity.tRarityToModalInt(metadata.Rarity),
_npvKey
metadata.Name
),
_player);

View File

@ -50,7 +50,7 @@ namespace TJAPlayer3
new Modal(
Modal.EModalType.Puchichara,
HRarity.tRarityToModalInt(metadata.Rarity),
_npvKey
metadata.Name
),
_player);

View File

@ -1837,107 +1837,6 @@ namespace TJAPlayer3
if (!bAddedToRecentlyPlayedSongs)
{
/*
#region [ Apply new local status for song select screens ]
//---------------------
if (!TJAPlayer3.bコンパクトモード)
{
if (TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0] != (int)Difficulty.Dan && TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0] != (int)Difficulty.Tower)
{
#region [Update status]
Cスコア cScore = TJAPlayer3.stageSongSelect.r確定されたスコア;
for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
if ((i != 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i])
|| (i == 1 && (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[i] || TJAPlayer3.ConfigIni.bAIBattleMode)))
continue;
int actualPlayer = TJAPlayer3.GetActualPlayer(i);
if (cScore.GPInfo[actualPlayer].nClear[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] < nクリア[i])
cScore.GPInfo[actualPlayer].nClear[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] = nクリア[i];
if (cScore.GPInfo[actualPlayer].nScoreRank[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] < nスコアランク[i])
cScore.GPInfo[actualPlayer].nScoreRank[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] = nスコアランク[i];
if (cScore.GPInfo[actualPlayer].nHighScore[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] < (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, i))
cScore.GPInfo[actualPlayer].nHighScore[TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[i]] = (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, i);
}
#endregion
}
else if (TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Dan)
{
#region [Dan update status]
Cスコア cスコア = TJAPlayer3.stageSongSelect.r確定されたスコア;
Exam.Status examStatus = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C);
int clearValue = 0;
if (examStatus != Exam.Status.Failure)
{
// Red Goukaku
clearValue += 1;
// Gold Goukaku
if (examStatus == Exam.Status.Better_Success)
clearValue += 1;
// Gold Iki
if (this.st演奏記録.Drums.nMiss数 == 0)
{
clearValue += 2;
// Rainbow Iki
if (this.st演奏記録.Drums.nGreat数 == 0)
clearValue += 2;
}
}
int actualPlayer = TJAPlayer3.SaveFile;
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
{
cスコア.GPInfo[actualPlayer].nClear[0] = Math.Max(cスコア.GPInfo[actualPlayer].nClear[0], clearValue);
if (cスコア.GPInfo[actualPlayer].nHighScore[0] < (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, 0))
cスコア.GPInfo[actualPlayer].nHighScore[0] = (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, 0);
}
#endregion
//cスコア.譜面情報.nクリア[0] = Math.Max(cスコア.譜面情報.nクリア[0], clearValue);
}
else if (TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Tower)
{
#region [Update Tower status]
Cスコア cスコア = TJAPlayer3.stageSongSelect.r確定されたスコア;
int actualPlayer = TJAPlayer3.SaveFile;
int tmpClear = GetTowerScoreRank();
if (!TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0])
{
cスコア.GPInfo[actualPlayer].nClear[0] = Math.Max(cスコア.GPInfo[actualPlayer].nClear[0], tmpClear);
cスコア.GPInfo[actualPlayer].nScoreRank[0] = Math.Max(cスコア.GPInfo[actualPlayer].nScoreRank[0], CFloorManagement.LastRegisteredFloor);
if (cスコア.GPInfo[actualPlayer].nHighScore[0] < (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, 0))
cスコア.GPInfo[actualPlayer].nHighScore[0] = (int)TJAPlayer3.stage演奏ドラム画面.actScore.Get(EInstrumentPad.DRUMS, 0);
}
#endregion
}
}
//---------------------
#endregion
*/
// Song added to recently added songs here
TJAPlayer3.RecentlyPlayedSongs.tAddChart(TJAPlayer3.stageSongSelect.rChoosenSong.uniqueId.data.id);