From b5b80d4f7fd6f3e6880763fe21d4116af53e159d Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Wed, 2 Dec 2009 21:03:10 +1300 Subject: [PATCH] C:/Program Files/Git/race command works --- OpenRA.Server/Server.cs | 15 +++++++++++++++ OpenRa.Game/UnitOrders.cs | 10 +++++++++- session.ini | 7 ++++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/OpenRA.Server/Server.cs b/OpenRA.Server/Server.cs index 1c9e579e76..0a82481568 100644 --- a/OpenRA.Server/Server.cs +++ b/OpenRA.Server/Server.cs @@ -313,6 +313,21 @@ namespace OpenRA.Server DispatchOrders(null, 0, new ServerOrder(0, "SetPalette", pal.ToString()).Serialize()); } + + if (so.Data.StartsWith("/race ")) + { + int race; + if (!int.TryParse(so.Data.Substring(6), out race) || race < 0 || race > 1) + { + Console.WriteLine("Invalid race: {0}", + so.Data.Substring(6)); + return; + } + + DispatchOrders(null, 0, + new ServerOrder(0, "SetRace", race.ToString()).Serialize()); + } + break; } } diff --git a/OpenRa.Game/UnitOrders.cs b/OpenRa.Game/UnitOrders.cs index 1b7f66e691..c8953b8cde 100755 --- a/OpenRa.Game/UnitOrders.cs +++ b/OpenRa.Game/UnitOrders.cs @@ -119,7 +119,15 @@ namespace OpenRa.Game order.Player.PlayerName = order.TargetString; break; } - + case "SetRace": + { + order.Player.Race = order.TargetString == "0" + ? Race.Soviet : Race.Allies; + Game.chat.AddLine(Pair.New(order.Player.PlayerName, + string.Format("is now playing {0}", + order.Player.Race))); + break; + } case "SetLag": { int lag = int.Parse(order.TargetString); diff --git a/session.ini b/session.ini index 6e7bfd0aca..48ca3cbcc1 100644 --- a/session.ini +++ b/session.ini @@ -5,7 +5,8 @@ [UNITS] s0=Multi0,mcv,600,2580,0,Guard,None -s1=Multi1,mcv,600,10900,0,Guard,None -s2=Multi2,mcv,600,2662,0,Guard,None -s3=Multi3,mcv,600,10980,0,Guard,None +s3=Multi1,mcv,600,10980,0,Guard,None +s1=Multi2,mcv,600,10900,0,Guard,None +s2=Multi3,mcv,600,2662,0,Guard,None +