aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2024-08-29 00:43:57 -0700
committerPinapelz <yukais@pinapelz.com>2024-08-29 00:43:57 -0700
commitc5bbbb92b7e5c62b7c028058c1031fa085afad20 (patch)
tree036e906beae749d498aa805b39db712340e37ce9
parenta37653f3644beb9795d6a01620fe53fa570483b0 (diff)
add proper pluralization to text
-rw-r--r--Malmstone/Plugin.cs68
-rw-r--r--Malmstone/Windows/MainWindow.cs33
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
{
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage