diff --git a/Dalamud/Fools/FoolsManager.cs b/Dalamud/Fools/FoolsManager.cs index 1509acb4e..9d76b4f06 100644 --- a/Dalamud/Fools/FoolsManager.cs +++ b/Dalamud/Fools/FoolsManager.cs @@ -45,10 +45,6 @@ namespace Dalamud.Fools; // * //(/******,,,.,,..,,,****/*///((((#(###(/##(, // // April fools! <3 -// This was a group effort in one week lead by: -// NotNite: FoolsManager, Pixel Imperfect, Screensaver -// Berna: DailyLifeDuty -// Chirp: Oops, Maybe Lalafells! /// /// Manager for all the IFoolsPlugin instances. @@ -76,12 +72,51 @@ internal class FoolsManager : IDisposable, IServiceType // reflect over all IFoolsPlugin implementations sometime(?) this.FoolsPlugins = new List { - new("Pixel Imperfect", "PixelImperfectPlugin", "Whoops... we messed up the math on that one.", "Halpo", - typeof(PixelImperfectPlugin)), - new("DailyLifeDuty", "DailyLifeDutyPlugin", "Easily Track Daily and Weekly tasks... in real life", "MidoriKami", typeof(DailyLifeDutyPlugin)), - new("Oops, Maybe Lalafells!", "OopsMaybeLalafellsPlugin", "Turn everyone into Lalafells? Maybe. We haven't quite tested it yet.", "Chrip", typeof(OopsMaybeLalafells)), - new("Screensaver", "ScreensaverPlugin", "Prevent burn-in on loading screens.", "NotNite", typeof(ScreensaverPlugin)), - new("Cat Bubbles", "CatBubblesPlugin", "Enables in-game sdfgasdfgkljewriogdfkjghahfvcxbnmlqpwoeiruty", "Chirp's Cat, Sir Fluffington III", typeof(CatBubblesPlugin)) + new() + { + Name = "Pixel Imperfect", + InternalName = "PixelImperfectPlugin", + Description = "Whoops... we messed up the math on that one.", + Author = "Halpo", + RealAuthor = "NotNite", + Type = typeof(PixelImperfectPlugin), + }, + new() + { + Name = "DailyLifeDuty", + InternalName = "DailyLifeDutyPlugin", + Description = "Easily Track Daily and Weekly tasks... in real life", + Author = "MidoriKami", + RealAuthor = "Berna", + Type = typeof(DailyLifeDutyPlugin), + }, + new() + { + Name = "Oops, Maybe Lalafells!", + InternalName = "OopsMaybeLalafellsPlugin", + Description = "Turn everyone into Lalafells? Maybe. We haven't quite tested it yet.", + Author = "Chrip", + RealAuthor = "Chirp", + Type = typeof(OopsMaybeLalafells), + }, + new() + { + Name = "Screensaver", + InternalName = "ScreensaverPlugin", + Description = "Prevent burn-in on loading screens.", + Author = "NotNite", + RealAuthor = "NotNite", + Type = typeof(ScreensaverPlugin), + }, + new() + { + Name = "Cat Bubbles", + InternalName = "CatBubblesPlugin", + Description = "Enables in-game sdfgasdfgkljewriogdfkjghahfvcxbnmlqpwoeiruty", + Author = "Chirp's Cat, Sir Fluffington III", + RealAuthor = "Chirp", + Type = typeof(CatBubblesPlugin), + }, }; } diff --git a/Dalamud/Fools/FoolsPluginMetadata.cs b/Dalamud/Fools/FoolsPluginMetadata.cs index 25c095a60..67c657400 100644 --- a/Dalamud/Fools/FoolsPluginMetadata.cs +++ b/Dalamud/Fools/FoolsPluginMetadata.cs @@ -4,22 +4,15 @@ namespace Dalamud.Fools; public class FoolsPluginMetadata { - public string Name { get; } + public string Name { get; init; } - public string InternalName { get; } + public string InternalName { get; init; } - public string Description { get; } + public string Description { get; init; } - public string Author { get; } + public string Author { get; init; } - public Type Type { get; } + public string RealAuthor { get; init; } - public FoolsPluginMetadata(string name, string internalName, string description, string author, Type type) - { - this.Name = name; - this.InternalName = internalName; - this.Description = description; - this.Author = author; - this.Type = type; - } + public Type Type { get; init; } } diff --git a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs index 451c9f2f2..4e308455e 100644 --- a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs +++ b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs @@ -1303,6 +1303,10 @@ internal class PluginInstallerWindow : Window, IDisposable ImGui.SameLine(); ImGui.TextColored(ImGuiColors.DalamudGrey3, $" by {plugin.Author}"); + if (ImGui.IsItemHovered() && plugin.Author != plugin.RealAuthor) + { + ImGui.SetTooltip($"actually by {plugin.RealAuthor}"); + } ImGui.TextWrapped(plugin.Description);