Wife & Charting improvements
This commit is contained in:
@ -351,7 +351,7 @@ class ChartingState extends MusicBeatState
|
|||||||
writingNotesText = new FlxUIText(20,100, 0, "");
|
writingNotesText = new FlxUIText(20,100, 0, "");
|
||||||
writingNotesText.setFormat("Arial",20,FlxColor.WHITE,FlxTextAlign.LEFT,FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
writingNotesText.setFormat("Arial",20,FlxColor.WHITE,FlxTextAlign.LEFT,FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||||
|
|
||||||
stepperSusLength = new FlxUINumericStepper(10, 10, Conductor.stepCrochet / 2, 0, 0, Conductor.stepCrochet * 16 * 4);
|
stepperSusLength = new FlxUINumericStepper(10, 10, Conductor.stepCrochet / 2, 0, 0, Conductor.stepCrochet * _song.notes[curSection].lengthInSteps * 4);
|
||||||
stepperSusLength.value = 0;
|
stepperSusLength.value = 0;
|
||||||
stepperSusLength.name = 'note_susLength';
|
stepperSusLength.name = 'note_susLength';
|
||||||
|
|
||||||
@ -898,7 +898,7 @@ class ChartingState extends MusicBeatState
|
|||||||
function updateGrid():Void
|
function updateGrid():Void
|
||||||
{
|
{
|
||||||
remove(gridBG);
|
remove(gridBG);
|
||||||
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * _song.notes[curSection].lengthInSteps);
|
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * _song.notes[curSection].lengthInSteps);
|
||||||
add(gridBG);
|
add(gridBG);
|
||||||
|
|
||||||
remove(gridBlackLine);
|
remove(gridBlackLine);
|
||||||
@ -964,7 +964,7 @@ class ChartingState extends MusicBeatState
|
|||||||
if (daSus > 0)
|
if (daSus > 0)
|
||||||
{
|
{
|
||||||
var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2),
|
var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2),
|
||||||
note.y + GRID_SIZE).makeGraphic(8, Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
|
note.y + GRID_SIZE).makeGraphic(8, Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * _song.notes[curSection].lengthInSteps, 0, gridBG.height)));
|
||||||
curRenderedSustains.add(sustainVis);
|
curRenderedSustains.add(sustainVis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -219,7 +219,7 @@ class PlayState extends MusicBeatState
|
|||||||
detailsPausedText = "Paused - " + detailsText;
|
detailsPausedText = "Paused - " + detailsText;
|
||||||
|
|
||||||
// Updating Discord Rich Presence.
|
// Updating Discord Rich Presence.
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ")", "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
|
|
||||||
|
|
||||||
@ -777,6 +777,8 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
if (curStage.contains("school") && FlxG.save.data.downscroll)
|
if (curStage.contains("school") && FlxG.save.data.downscroll)
|
||||||
songPosBG.y -= 45;
|
songPosBG.y -= 45;
|
||||||
|
if (!curStage.contains("school") && !FlxG.save.data.downscroll)
|
||||||
|
songPosBG.y -= 45;
|
||||||
|
|
||||||
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
||||||
'songPositionBar', 0, 90000);
|
'songPositionBar', 0, 90000);
|
||||||
@ -809,15 +811,15 @@ class PlayState extends MusicBeatState
|
|||||||
add(healthBar);
|
add(healthBar);
|
||||||
|
|
||||||
// Add Kade Engine watermark
|
// Add Kade Engine watermark
|
||||||
var kadeEngineWatermark = new FlxText(4,FlxG.height - 4,0,SONG.song + " " + (storyDifficulty == 2 ? "Hard" : storyDifficulty == 1 ? "Normal" : "Easy") + " - KE " + MainMenuState.kadeEngineVer, 16);
|
var kadeEngineWatermark = new FlxText(FlxG.width * 0.03,FlxG.height * 0.94,0,SONG.song + " " + (storyDifficulty == 2 ? "Hard" : storyDifficulty == 1 ? "Normal" : "Easy") + " - KE " + MainMenuState.kadeEngineVer, 16);
|
||||||
kadeEngineWatermark.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
kadeEngineWatermark.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||||
kadeEngineWatermark.scrollFactor.set();
|
kadeEngineWatermark.scrollFactor.set();
|
||||||
add(kadeEngineWatermark);
|
add(kadeEngineWatermark);
|
||||||
|
|
||||||
scoreTxt = new FlxText(healthBarBG.x + healthBarBG.width / 2 - 150, healthBarBG.y + 50, 0, "", 20);
|
scoreTxt = new FlxText(healthBarBG.x + healthBarBG.width / 2 - 180, healthBarBG.y + 50, 0, "", 20);
|
||||||
if (!FlxG.save.data.accuracyDisplay)
|
if (!FlxG.save.data.accuracyDisplay)
|
||||||
scoreTxt.x = healthBarBG.x + healthBarBG.width / 2;
|
scoreTxt.x = healthBarBG.x + healthBarBG.width / 2;
|
||||||
scoreTxt.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
scoreTxt.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||||
scoreTxt.scrollFactor.set();
|
scoreTxt.scrollFactor.set();
|
||||||
add(scoreTxt);
|
add(scoreTxt);
|
||||||
|
|
||||||
@ -1135,6 +1137,8 @@ class PlayState extends MusicBeatState
|
|||||||
songPosBG = new FlxSprite(0, strumLine.y - 15).loadGraphic(Paths.image('healthBar'));
|
songPosBG = new FlxSprite(0, strumLine.y - 15).loadGraphic(Paths.image('healthBar'));
|
||||||
if (FlxG.save.data.downscroll)
|
if (FlxG.save.data.downscroll)
|
||||||
songPosBG.y = FlxG.height * 0.9 + 45;
|
songPosBG.y = FlxG.height * 0.9 + 45;
|
||||||
|
if (!curStage.contains("school") && !FlxG.save.data.downscroll)
|
||||||
|
songPosBG.y -= 45;
|
||||||
songPosBG.screenCenter(X);
|
songPosBG.screenCenter(X);
|
||||||
songPosBG.scrollFactor.set();
|
songPosBG.scrollFactor.set();
|
||||||
add(songPosBG);
|
add(songPosBG);
|
||||||
@ -1166,7 +1170,7 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ")", "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1392,7 +1396,7 @@ class PlayState extends MusicBeatState
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if desktop
|
#if desktop
|
||||||
DiscordClient.changePresence("PAUSED on " + SONG.song + " (" + storyDifficultyText + ")", "Acc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence("PAUSED on " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "Acc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
if (!startTimer.finished)
|
if (!startTimer.finished)
|
||||||
startTimer.active = false;
|
startTimer.active = false;
|
||||||
@ -1417,11 +1421,11 @@ class PlayState extends MusicBeatState
|
|||||||
#if desktop
|
#if desktop
|
||||||
if (startTimer.finished)
|
if (startTimer.finished)
|
||||||
{
|
{
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ")", "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses, iconRPC, true, songLength - Conductor.songPosition);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses, iconRPC, true, songLength - Conductor.songPosition);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DiscordClient.changePresence(detailsText, SONG.song + " (" + storyDifficultyText + ")", iconRPC);
|
DiscordClient.changePresence(detailsText, SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), iconRPC);
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
@ -1440,7 +1444,7 @@ class PlayState extends MusicBeatState
|
|||||||
vocals.play();
|
vocals.play();
|
||||||
|
|
||||||
#if desktop
|
#if desktop
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ")", "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1455,6 +1459,93 @@ class PlayState extends MusicBeatState
|
|||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function generateRanking():String
|
||||||
|
{
|
||||||
|
var ranking:String = "N/A";
|
||||||
|
|
||||||
|
if (misses == 0 && accuracy >= 100) // Marvelous (SICK) Full Combo
|
||||||
|
ranking = "(MFC)";
|
||||||
|
else if (misses == 0 && bads == 0 && shits == 0 && goods >= 1) // Good Full Combo (Nothing but Goods & Sicks)
|
||||||
|
ranking = "(GFC)";
|
||||||
|
else if ((shits < 10 && shits != 0 || bads < 10 && bads != 0) && misses == 0) // Single Digit Combo Breaks
|
||||||
|
ranking = "(SDCB)";
|
||||||
|
else if (misses == 0) // Regular FC
|
||||||
|
ranking = "(FC)";
|
||||||
|
else // Combo Broken
|
||||||
|
ranking = "(CB)";
|
||||||
|
|
||||||
|
// WIFE TIME :)))) (based on Wife3)
|
||||||
|
|
||||||
|
var wifeConditions:Array<Bool> = [
|
||||||
|
accuracy >= 99.9935, // AAAAA
|
||||||
|
accuracy >= 99.980, // AAAA:
|
||||||
|
accuracy >= 99.970, // AAAA.
|
||||||
|
accuracy >= 99.955, // AAAA
|
||||||
|
accuracy >= 99.90, // AAA:
|
||||||
|
accuracy >= 99.80, // AAA.
|
||||||
|
accuracy >= 99.70, // AAA
|
||||||
|
accuracy >= 99, // AA:
|
||||||
|
accuracy >= 96.50, // AA.
|
||||||
|
accuracy >= 93, // AA
|
||||||
|
accuracy >= 90, // A:
|
||||||
|
accuracy >= 85, // A.
|
||||||
|
accuracy >= 80, // A
|
||||||
|
accuracy >= 70, // B
|
||||||
|
accuracy >= 60, // C
|
||||||
|
accuracy < 60 // D
|
||||||
|
];
|
||||||
|
|
||||||
|
for(i in 0...wifeConditions.length)
|
||||||
|
{
|
||||||
|
var b = wifeConditions[i];
|
||||||
|
if (b)
|
||||||
|
{
|
||||||
|
switch(i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ranking += " AAAAA";
|
||||||
|
case 1:
|
||||||
|
ranking += " AAAA:";
|
||||||
|
case 2:
|
||||||
|
ranking += " AAAA.";
|
||||||
|
case 3:
|
||||||
|
ranking += " AAAA";
|
||||||
|
case 4:
|
||||||
|
ranking += " AAA:";
|
||||||
|
case 5:
|
||||||
|
ranking += " AAA.";
|
||||||
|
case 6:
|
||||||
|
ranking += " AAA";
|
||||||
|
case 7:
|
||||||
|
ranking += " AA:";
|
||||||
|
case 8:
|
||||||
|
ranking += " AA.";
|
||||||
|
case 9:
|
||||||
|
ranking += " AA";
|
||||||
|
case 10:
|
||||||
|
ranking += " A:";
|
||||||
|
case 11:
|
||||||
|
ranking += " A.";
|
||||||
|
case 12:
|
||||||
|
ranking += " A";
|
||||||
|
case 13:
|
||||||
|
ranking += " B";
|
||||||
|
case 14:
|
||||||
|
ranking += " C";
|
||||||
|
case 15:
|
||||||
|
ranking += " D";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (accuracy == 0)
|
||||||
|
ranking = "N/A";
|
||||||
|
|
||||||
|
return ranking;
|
||||||
|
}
|
||||||
|
|
||||||
override public function update(elapsed:Float)
|
override public function update(elapsed:Float)
|
||||||
{
|
{
|
||||||
#if !debug
|
#if !debug
|
||||||
@ -1491,7 +1582,7 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
if (FlxG.save.data.accuracyDisplay)
|
if (FlxG.save.data.accuracyDisplay)
|
||||||
{
|
{
|
||||||
scoreTxt.text = "Score:" + songScore + " | Misses:" + misses + " | Accuracy:" + truncateFloat(accuracy, 2) + "% " + (fc ? "| FC" : misses == 0 ? "| A" : accuracy <= 75 ? "| BAD" : "");
|
scoreTxt.text = "Score:" + songScore + " | Misses:" + misses + " | Accuracy:" + truncateFloat(accuracy, 2) + "% | " + generateRanking();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1706,7 +1797,7 @@ class PlayState extends MusicBeatState
|
|||||||
|
|
||||||
#if desktop
|
#if desktop
|
||||||
// Game Over doesn't get his own variable because it's only used here
|
// Game Over doesn't get his own variable because it's only used here
|
||||||
DiscordClient.changePresence(detailsText, "GAME OVER -- " + SONG.song + " (" + storyDifficultyText + ")\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
DiscordClient.changePresence("GAME OVER -- " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(),"\nAcc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC);
|
||||||
#end
|
#end
|
||||||
|
|
||||||
// FlxG.switchState(new GameOverState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
// FlxG.switchState(new GameOverState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||||
@ -1957,6 +2048,7 @@ class PlayState extends MusicBeatState
|
|||||||
{
|
{
|
||||||
score = -1000;
|
score = -1000;
|
||||||
health -= 0.03;
|
health -= 0.03;
|
||||||
|
combo = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
score = 100;
|
score = 100;
|
||||||
@ -1971,6 +2063,7 @@ class PlayState extends MusicBeatState
|
|||||||
{
|
{
|
||||||
score = -1000;
|
score = -1000;
|
||||||
health -= 0.03;
|
health -= 0.03;
|
||||||
|
combo = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
score = 100;
|
score = 100;
|
||||||
@ -2741,7 +2834,7 @@ class PlayState extends MusicBeatState
|
|||||||
songLength = FlxG.sound.music.length;
|
songLength = FlxG.sound.music.length;
|
||||||
|
|
||||||
// Updating Discord Rich Presence (with Time Left)
|
// Updating Discord Rich Presence (with Time Left)
|
||||||
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ")", "Acc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC,true, songLength - Conductor.songPosition);
|
DiscordClient.changePresence(detailsText + " " + SONG.song + " (" + storyDifficultyText + ") " + generateRanking(), "Acc: " + truncateFloat(accuracy, 2) + "% | Score: " + songScore + " | Misses: " + misses , iconRPC,true, songLength - Conductor.songPosition);
|
||||||
#end
|
#end
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user