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 実装
|
// CStage 実装
|
||||||
|
|
||||||
public int[] nNoteCount = new int[2];
|
public int[] nNoteCount = new int[4];
|
||||||
public int[] nBalloonCount = new int[2];
|
public int[] nBalloonCount = new int[4];
|
||||||
public double[] nAddScoreNiji = new double[2];
|
public double[] nRollTimeMs = new double[4];
|
||||||
|
public double[] nAddScoreNiji = new double[4];
|
||||||
|
|
||||||
public override void On活性化()
|
public override void On活性化()
|
||||||
{
|
{
|
||||||
listChip = new List<CDTX.CChip>[ 4 ];
|
listChip = new List<CDTX.CChip>[ 4 ];
|
||||||
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
for( int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++ )
|
||||||
{
|
{
|
||||||
|
nNoteCount[i] = 0;
|
||||||
|
nBalloonCount[i] = 0;
|
||||||
|
nRollTimeMs[i] = 0;
|
||||||
|
nAddScoreNiji[i] = 0;
|
||||||
|
|
||||||
switch( i )
|
switch( i )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -135,18 +141,31 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
if (TJAPlayer3.DTX.bチップがある.Branch)
|
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++)
|
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();
|
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].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
|
else
|
||||||
{
|
{
|
||||||
|
nNoteCount[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||||
for (int i = 0; i < TJAPlayer3.DTX.listChip.Count; i++)
|
for (int i = 0; i < TJAPlayer3.DTX.listChip.Count; i++)
|
||||||
{
|
{
|
||||||
nNoteCount[0] = TJAPlayer3.DTX.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
var chip = TJAPlayer3.DTX.listChip[i];
|
||||||
nBalloonCount[0] += TJAPlayer3.DTX.listChip[i].nRollCount;
|
//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)
|
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++)
|
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();
|
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].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
|
else
|
||||||
{
|
{
|
||||||
|
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
||||||
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip.Count; i++)
|
for (int i = 0; i < TJAPlayer3.DTX_2P.listChip.Count; i++)
|
||||||
{
|
{
|
||||||
nNoteCount[1] = TJAPlayer3.DTX_2P.listChip.Where(num => NotesManager.IsMissableNote(num)).Count();
|
var chip = TJAPlayer3.DTX_2P.listChip[i];
|
||||||
nBalloonCount[1] += TJAPlayer3.DTX_2P.listChip[i].nRollCount;
|
//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
|
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活性化()
|
public override void On活性化()
|
||||||
{
|
{
|
||||||
double RollTimems = 0;
|
double RollTimems = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
foreach (var chip in TJAPlayer3.DTX.listChip)
|
foreach (var chip in TJAPlayer3.DTX.listChip)
|
||||||
{
|
{
|
||||||
//if (chip.nチャンネル番号 == 21 || chip.nチャンネル番号 == 22)
|
|
||||||
if (NotesManager.IsRoll(chip))
|
if (NotesManager.IsRoll(chip))
|
||||||
{
|
{
|
||||||
RollTimems += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
RollTimems += (chip.nノーツ終了時刻ms - chip.n発声時刻ms) / 1000.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
this.ScoreRank = new int[] { 500000, 600000, 700000, 800000, 900000, 950000,
|
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,
|
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++)
|
for (int i = 0; i < 7; i++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user