// // 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 startds command. /// [Guid("7177533A-F147-407E-97B0-C4D8E1AC1AF4")] [PlugIn] [Display(Name = nameof(PlugInResources.StartBloodCastleEventChatCommandPlugIn_Name), Description = nameof(PlugInResources.StartBloodCastleEventChatCommandPlugIn_Description), ResourceType = typeof(PlugInResources))] [ChatCommandHelp(Command, CharacterStatus.GameMaster)] public class StartBloodCastleEventChatCommandPlugIn : IChatCommandPlugIn { private const string Command = "/startbc"; /// public string Key => Command; /// public CharacterStatus MinCharacterStatusRequirement => CharacterStatus.GameMaster; /// public async ValueTask HandleCommandAsync(Player player, string command) { var bloodCastle = player.GameContext.PlugInManager.GetStrategy(MiniGameType.BloodCastle); bloodCastle?.ForceStart(); } }