diff --git a/ChatTwo/Plugin.cs b/ChatTwo/Plugin.cs
index b5adad9..fc45fc1 100755
--- a/ChatTwo/Plugin.cs
+++ b/ChatTwo/Plugin.cs
@@ -153,13 +153,15 @@ public sealed class Plugin : IDalamudPlugin
}
// Hellion default tab layout for first-run and v10-wipe.
- // General-catch-all + FC + Party + Linkshell + Tells matches the
- // channel set the average raider uses; the Beginner tab only
- // appears when the user has the Novice Network enabled in Audio
- // & Notifications, otherwise it would just sit empty.
+ // General catches player chat plus active gameplay events; the
+ // System tab takes the technical noise so it does not bury real
+ // conversation. Beginner tab only appears when the Novice
+ // Network is enabled in Audio and Notifications, otherwise it
+ // would just sit empty.
if (Config.Tabs.Count == 0)
{
Config.Tabs.Add(TabsUtil.VanillaGeneral);
+ Config.Tabs.Add(TabsUtil.HellionSystem);
Config.Tabs.Add(TabsUtil.HellionFreeCompany);
Config.Tabs.Add(TabsUtil.HellionParty);
if (Config.ShowNoviceNetwork)
diff --git a/ChatTwo/Resources/HellionStrings.Designer.cs b/ChatTwo/Resources/HellionStrings.Designer.cs
index 538883a..c4dd719 100644
--- a/ChatTwo/Resources/HellionStrings.Designer.cs
+++ b/ChatTwo/Resources/HellionStrings.Designer.cs
@@ -233,6 +233,7 @@ internal class HellionStrings
internal static string Settings_Information_Changelog_Heading => Get(nameof(Settings_Information_Changelog_Heading));
// Hellion Chat — Default tab presets (channel-themed)
+ internal static string Tabs_Presets_System => Get(nameof(Tabs_Presets_System));
internal static string Tabs_Presets_FreeCompany => Get(nameof(Tabs_Presets_FreeCompany));
internal static string Tabs_Presets_Party => Get(nameof(Tabs_Presets_Party));
internal static string Tabs_Presets_Beginner => Get(nameof(Tabs_Presets_Beginner));
diff --git a/ChatTwo/Resources/HellionStrings.de.resx b/ChatTwo/Resources/HellionStrings.de.resx
index 2aa6ac9..1f9b7f4 100644
--- a/ChatTwo/Resources/HellionStrings.de.resx
+++ b/ChatTwo/Resources/HellionStrings.de.resx
@@ -528,6 +528,9 @@
+
+ System
+
Free Company
diff --git a/ChatTwo/Resources/HellionStrings.resx b/ChatTwo/Resources/HellionStrings.resx
index 8fa8abd..519f010 100644
--- a/ChatTwo/Resources/HellionStrings.resx
+++ b/ChatTwo/Resources/HellionStrings.resx
@@ -528,6 +528,9 @@
+
+ System
+
Free Company
diff --git a/ChatTwo/Util/TabsUtil.cs b/ChatTwo/Util/TabsUtil.cs
index 776d3f0..b143a5c 100755
--- a/ChatTwo/Util/TabsUtil.cs
+++ b/ChatTwo/Util/TabsUtil.cs
@@ -14,22 +14,17 @@ public static class TabsUtil
return channels;
}
- // Hellion-tuned General preset. Differs from upstream Vanilla:
- // Tells (own tab), emotes, novice network and the FC/PvP announcement
- // streams move into their dedicated themed tabs so the General tab
- // is the public-chat catch-all that the maintainer actually runs in
- // production. NpcDialogue stays here because the user reads it
- // alongside system messages instead of in a separate Event tab.
+ // Hellion-tuned General preset. The pure player-talk catch-all plus
+ // the active-gameplay event streams (loot, crafting, gathering, NPC
+ // dialogue, party-finder pings). Pure technical noise (System, Error,
+ // Login/Logout spam, retainer sales, alarms, sign messages) lives in
+ // the dedicated System tab so it doesn't bury actual conversation.
public static Tab VanillaGeneral => new()
{
Name = Language.Tabs_Presets_General,
SelectedChannels = new Dictionary
{
- // Special
- [ChatType.Debug] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Urgent] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Notice] = (ChatSourceExt.All, ChatSourceExt.All),
- // Chat
+ // Player chat
[ChatType.Say] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Yell] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Shout] = (ChatSourceExt.All, ChatSourceExt.All),
@@ -54,25 +49,13 @@ public static class TabsUtil
[ChatType.Linkshell6] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Linkshell7] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Linkshell8] = (ChatSourceExt.All, ChatSourceExt.All),
- // Announcements
- [ChatType.System] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Error] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Echo] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.NpcAnnouncement] = (ChatSourceExt.All, ChatSourceExt.All),
+ // Active-gameplay events
[ChatType.NpcDialogue] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.FreeCompanyLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.PvpTeamLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.RetainerSale] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.LootNotice] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Progress] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.LootRoll] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Crafting] = (ChatSourceExt.All, ChatSourceExt.All),
[ChatType.Gathering] = (ChatSource.LocalPlayer, ChatSource.LocalPlayer),
[ChatType.PeriodicRecruitmentNotification] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.RandomNumber] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Orchestrion] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.MessageBook] = (ChatSourceExt.All, ChatSourceExt.All),
- [ChatType.Alarm] = (ChatSourceExt.All, ChatSourceExt.All),
}
};
@@ -139,6 +122,33 @@ public static class TabsUtil
Channel = InputChannel.NoviceNetwork,
};
+ public static Tab HellionSystem => new()
+ {
+ Name = HellionStrings.Tabs_Presets_System,
+ SelectedChannels = new Dictionary
+ {
+ [ChatType.Debug] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Urgent] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Notice] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.System] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Error] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Echo] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.GatheringSystem] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.NoviceNetworkSystem] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.NpcAnnouncement] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.FreeCompanyLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.PvpTeamLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.RetainerSale] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Progress] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.RandomNumber] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Orchestrion] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.MessageBook] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Alarm] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.Sign] = (ChatSourceExt.All, ChatSourceExt.All),
+ [ChatType.GlamourNotifications] = (ChatSourceExt.All, ChatSourceExt.All),
+ },
+ };
+
public static Tab HellionLinkshell => new()
{
Name = HellionStrings.Tabs_Presets_Linkshell,