// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.GameLogic.PlugIns.ChatCommands; using System.Runtime.InteropServices; using MUnique.OpenMU.GameLogic.PlugIns.PeriodicTasks; using MUnique.OpenMU.PlugIns; /// /// A chat command plugin which handles the startcc command. /// [Guid("A990270E-B9C6-4445-BBA9-56367A90D31D")] [PlugIn] [Display(Name = nameof(PlugInResources.StartChaosCastleEventChatCommandPlugIn_Name), Description = nameof(PlugInResources.StartChaosCastleEventChatCommandPlugIn_Description), ResourceType = typeof(PlugInResources))] [ChatCommandHelp(Command, CharacterStatus.GameMaster)] public class StartChaosCastleEventChatCommandPlugIn : IChatCommandPlugIn { private const string Command = "/startcc"; /// public string Key => Command; /// public CharacterStatus MinCharacterStatusRequirement => CharacterStatus.GameMaster; /// public async ValueTask HandleCommandAsync(Player player, string command) { var chaosCastle = player.GameContext.PlugInManager.GetStrategy(MiniGameType.ChaosCastle); chaosCastle?.ForceStart(); } }