rating refactoring
This commit is contained in:
@@ -1,6 +1,94 @@
|
||||
import flixel.FlxG;
|
||||
|
||||
class Ratings
|
||||
{
|
||||
public static function CalculateRating(noteDiff:Float, ?customSafeZone:Float):String
|
||||
public static function GenerateLetterRank(accuracy:Float) // generate a letter ranking
|
||||
{
|
||||
var ranking:String = "N/A";
|
||||
|
||||
if (PlayState.misses == 0 && PlayState.bads == 0 && PlayState.shits == 0 && PlayState.goods == 0) // Marvelous (SICK) Full Combo
|
||||
ranking = "(MFC)";
|
||||
else if (PlayState.misses == 0 && PlayState.bads == 0 && PlayState.shits == 0 && PlayState.goods >= 1) // Good Full Combo (Nothing but Goods & Sicks)
|
||||
ranking = "(GFC)";
|
||||
else if (PlayState.misses == 0) // Regular FC
|
||||
ranking = "(FC)";
|
||||
else if (PlayState.misses < 10) // Single Digit Combo Breaks
|
||||
ranking = "(SDCB)";
|
||||
else
|
||||
ranking = "(Clear)";
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
public static function CalculateRating(noteDiff:Float, ?customSafeZone:Float):String // Generate a judgement through some timing shit
|
||||
{
|
||||
|
||||
var customTimeScale = Conductor.timeScale;
|
||||
@@ -13,6 +101,10 @@ class Ratings
|
||||
// I HATE THIS IF CONDITION
|
||||
// IF LEMON SEES THIS I'M SORRY :(
|
||||
|
||||
// trace('Hit Info\nDifference: ' + noteDiff + '\nZone: ' + Conductor.safeZoneOffset * 1.5 + "\nTS: " + customTimeScale + "\nLate: " + 155 * customTimeScale);
|
||||
|
||||
if (noteDiff > 166 * customTimeScale) // so god damn early its a miss
|
||||
return "miss";
|
||||
if (noteDiff > 135 * customTimeScale) // way early
|
||||
return "shit";
|
||||
else if (noteDiff > 90 * customTimeScale) // early
|
||||
@@ -25,6 +117,18 @@ class Ratings
|
||||
return "bad";
|
||||
else if (noteDiff < -135 * customTimeScale) // late as fuck
|
||||
return "shit";
|
||||
else if (noteDiff < -166 * customTimeScale) // so god damn late its a miss
|
||||
return "miss";
|
||||
return "sick";
|
||||
}
|
||||
|
||||
public static function CalculateRanking(score:Int,scoreDef:Int,nps:Int,accuracy:Float):String
|
||||
{
|
||||
return
|
||||
(FlxG.save.data.npsDisplay ? "NPS: " + nps + " | " : "") + // NPS Toggle
|
||||
"Score:" + (Conductor.safeFrames != 10 ? score + " (" + scoreDef + ")" : "" + score) + // Score
|
||||
" | Combo Breaks:" + PlayState.misses + // Misses/Combo Breaks
|
||||
" | Accuracy:" + HelperFunctions.truncateFloat(accuracy, 2) + // Accuracy
|
||||
"% | " + GenerateLetterRank(accuracy); // Letter Rank
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user