diff options
| author | Pinapelz <yukais@pinapelz.com> | 2024-08-29 00:43:57 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2024-08-29 00:43:57 -0700 |
| commit | c5bbbb92b7e5c62b7c028058c1031fa085afad20 (patch) | |
| tree | 036e906beae749d498aa805b39db712340e37ce9 | |
| parent | a37653f3644beb9795d6a01620fe53fa570483b0 (diff) | |
add proper pluralization to text
| -rw-r--r-- | Malmstone/Plugin.cs | 68 | ||||
| -rw-r--r-- | Malmstone/Windows/MainWindow.cs | 33 |
2 files changed, 80 insertions, 21 deletions
diff --git a/Malmstone/Plugin.cs b/Malmstone/Plugin.cs index 0d88d0a..5b92da3 100644 --- a/Malmstone/Plugin.cs +++ b/Malmstone/Plugin.cs @@ -85,6 +85,8 @@ public sealed class Plugin : IDalamudPlugin else return; } + // Show games left in chat log when there are args + if (targetRank < 1) { @@ -115,42 +117,86 @@ public sealed class Plugin : IDalamudPlugin includeAll = true; } var seString = new SeString(new List<Payload>()); - seString.Append(new TextPayload("[To Series Level " + targetRank + "]")); + seString.Append(new TextPayload("\n[To Series Level " + targetRank + "]")); + // Crystalline Conflict if (includeAll || specs.Contains("cc")) { seString.Append(new TextPayload("\nCrystalline Conflict:\n")); seString.Append(new UIForegroundPayload(35)); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Win") ? $"Win: {xpResult.ActivityCounts["Crystalline Conflict Win"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Lose") ? $"Lose: {xpResult.ActivityCounts["Crystalline Conflict Lose"]} times\n" : "")); + if (xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Win")) + { + var winCount = xpResult.ActivityCounts["Crystalline Conflict Win"]; + seString.Append(new TextPayload($"Win: {winCount} " + (winCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Lose")) + { + var loseCount = xpResult.ActivityCounts["Crystalline Conflict Lose"]; + seString.Append(new TextPayload($"Lose: {loseCount} " + (loseCount == 1 ? "time" : "times") + "\n")); + } seString.Append(UIForegroundPayload.UIForegroundOff); } + //Frontlines if (includeAll || specs.Contains("fl")) { seString.Append(new TextPayload("\nFrontlines:\n")); seString.Append(new UIForegroundPayload(518)); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Win") ? $"Take 1st Place: {xpResult.ActivityCounts["Frontline Win"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Lose 2nd") ? $"Take 2nd Place: {xpResult.ActivityCounts["Frontline Lose 2nd"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Lose 3rd") ? $"Take 3rd Place: {xpResult.ActivityCounts["Frontline Lose 3rd"]} times\n" : "")); + if (xpResult.ActivityCounts.ContainsKey("Frontline Win")) + { + var frontlineWinCount = xpResult.ActivityCounts["Frontline Win"]; + seString.Append(new TextPayload($"Take 1st Place: {frontlineWinCount} " + (frontlineWinCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Frontline Lose 2nd")) + { + var frontlineLose2ndCount = xpResult.ActivityCounts["Frontline Lose 2nd"]; + seString.Append(new TextPayload($"Take 2nd Place: {frontlineLose2ndCount} " + (frontlineLose2ndCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Frontline Lose 3rd")) + { + var frontlineLose3rdCount = xpResult.ActivityCounts["Frontline Lose 3rd"]; + seString.Append(new TextPayload($"Take 3rd Place: {frontlineLose3rdCount} " + (frontlineLose3rdCount == 1 ? "time" : "times") + "\n")); + } seString.Append(UIForegroundPayload.UIForegroundOff); seString.Append(new TextPayload("\nFrontlines (Roulette):\n")); seString.Append(new UIForegroundPayload(518)); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Daily Win") ? $"Take 1st Place: {xpResult.ActivityCounts["Frontline Daily Win"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 2nd") ? $"Take 2nd Place: {xpResult.ActivityCounts["Frontline Daily Lose 2nd"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 3rd") ? $"Take 3rd Place: {xpResult.ActivityCounts["Frontline Daily Lose 3rd"]} times\n" : "")); + if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Win")) + { + var frontlineDailyWinCount = xpResult.ActivityCounts["Frontline Daily Win"]; + seString.Append(new TextPayload($"Take 1st Place: {frontlineDailyWinCount} " + (frontlineDailyWinCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 2nd")) + { + var frontlineDailyLose2ndCount = xpResult.ActivityCounts["Frontline Daily Lose 2nd"]; + seString.Append(new TextPayload($"Take 2nd Place: {frontlineDailyLose2ndCount} " + (frontlineDailyLose2ndCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 3rd")) + { + var frontlineDailyLose3rdCount = xpResult.ActivityCounts["Frontline Daily Lose 3rd"]; + seString.Append(new TextPayload($"Take 3rd Place: {frontlineDailyLose3rdCount} " + (frontlineDailyLose3rdCount == 1 ? "time" : "times") + "\n")); + } seString.Append(UIForegroundPayload.UIForegroundOff); } + // Rival Wings if (includeAll || specs.Contains("rw")) { seString.Append(new TextPayload("\nRival Wings:\n")); seString.Append(new UIForegroundPayload(43)); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Rival Wings Win") ? $"Win: {xpResult.ActivityCounts["Rival Wings Win"]} times\n" : "")); - seString.Append(new TextPayload(xpResult.ActivityCounts.ContainsKey("Rival Wings Lose") ? $"Lose: {xpResult.ActivityCounts["Rival Wings Lose"]} times\n" : "")); + if (xpResult.ActivityCounts.ContainsKey("Rival Wings Win")) + { + var rivalWingsWinCount = xpResult.ActivityCounts["Rival Wings Win"]; + seString.Append(new TextPayload($"Win: {rivalWingsWinCount} " + (rivalWingsWinCount == 1 ? "time" : "times") + "\n")); + } + if (xpResult.ActivityCounts.ContainsKey("Rival Wings Lose")) + { + var rivalWingsLoseCount = xpResult.ActivityCounts["Rival Wings Lose"]; + seString.Append(new TextPayload($"Lose: {rivalWingsLoseCount} " + (rivalWingsLoseCount == 1 ? "time" : "times") + "\n")); + } seString.Append(UIForegroundPayload.UIForegroundOff); } + if (seString.Payloads.Count > 0) Chat.Print(seString); } diff --git a/Malmstone/Windows/MainWindow.cs b/Malmstone/Windows/MainWindow.cs index 0d288b2..2c70944 100644 --- a/Malmstone/Windows/MainWindow.cs +++ b/Malmstone/Windows/MainWindow.cs @@ -56,6 +56,8 @@ namespace Malmstone.Windows if (TargetSeriesRank < 1) TargetSeriesRank = 1; if (TargetSeriesRank > 107397) TargetSeriesRank = 107397; + if (TargetSeriesRank <= pvpInfo.CurrentSeriesRank) TargetSeriesRank = pvpInfo.CurrentSeriesRank + 1; + ImGui.Spacing(); ImGui.Separator(); @@ -83,11 +85,13 @@ namespace Malmstone.Windows ImGui.Spacing(); if (xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Win")) { - ImGui.BulletText($"Win: {xpResult.ActivityCounts["Crystalline Conflict Win"]} times"); + var winCount = xpResult.ActivityCounts["Crystalline Conflict Win"]; + ImGui.BulletText($"Win: {winCount} " + (winCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Crystalline Conflict Lose")) { - ImGui.BulletText($"Lose: {xpResult.ActivityCounts["Crystalline Conflict Lose"]} times"); + var loseCount = xpResult.ActivityCounts["Crystalline Conflict Lose"]; + ImGui.BulletText($"Lose: {loseCount} " + (loseCount == 1 ? "time" : "times")); } ImGui.Spacing(); @@ -98,15 +102,18 @@ namespace Malmstone.Windows ImGui.Spacing(); if (xpResult.ActivityCounts.ContainsKey("Frontline Win")) { - ImGui.BulletText($"Take 1st Place: {xpResult.ActivityCounts["Frontline Win"]} times"); + var frontlineWinCount = xpResult.ActivityCounts["Frontline Win"]; + ImGui.BulletText($"Take 1st Place: {frontlineWinCount} " + (frontlineWinCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Frontline Lose 2nd")) { - ImGui.BulletText($"Take 2nd Place: {xpResult.ActivityCounts["Frontline Lose 2nd"]} times"); + var frontlineLose2ndCount = xpResult.ActivityCounts["Frontline Lose 2nd"]; + ImGui.BulletText($"Take 2nd Place: {frontlineLose2ndCount} " + (frontlineLose2ndCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Frontline Lose 3rd")) { - ImGui.BulletText($"Take 3rd Place: {xpResult.ActivityCounts["Frontline Lose 3rd"]} times"); + var frontlineLose3rdCount = xpResult.ActivityCounts["Frontline Lose 3rd"]; + ImGui.BulletText($"Take 3rd Place: {frontlineLose3rdCount} " + (frontlineLose3rdCount == 1 ? "time" : "times")); } // Frontlines Roulette Section @@ -114,15 +121,18 @@ namespace Malmstone.Windows ImGui.Spacing(); if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Win")) { - ImGui.BulletText($"Take 1st Place: {xpResult.ActivityCounts["Frontline Daily Win"]} times"); + var frontlineDailyWinCount = xpResult.ActivityCounts["Frontline Daily Win"]; + ImGui.BulletText($"Take 1st Place: {frontlineDailyWinCount} " + (frontlineDailyWinCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 2nd")) { - ImGui.BulletText($"Take 2nd Place: {xpResult.ActivityCounts["Frontline Daily Lose 2nd"]} times"); + var frontlineDailyLose2ndCount = xpResult.ActivityCounts["Frontline Daily Lose 2nd"]; + ImGui.BulletText($"Take 2nd Place: {frontlineDailyLose2ndCount} " + (frontlineDailyLose2ndCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Frontline Daily Lose 3rd")) { - ImGui.BulletText($"Take 3rd Place: {xpResult.ActivityCounts["Frontline Daily Lose 3rd"]} times"); + var frontlineDailyLose3rdCount = xpResult.ActivityCounts["Frontline Daily Lose 3rd"]; + ImGui.BulletText($"Take 3rd Place: {frontlineDailyLose3rdCount} " + (frontlineDailyLose3rdCount == 1 ? "time" : "times")); } ImGui.Spacing(); @@ -133,12 +143,15 @@ namespace Malmstone.Windows ImGui.Spacing(); if (xpResult.ActivityCounts.ContainsKey("Rival Wings Win")) { - ImGui.BulletText($"Win: {xpResult.ActivityCounts["Rival Wings Win"]} times"); + var rivalWingsWinCount = xpResult.ActivityCounts["Rival Wings Win"]; + ImGui.BulletText($"Win: {rivalWingsWinCount} " + (rivalWingsWinCount == 1 ? "time" : "times")); } if (xpResult.ActivityCounts.ContainsKey("Rival Wings Lose")) { - ImGui.BulletText($"Lose: {xpResult.ActivityCounts["Rival Wings Lose"]} times"); + var rivalWingsLoseCount = xpResult.ActivityCounts["Rival Wings Lose"]; + ImGui.BulletText($"Lose: {rivalWingsLoseCount} " + (rivalWingsLoseCount == 1 ? "time" : "times")); } + } else { |
