From 661763b23f77429f289c8b3532fe40cf4c937bcd Mon Sep 17 00:00:00 2001 From: Sanae Date: Thu, 24 Mar 2022 22:53:00 -0600 Subject: [PATCH] Add untested stage change command --- Server/Program.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Server/Program.cs b/Server/Program.cs index a5129b1..c60f73c 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -124,6 +124,26 @@ server.PacketHandler = (c, p) => { return true; }; +CommandHandler.RegisterCommand("send", args => { + const string optionUsage = "Usage: send "; + if (args.Length < 4) + return optionUsage; + + string stage = args[0]; + string id = args[1]; + if (!byte.TryParse(args[2], out byte scenario)) return $"Invalid scenario number {args[2]} (range: [0-255])"; + Client[] players = args[3] == "*" ? server.Clients.Where(c => c.Connected).ToArray() : server.Clients.Where(c => c.Connected && args[3..].Contains(c.Name)).ToArray(); + Parallel.ForEachAsync(players, async (c,_) => { + await c.Send(new ChangeStagePacket { + Stage = stage, + Id = id, + Scenario = scenario, + SubScenarioType = 0 + }); + }).Wait(); + return $"Sent players to {stage}:{scenario}"; +}); + CommandHandler.RegisterCommand("scenario", args => { const string optionUsage = "Valid options: merge "; if (args.Length < 1)