Fix #254 and fix an issue with score ranks where 2P roll count were dependent on 1P ones, making Omega rank unreachable in some cases
This commit is contained in:
parent
3b7f139468
commit
fea443281c
@ -92,15 +92,21 @@ namespace TJAPlayer3
|
||||
|
||||
// CStage 実装
|
||||
|
||||
public int[] nNoteCount = new int[2];
|
||||
public int[] nBalloonCount = new int[2];
|
||||
public double[] nAddScoreNiji = new double[2];
|
||||
public int[] nNoteCount = new int[4];
|
||||
public int[] nBalloonCount = new int[4];
|
||||
public double[] nRollTimeMs = new double[4];
|
||||
public double[] nAddScoreNiji = new double[4];
|
||||
|
||||
public override void On活性化()
|
||||
{
|
||||
listChip = new List<CDTX.CChip>[ 4 ];
|
||||
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||
{
|
||||
nNoteCount[i] = 0;
|
||||
nBalloonCount[i] = 0;
|
||||
nRollTimeMs[i] = 0;
|
||||
nAddScoreNiji[i] = 0;
|
||||
|
||||
switch( i )
|
||||
{
|
||||
case 0:
|
||||
@ -135,18 +141,31 @@ namespace TJAPlayer3
|
||||
|
||||
if (TJAPlayer3.DTX.bチップがある.Branch)
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX.listChip_Branch[2].Count; i++)
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip_Branch[2][i].nRollCount;
|
||||
var chip = TJAPlayer3.DTX.listChip_Branch[2][i];
|
||||
//nBalloonCount[0] += TJAPlayer3.DTX.listChip_Branch[2][i].nRollCount;
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip_Branch[2][i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[0] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
//pChip.n発声時刻ms
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX.listChip.Count; i++)
|
||||
{
|
||||
nNoteCount[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nRollCount;
|
||||
var chip = TJAPlayer3.DTX.listChip[i];
|
||||
//nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nRollCount;
|
||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[0] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -155,18 +174,30 @@ namespace TJAPlayer3
|
||||
{
|
||||
if (TJAPlayer3.DTX_2P.bチップがある.Branch)
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip_Branch[2].Count; i++)
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip_Branch[2].Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip_Branch[2][i].nRollCount;
|
||||
var chip = TJAPlayer3.DTX_2P.listChip_Branch[2][i];
|
||||
//nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip_Branch[2][i].nRollCount;
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip_Branch[2][i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[1] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip.Count; i++)
|
||||
{
|
||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nRollCount;
|
||||
var chip = TJAPlayer3.DTX_2P.listChip[i];
|
||||
//nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nRollCount;
|
||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nBalloon;
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
nRollTimeMs[1] += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -181,7 +212,7 @@ namespace TJAPlayer3
|
||||
}
|
||||
else
|
||||
{
|
||||
nAddScoreNiji[k] = (double)Math.Ceiling((decimal)(1000000 - (nBalloonCount[k] * 100)) / nNoteCount[k] / 10) * 10;
|
||||
nAddScoreNiji[k] = (double)Math.Ceiling((decimal)(1000000 - (nBalloonCount[k] * 100) - (nRollTimeMs[k] * 100 * 16.6)) / nNoteCount[k] / 10) * 10;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,20 +12,22 @@ namespace TJAPlayer3
|
||||
public override void On活性化()
|
||||
{
|
||||
double RollTimems = 0;
|
||||
|
||||
/*
|
||||
foreach (var chip in TJAPlayer3.DTX.listChip)
|
||||
{
|
||||
//if (chip.nチャンネル番号 == 21 || chip.nチャンネル番号 == 22)
|
||||
if (NotesManager.IsRoll(chip))
|
||||
{
|
||||
RollTimems += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
this.ScoreRank = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[0] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[0]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[0] * 100) + (int)(Math.Ceiling(RollTimems * 16.6 / 10) * 100 * 10)) };
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[0] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[0]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[0] * 100) + (int)(Math.Ceiling(TJAPlayer3.stage演奏ドラム画面.nRollTimeMs[0] * 16.6 / 10) * 100 * 10)) };
|
||||
|
||||
this.ScoreRank2P = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[1] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[1]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[1] * 100) + (int)(Math.Ceiling(RollTimems * 16.6 / 10) * 100 * 10)) };
|
||||
Math.Max(1000000, (int)(TJAPlayer3.stage演奏ドラム画面.nAddScoreNiji[1] * TJAPlayer3.stage演奏ドラム画面.nNoteCount[1]) + (int)(TJAPlayer3.stage演奏ドラム画面.nBalloonCount[1] * 100) + (int)(Math.Ceiling(TJAPlayer3.stage演奏ドラム画面.nRollTimeMs[1] * 16.6 / 10) * 100 * 10)) };
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user