From 3b07c3913dd9209be68f7f928cb704ac6c6ba168 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Wed, 25 Dec 2019 19:58:23 +0900 Subject: [PATCH] Add perfect and ok values, move to base Judgement --- .../Judgements/OsuJudgement.cs | 26 --------------- osu.Game/Rulesets/Judgements/Judgement.cs | 33 ++++++++++++++++++- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Judgements/OsuJudgement.cs b/osu.Game.Rulesets.Osu/Judgements/OsuJudgement.cs index 845ff76ce6..bf30fbc351 100644 --- a/osu.Game.Rulesets.Osu/Judgements/OsuJudgement.cs +++ b/osu.Game.Rulesets.Osu/Judgements/OsuJudgement.cs @@ -8,11 +8,6 @@ namespace osu.Game.Rulesets.Osu.Judgements { public class OsuJudgement : Judgement { - /// - /// The health increase for a maximum judgement result. - /// - protected const double MAX_HEALTH_INCREASE = 0.05; - public override HitResult MaxResult => HitResult.Great; protected override int NumericResultFor(HitResult result) @@ -32,26 +27,5 @@ namespace osu.Game.Rulesets.Osu.Judgements return 300; } } - - protected override double HealthIncreaseFor(HitResult result) - { - switch (result) - { - case HitResult.Miss: - return -MAX_HEALTH_INCREASE; - - case HitResult.Meh: - return -MAX_HEALTH_INCREASE * 0.05; - - case HitResult.Good: - return MAX_HEALTH_INCREASE * 0.3; - - case HitResult.Great: - return MAX_HEALTH_INCREASE; - - default: - return 0; - } - } } } diff --git a/osu.Game/Rulesets/Judgements/Judgement.cs b/osu.Game/Rulesets/Judgements/Judgement.cs index f07f76a2b8..599135ba54 100644 --- a/osu.Game/Rulesets/Judgements/Judgement.cs +++ b/osu.Game/Rulesets/Judgements/Judgement.cs @@ -11,6 +11,12 @@ namespace osu.Game.Rulesets.Judgements /// public class Judgement { + /// + /// The default health increase for a maximum judgement, as a proportion of total health. + /// By default, each maximum judgement restores 5% of total health. + /// + protected const double DEFAULT_MAX_HEALTH_INCREASE = 0.05; + /// /// The maximum that can be achieved. /// @@ -55,7 +61,32 @@ namespace osu.Game.Rulesets.Judgements /// /// The to find the numeric health increase for. /// The numeric health increase of . - protected virtual double HealthIncreaseFor(HitResult result) => 0; + protected virtual double HealthIncreaseFor(HitResult result) + { + switch (result) + { + case HitResult.Miss: + return -DEFAULT_MAX_HEALTH_INCREASE; + + case HitResult.Meh: + return -DEFAULT_MAX_HEALTH_INCREASE * 0.05; + + case HitResult.Ok: + return -DEFAULT_MAX_HEALTH_INCREASE * 0.01; + + case HitResult.Good: + return DEFAULT_MAX_HEALTH_INCREASE * 0.3; + + case HitResult.Great: + return DEFAULT_MAX_HEALTH_INCREASE; + + case HitResult.Perfect: + return DEFAULT_MAX_HEALTH_INCREASE * 1.05; + + default: + return 0; + } + } /// /// Retrieves the numeric health increase of a .