diff --git a/TJAPlayer3/Stages/07.Game/CAct演奏Combo共通.cs b/TJAPlayer3/Stages/07.Game/CAct演奏Combo共通.cs index 627ae603..b3ce2740 100644 --- a/TJAPlayer3/Stages/07.Game/CAct演奏Combo共通.cs +++ b/TJAPlayer3/Stages/07.Game/CAct演奏Combo共通.cs @@ -391,7 +391,7 @@ namespace TJAPlayer3 if (ccf.nGood > 0) guide = 1; - if (ccf.nMiss > 0) + if (ccf.nMiss > 0 || ccf.nMine > 0) guide = 0; TJAPlayer3.Tx.Taiko_Combo_Guide[guide]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Game_Taiko_Combo_Text_X[nPlayer], TJAPlayer3.Skin.Game_Taiko_Combo_Text_Y[nPlayer]); diff --git a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs index 4ee11554..be54d197 100644 --- a/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs +++ b/TJAPlayer3/Stages/07.Game/CStage演奏画面共通.cs @@ -1710,17 +1710,21 @@ namespace TJAPlayer3 if(!NotesManager.IsMissableNote(pChip) && !bBombHit) break; - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) - this.n不可[actDan.NowShowingNumber]++; - - else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) CFloorManagement.damage(); - this.CBranchScore[nPlayer].nMiss++; - this.CChartScore[nPlayer].nMiss++; - this.Chara_MissCount[nPlayer]++; - - if ( nPlayer == 0 ) this.nヒット数_Auto含まない.Drums.Miss++; + if (!bBombHit) + { + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + this.n不可[actDan.NowShowingNumber]++; + + this.CBranchScore[nPlayer].nMiss++; + this.CChartScore[nPlayer].nMiss++; + this.Chara_MissCount[nPlayer]++; + + if (nPlayer == 0) this.nヒット数_Auto含まない.Drums.Miss++; + } + this.actCombo.n現在のコンボ数[ nPlayer ] = 0; this.actComboVoice.tReset(nPlayer); @@ -1813,14 +1817,18 @@ namespace TJAPlayer3 if (!NotesManager.IsMissableNote(pChip) && !bBombHit) break; - if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) - this.n不可[actDan.NowShowingNumber]++; - else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower) CFloorManagement.damage(); - this.CBranchScore[nPlayer].nMiss++; - this.CChartScore[nPlayer].nMiss++; - this.Chara_MissCount[nPlayer]++; + if (!bBombHit) + { + if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) + this.n不可[actDan.NowShowingNumber]++; + + this.CBranchScore[nPlayer].nMiss++; + this.CChartScore[nPlayer].nMiss++; + this.Chara_MissCount[nPlayer]++; + } this.actCombo.n現在のコンボ数[ nPlayer ] = 0; this.actComboVoice.tReset(nPlayer); diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsスコアランク.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsスコアランク.cs index 8ae5b397..10e86def 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsスコアランク.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drumsスコアランク.cs @@ -198,7 +198,7 @@ namespace TJAPlayer3 { #region [Tower score ranks] - double progress = CFloorManagement.LastRegisteredFloor / (double)TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTotalFloor; + double progress = CFloorManagement.LastRegisteredFloor / ((double)TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTotalFloor); bool[] conditions = { @@ -207,7 +207,7 @@ namespace TJAPlayer3 progress >= 0.5, progress >= 0.75, progress == 1 && CFloorManagement.CurrentNumberOfLives > 0, - TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0, + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0, TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0 }; diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs index db6b0475..924bbeee 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CAct演奏Drums演奏終了演出.cs @@ -42,7 +42,7 @@ namespace TJAPlayer3 { if (CFloorManagement.CurrentNumberOfLives > 0) { - if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0) + if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0) { if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0) this.Mode[0] = EndMode.StageDondaFullCombo; @@ -63,7 +63,7 @@ namespace TJAPlayer3 // 段位認定モード、クリア成功 // this.Mode[0] = EndMode.StageCleared; - if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0) + if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0) { if (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0) this.Mode[0] = EndMode.StageDondaFullCombo; @@ -90,7 +90,7 @@ namespace TJAPlayer3 { if (TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[i] >= 80) { - if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss == 0) + if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMine == 0) //if (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss == 0) { if (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nGood == 0) diff --git a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs index 371f4001..2165e5c5 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/Dan_Cert.cs @@ -239,10 +239,22 @@ namespace TJAPlayer3 } else { - songsnotesremain[NowShowingNumber] = TJAPlayer3.DTX.nDan_NotesCount[NowShowingNumber] - (TJAPlayer3.stage演奏ドラム画面.n良[NowShowingNumber] + TJAPlayer3.stage演奏ドラム画面.n可[NowShowingNumber] + TJAPlayer3.stage演奏ドラム画面.n不可[NowShowingNumber]); - notesremain = TJAPlayer3.DTX.nノーツ数[3] - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect) - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great) - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Miss + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss); + songsnotesremain[NowShowingNumber] = TJAPlayer3.DTX.nDan_NotesCount[NowShowingNumber] + - (TJAPlayer3.stage演奏ドラム画面.n良[NowShowingNumber] + + TJAPlayer3.stage演奏ドラム画面.n可[NowShowingNumber] + + TJAPlayer3.stage演奏ドラム画面.n不可[NowShowingNumber]); + + notesremain = TJAPlayer3.DTX.nノーツ数[3] + - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Perfect + + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Perfect) + - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Great + + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Great) + - (TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含む.Drums.Miss + + TJAPlayer3.stage演奏ドラム画面.nヒット数_Auto含まない.Drums.Miss); // 残り音符数が0になったときに判断されるやつ + + // Challenges that are judged when there are no remaining notes (janky ?) if (ExamChange[i] ? songsnotesremain[NowShowingNumber] <= 0 : notesremain <= 0) { // 残り音符数ゼロ @@ -251,9 +263,6 @@ namespace TJAPlayer3 case Exam.Type.Gauge: if (Challenge[i].Amount < Challenge[i].Value[0]) Challenge[i].SetReached(true); break; - case Exam.Type.Score: - if (Challenge[i].Amount < Challenge[i].Value[0]) Challenge[i].SetReached(true); - break; case Exam.Type.Accuracy: if (Challenge[i].Amount < Challenge[i].Value[0]) Challenge[i].SetReached(true); break; @@ -263,16 +272,19 @@ namespace TJAPlayer3 } } - // 常に監視されるやつ。 + // Challenges that are monitored in live switch (Challenge[i].GetExamType()) { case Exam.Type.JudgePerfect: case Exam.Type.JudgeGood: case Exam.Type.JudgeBad: - if (ExamChange[i] ? songsnotesremain[NowShowingNumber] < (Challenge[i].Value[0] - Challenge[i].Amount) : notesremain < (Challenge[i].Value[0] - Challenge[i].Amount)) Challenge[i].SetReached(true); + if (ExamChange[i] + ? songsnotesremain[NowShowingNumber] < (Challenge[i].Value[0] - Challenge[i].Amount) + : notesremain < (Challenge[i].Value[0] - Challenge[i].Amount)) Challenge[i].SetReached(true); break; case Exam.Type.Combo: - if (notesremain + TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.P1 < ((Challenge[i].Value[0])) && TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0] < (Challenge[i].Value[0])) Challenge[i].SetReached(true); + if (notesremain + TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.P1 < ((Challenge[i].Value[0])) + && TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0] < (Challenge[i].Value[0])) Challenge[i].SetReached(true); break; default: break; @@ -282,18 +294,20 @@ namespace TJAPlayer3 // ( CDTXMania.DTX.listChip.Count > 0 ) ? CDTXMania.DTX.listChip[ CDTXMania.DTX.listChip.Count - 1 ].n発声時刻ms : 0; // Bug here when charts have an extra roll ? + + // Challenges that are judged when the song stops if(!IsEnded[NowShowingNumber]) { if (TJAPlayer3.DTX.listChip.Count <= 0) continue; - if (ExamChange[i] ? TJAPlayer3.DTX.pDan_LastChip[NowShowingNumber].n発声時刻ms <= TJAPlayer3.Timer.n現在時刻 : TJAPlayer3.DTX.listChip[TJAPlayer3.DTX.listChip.Count - 1].n発声時刻ms <= TJAPlayer3.Timer.n現在時刻) + if (ExamChange[i] + ? TJAPlayer3.DTX.pDan_LastChip[NowShowingNumber].n発声時刻ms <= TJAPlayer3.Timer.n現在時刻 + : TJAPlayer3.DTX.listChip[TJAPlayer3.DTX.listChip.Count - 1].n発声時刻ms <= TJAPlayer3.Timer.n現在時刻) { switch (Challenge[i].GetExamType()) { case Exam.Type.Score: - case Exam.Type.Hit: - if (Challenge[i].Amount < Challenge[i].Value[0]) Challenge[i].SetReached(true); - break; - case Exam.Type.Roll: + case Exam.Type.Hit: + case Exam.Type.Roll: // Should be checked in live "If no remaining roll" if (Challenge[i].Amount < Challenge[i].Value[0]) Challenge[i].SetReached(true); break; default: diff --git a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs index 2fb074e2..9e77241e 100644 --- a/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs +++ b/TJAPlayer3/Stages/08.Result/CActResultParameterPanel.cs @@ -411,7 +411,7 @@ namespace TJAPlayer3 { TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nGreat.ToString(), TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nGood.ToString(), - (TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss - TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMine).ToString(), + TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nMiss.ToString(), //TJAPlayer3.stage演奏ドラム画面.CChartScore[i].nRoll.ToString(), TJAPlayer3.stage演奏ドラム画面.GetRoll(i).ToString(), TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[i].ToString() diff --git a/TJAPlayer3/Stages/08.Result/CStage結果.cs b/TJAPlayer3/Stages/08.Result/CStage結果.cs index 90c893fa..c7272c4e 100644 --- a/TJAPlayer3/Stages/08.Result/CStage結果.cs +++ b/TJAPlayer3/Stages/08.Result/CStage結果.cs @@ -69,7 +69,7 @@ namespace TJAPlayer3 public int GetTowerScoreRank() { int tmpClear = 0; - double progress = CFloorManagement.LastRegisteredFloor / (double)TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTotalFloor; + double progress = CFloorManagement.LastRegisteredFloor / ((double)TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTotalFloor); // Clear badges : 10% (E), 25% (D), 50% (C), 75% (B), Clear (A), FC (S), DFC (X) bool[] conditions = @@ -79,8 +79,13 @@ namespace TJAPlayer3 progress >= 0.5, progress >= 0.75, progress == 1 && CFloorManagement.CurrentNumberOfLives > 0, + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine == 0, + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood == 0 + /* + progress == 1 && CFloorManagement.CurrentNumberOfLives > 0, this.st演奏記録.Drums.nMiss数 == 0, this.st演奏記録.Drums.nGreat数 == 0 + */ }; for (int i = 0; i < conditions.Length; i++) @@ -172,7 +177,7 @@ namespace TJAPlayer3 { var ccf = TJAPlayer3.stage演奏ドラム画面.CChartScore[p]; - this.nクリア[p] = (ccf.nMiss == 0 && TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[p] == 100) + this.nクリア[p] = (ccf.nMiss == 0 && ccf.nMine == 0 && TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[p] == 100) ? ccf.nGood == 0 ? 3 : 2 : TJAPlayer3.stage演奏ドラム画面.actGauge.db現在のゲージ値[p] >= 80 @@ -287,26 +292,6 @@ namespace TJAPlayer3 #endregion - #region [Legacy] - /* - - this.st演奏記録[0].nクリア[TJAPlayer3.stage選曲.n確定された曲の難易度[0]] = Math.Max(ini[0].stセクション[0].nクリア[TJAPlayer3.stage選曲.n確定された曲の難易度[0]], this.nクリア); - this.st演奏記録[0].nスコアランク[TJAPlayer3.stage選曲.n確定された曲の難易度[0]] = Math.Max(ini[0].stセクション[0].nスコアランク[TJAPlayer3.stage選曲.n確定された曲の難易度[0]], this.nスコアランク); - - for (int i = 0; i < 5; i++) - { - if (i != TJAPlayer3.stage選曲.n確定された曲の難易度[0]) - { - this.st演奏記録[0].nクリア[i] = ini[0].stセクション[0].nクリア[i]; - this.st演奏記録[0].nスコアランク[i] = ini[0].stセクション[0].nスコアランク[i]; - } - - // ini.stセクション[0].nクリア[i] = this.st演奏記録[0].nクリア[i]; - // ini.stセクション[0].nスコアランク[i] = this.st演奏記録[0].nスコアランク[i]; - } - - */ - #endregion } else if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan) { @@ -396,68 +381,6 @@ namespace TJAPlayer3 #endregion } - else - { - #region [Legacy] - - - - /* - - // 新記録スコアチェック - if ((this.st演奏記録[0].nスコア > ini[0].stセクション[0].nスコア) && !TJAPlayer3.ConfigIni.b太鼓パートAutoPlay) - { - this.b新記録スコア[0] = true; - ini[0].stセクション[0] = this.st演奏記録[0]; - } - - // Header hi-score - //if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan && TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Tower) - // if (this.st演奏記録[0].nスコア > ini[0].stセクション[0].nスコア) - // this.st演奏記録[0].nハイスコア[TJAPlayer3.stage選曲.n確定された曲の難易度[0]] = (int)st演奏記録[0].nスコア; - - - // 新記録スキルチェック - if (this.st演奏記録[0].db演奏型スキル値 > ini[0].stセクション[0].db演奏型スキル値) - { - this.b新記録スキル[0] = true; - ini[0].stセクション[0] = this.st演奏記録[0]; - } - - - // ラストプレイ #23595 2011.1.9 ikanick - // オートじゃなければプレイ結果を書き込む - if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay == false) - { - ini[0].stセクション[0] = this.st演奏記録[0]; - } - - // #23596 10.11.16 add ikanick オートじゃないならクリア回数を1増やす - // 11.02.05 bオート to t更新条件を取得する use ikanick - bool[] b更新が必要か否か = new bool[3]; - CScoreIni.t更新条件を取得する(out b更新が必要か否か[0], out b更新が必要か否か[1], out b更新が必要か否か[2]); - - if (b更新が必要か否か[0]) - { - ini[0].stファイル.ClearCountDrums++; - } - - //---------------------------------------------------------------------/ - - if (TJAPlayer3.ConfigIni.bScoreIniを出力する) - ini[0].t書き出し(str[0]); - - */ - - #endregion - - - - } - - - - //--------------------- #endregion @@ -1593,7 +1516,7 @@ namespace TJAPlayer3 TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, 0).ToString(), TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGreat.ToString(), TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood.ToString(), - (TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss - TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMine).ToString(), + TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss.ToString(), TJAPlayer3.stage演奏ドラム画面.GetRoll(0).ToString(), TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.最高値[0].ToString(), totalHit.ToString() @@ -1652,7 +1575,7 @@ namespace TJAPlayer3 { TJAPlayer3.stage演奏ドラム画面.n良[i].ToString(), TJAPlayer3.stage演奏ドラム画面.n可[i].ToString(), - (TJAPlayer3.stage演奏ドラム画面.n不可[i] - TJAPlayer3.stage演奏ドラム画面.nMine[i]).ToString(), + TJAPlayer3.stage演奏ドラム画面.n不可[i].ToString(), TJAPlayer3.stage演奏ドラム画面.n連打[i].ToString() }; diff --git a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide0.png b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide0.png index 6ecaec5b..13a6333d 100644 Binary files a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide0.png and b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide0.png differ diff --git a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide1.png b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide1.png index b5eae066..19f9b9e2 100644 Binary files a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide1.png and b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide1.png differ diff --git a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide2.png b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide2.png index 3feba886..5f8232e6 100644 Binary files a/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide2.png and b/Test/System/SimpleStyle/Graphics/5_Game/6_Taiko/Combo_Guide2.png differ