diff --git a/HellionChat/Themes/Builtin/ForgeMerchantman.cs b/HellionChat/Themes/Builtin/ForgeMerchantman.cs new file mode 100644 index 0000000..b18c724 --- /dev/null +++ b/HellionChat/Themes/Builtin/ForgeMerchantman.cs @@ -0,0 +1,76 @@ +using HellionChat.Util; + +namespace HellionChat.Themes.Builtin; + +internal static class ForgeMerchantman +{ + public const string Slug = "forge-merchantman"; + + public static Theme Build() => new( + Slug: Slug, + Name: "Forge Merchantman", + Author: "Hellion Online Media", + Description: "Patina Bronze auf Workshop-Slate — Hellion Forge im Plugin.", + Colors: new ThemeColors( + PrimaryDark: ColourUtil.HexToRgba("#1F8A82"), + Primary: ColourUtil.HexToRgba("#2DB39E"), + PrimaryLight: ColourUtil.HexToRgba("#4FC9B0"), + PrimaryGlow: ColourUtil.HexToRgba("#2DB39E99"), + + AccentDark: ColourUtil.HexToRgba("#B86A20"), + Accent: ColourUtil.HexToRgba("#D9892C"), + AccentLight: ColourUtil.HexToRgba("#E8A04A"), + + Identity: ColourUtil.HexToRgba("#1F8A82"), + + WindowBg: ColourUtil.HexToRgba("#050B0A"), + ChildBg: ColourUtil.HexToRgba("#0B1413"), + FrameBg: ColourUtil.HexToRgba("#11201D"), + Surface: ColourUtil.HexToRgba("#182925"), + SurfaceHover: ColourUtil.HexToRgba("#213631"), + Border: ColourUtil.HexToRgba("#2DB39E66"), + + TextPrimary: ColourUtil.HexToRgba("#D8EFE8"), + TextMuted: ColourUtil.HexToRgba("#8FA39B"), + TextDim: ColourUtil.HexToRgba("#5A6E66"), + + StatusSuccess: ColourUtil.HexToRgba("#5CB85C"), + StatusDanger: ColourUtil.HexToRgba("#D9534F"), + StatusWarning: ColourUtil.HexToRgba("#F0AD4E"), + StatusInfo: ColourUtil.HexToRgba("#2DB39E") + ), + Layout: new ThemeLayout( + WindowRounding: 4f, ChildRounding: 3f, PopupRounding: 3f, + FrameRounding: 2f, GrabRounding: 2f, TabRounding: 2f, + ScrollbarRounding: 2f, WindowBorderSize: 1f, FrameBorderSize: 1f + ), + Typography: new ThemeTypography(), + IsBuiltIn: true, + ChatColors: new ThemeChatColors(new Dictionary + { + // Forge Merchantman — Patina-Tinte in Party/FC, Bernstein-Tinte in + // Yell/Alliance/CustomEmote. Channel-identity bleibt voll erhalten. + [HellionChat.Code.ChatType.Say] = ColourUtil.HexToRgba("#FFFFFF"), + [HellionChat.Code.ChatType.Yell] = ColourUtil.HexToRgba("#F0C060"), + [HellionChat.Code.ChatType.Shout] = ColourUtil.HexToRgba("#E8902C"), + [HellionChat.Code.ChatType.TellIncoming] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.TellOutgoing] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.Party] = ColourUtil.HexToRgba("#6AC9B0"), + [HellionChat.Code.ChatType.Alliance] = ColourUtil.HexToRgba("#E8A04A"), + [HellionChat.Code.ChatType.FreeCompany] = ColourUtil.HexToRgba("#4FB8A0"), + [HellionChat.Code.ChatType.NoviceNetwork] = ColourUtil.HexToRgba("#A8E060"), + [HellionChat.Code.ChatType.CrossParty] = ColourUtil.HexToRgba("#6AC9B0"), + [HellionChat.Code.ChatType.Linkshell1] = ColourUtil.HexToRgba("#A8E060"), + [HellionChat.Code.ChatType.Linkshell2] = ColourUtil.HexToRgba("#E8A04A"), + [HellionChat.Code.ChatType.Linkshell3] = ColourUtil.HexToRgba("#F0C060"), + [HellionChat.Code.ChatType.Linkshell4] = ColourUtil.HexToRgba("#80E8B0"), + [HellionChat.Code.ChatType.Linkshell5] = ColourUtil.HexToRgba("#6AC9B0"), + [HellionChat.Code.ChatType.Linkshell6] = ColourUtil.HexToRgba("#A8A0F0"), + [HellionChat.Code.ChatType.Linkshell7] = ColourUtil.HexToRgba("#FF99CC"), + [HellionChat.Code.ChatType.Linkshell8] = ColourUtil.HexToRgba("#E8B0F0"), + [HellionChat.Code.ChatType.CustomEmote] = ColourUtil.HexToRgba("#E8C880"), + [HellionChat.Code.ChatType.StandardEmote] = ColourUtil.HexToRgba("#E8C880"), + [HellionChat.Code.ChatType.Echo] = ColourUtil.HexToRgba("#8FA39B"), + }) + ); +} diff --git a/HellionChat/Themes/ThemeRegistry.cs b/HellionChat/Themes/ThemeRegistry.cs index 97de6ab..1bda072 100644 --- a/HellionChat/Themes/ThemeRegistry.cs +++ b/HellionChat/Themes/ThemeRegistry.cs @@ -21,6 +21,7 @@ public sealed class ThemeRegistry { MoonlitBloom.Slug, MoonlitBloom.Build() }, { NightBlue.Slug, NightBlue.Build() }, { IndigoViolet.Slug, IndigoViolet.Build() }, + { ForgeMerchantman.Slug, ForgeMerchantman.Build() }, { MintGrove.Slug, MintGrove.Build() }, }; _active = _builtIns[DefaultSlug];