Remove linear interpolation of hp_hit_good.

I think this is an okay compromise because hp_hit_great doesn't use linear interpolation here. I am tentative on this change, but I need to code up the rest of taiko before I can test this further.
This commit is contained in:
smoogipooo 2017-03-24 11:28:52 +09:00
parent 5e34c2497a
commit 59ba497952
1 changed files with 3 additions and 14 deletions

View File

@ -42,20 +42,9 @@ internal class TaikoScoreProcessor : ScoreProcessor<TaikoHitObject, TaikoJudgeme
private const double hp_hit_great = 0.03;
/// <summary>
/// The minimum HP awarded for a <see cref="TaikoHitResult.Good"/> hit.
/// This occurs when HP Drain >= 5.
/// The HP awarded for a <see cref="TaikoHitResult.Good"/> hit.
/// </summary>
private const double hp_hit_good_min = 0.011;
/// <summary>
/// The maximum HP awarded for a <see cref="TaikoHitResult.Good"/> hit.
/// This occurs when HP Drain = 0.
/// <para>
/// Yes, this is incorrect, and goods at HP = 0 will award more HP than greats.
/// This is legacy and should be fixed, but is kept as is for now for compatibility.
/// </para>
/// </summary>
private const double hp_hit_good_max = hp_hit_good_min * 8;
private const double hp_hit_good = 0.011;
/// <summary>
/// The minimum HP deducted for a <see cref="HitResult.Miss"/>.
@ -136,7 +125,7 @@ protected override void ComputeTargets(Beatmap<TaikoHitObject> beatmap)
hpIncreaseTick = hp_hit_tick;
hpIncreaseGreat = hpMultiplierNormal * hp_hit_great;
hpIncreaseGood = hpMultiplierNormal * BeatmapDifficulty.DifficultyRange(beatmap.BeatmapInfo.Difficulty.DrainRate, hp_hit_good_max, hp_hit_good_min, hp_hit_good_min);
hpIncreaseGood = hpMultiplierNormal * hp_hit_good;
hpIncreaseMiss = BeatmapDifficulty.DifficultyRange(beatmap.BeatmapInfo.Difficulty.DrainRate, hp_miss_min, hp_miss_mid, hp_miss_max);
var accentedHits = beatmap.HitObjects.FindAll(o => o is Hit && o.Accented);