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,