aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Malmstone/Services/PVPService.cs33
-rw-r--r--Malmstone/Windows/MainWindow.cs31
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)
{
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage