diff options
| -rw-r--r-- | Malmstone/Services/PVPService.cs | 33 | ||||
| -rw-r--r-- | Malmstone/Windows/MainWindow.cs | 31 |
2 files changed, 36 insertions, 28 deletions
diff --git a/Malmstone/Services/PVPService.cs b/Malmstone/Services/PVPService.cs index ef16df9..12b4c2a 100644 --- a/Malmstone/Services/PVPService.cs +++ b/Malmstone/Services/PVPService.cs @@ -5,6 +5,7 @@ namespace Malmstone.Services public class PvPService { public int CurrentFrontlineLosingBonus = -1; + public int ConsecutiveThirdPlaceFrontline = 0; public enum FrontlinePlacement { @@ -65,10 +66,11 @@ namespace Malmstone.Services // 1500 (no bonus), 1650, 1800, 1950, 2100, 2250 1st if (FrontlineResult == FrontlinePlacement.ThirdPlace) { + ConsecutiveThirdPlaceFrontline++; switch (EarnedSeriesEXP) - { + { // Next 3rd place will get +10% value case 1000: - CurrentFrontlineLosingBonus = 0; + CurrentFrontlineLosingBonus = 0; // Primed for buff return 0; case 1100: CurrentFrontlineLosingBonus = 10; @@ -117,29 +119,10 @@ namespace Malmstone.Services } else if (FrontlineResult == FrontlinePlacement.FirstPlace) { - switch (EarnedSeriesEXP) - { - case 1500: - CurrentFrontlineLosingBonus = 0; - return 0; - case 1650: - CurrentFrontlineLosingBonus = 10; - return 10; - case 1800: - CurrentFrontlineLosingBonus = 20; - return 20; - case 1950: - CurrentFrontlineLosingBonus = 30; - return 30; - case 1750: - CurrentFrontlineLosingBonus = 40; - return 40; - case 1875: - CurrentFrontlineLosingBonus = 50; - return 50; - default: - return -1; - } + // Buff is reset regardless + ConsecutiveThirdPlaceFrontline = 0; + CurrentFrontlineLosingBonus = 0; + return 0; } return -1; } diff --git a/Malmstone/Windows/MainWindow.cs b/Malmstone/Windows/MainWindow.cs index bd1ef5d..1617a00 100644 --- a/Malmstone/Windows/MainWindow.cs +++ b/Malmstone/Windows/MainWindow.cs @@ -26,7 +26,7 @@ namespace Malmstone.Windows { SizeConstraints = new WindowSizeConstraints { - MinimumSize = new Vector2(460, 530), + MinimumSize = new Vector2(460, 545), MaximumSize = new Vector2(float.MaxValue, float.MaxValue) }; @@ -120,18 +120,43 @@ namespace Malmstone.Windows { if(Plugin.PvPService.CurrentFrontlineLosingBonus == 0) { + if(Plugin.PvPService.ConsecutiveThirdPlaceFrontline == 1) + { + ImGui.TextColored(new Vector4(0.0f, 1.0f, 0.0f, 1.0f), "You'll receive 10%% reward bonus if you place 3rd"); + } + if (ImGui.IsItemHovered()) + { + ImGui.BeginTooltip(); + ImGui.Text("You're primed for a reward bonus! You will get a 10% reward bonus if you place 3rd again" + + "\nCounter resets if you rank 1st"); + ImGui.EndTooltip(); + } ImGui.Text("No Frontline Reward Bonus Currently Active"); } else { - ImGui.TextColored(new Vector4(0.0f, 1.0f, 0.0f, 1.0f), "You'll receive a " + Plugin.PvPService.CurrentFrontlineLosingBonus + "%% reward boost next Frontline match"); + if (Plugin.PvPService.CurrentFrontlineLosingBonus != 50) + ImGui.TextColored(new Vector4(0.0f, 1.0f, 0.0f, 1.0f), "You'll receive a " + Plugin.PvPService.CurrentFrontlineLosingBonus + "%% reward bonus placing 1st or 2nd"); + else + ImGui.TextColored(new Vector4(0.0f, 1.0f, 0.0f, 1.0f), "You'll receive a " + Plugin.PvPService.CurrentFrontlineLosingBonus + "%% reward bonus placing 1st, 2nd, or 3rd"); if (ImGui.IsItemHovered()) { ImGui.BeginTooltip(); - ImGui.Text("You will earn a " + Plugin.PvPService.CurrentFrontlineLosingBonus + "%% bonus on PvP EXP, Series EXP, and Wolf Marks " + + ImGui.Text("You'll earn a percentage bonus on PvP EXP, Series EXP, and Wolf Marks " + "until attaining First Place" ); ImGui.EndTooltip(); } + if (Plugin.PvPService.CurrentFrontlineLosingBonus != 50) + { + ImGui.TextColored(new Vector4(0.0f, 1.0f, 0.0f, 1.0f), "Your reward bonus will increase to " + (Plugin.PvPService.CurrentFrontlineLosingBonus + 10) + "%% if place 3rd"); + if (ImGui.IsItemHovered()) + { + ImGui.BeginTooltip(); + ImGui.Text($"Finishing 3rd again will increase your bonus to {Plugin.PvPService.CurrentFrontlineLosingBonus + 10}%." + + "\nThis increased bonus will also apply to the match where this happens."); + ImGui.EndTooltip(); + } + } } if (Plugin.Configuration.OutdatedFrontlineRewardBonus) { |
