AllowCheats
This commit is contained in:
@@ -47,6 +47,7 @@ namespace OpenRA.FileFormats
|
||||
public int OrderLatency = 3;
|
||||
public int RandomSeed = 0;
|
||||
public bool LockTeams = false; // don't allow team changes after game start.
|
||||
public bool AllowCheats = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -162,6 +162,7 @@ namespace OpenRA
|
||||
CurrentPort = port;
|
||||
|
||||
orderManager = new OrderManager(new NetworkConnection(host, port), ChooseReplayFilename());
|
||||
Game.Settings.DeveloperMode = LobbyInfo.GlobalSettings.AllowCheats;
|
||||
}
|
||||
|
||||
static string ChooseReplayFilename()
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace OpenRA.Server
|
||||
static string masterServerUrl;
|
||||
static bool isInitialPing;
|
||||
|
||||
public static void ServerMain(bool internetServer, string masterServerUrl, string name, int port, int extport, string[] mods, string map)
|
||||
public static void ServerMain(bool internetServer, string masterServerUrl, string name, int port, int extport, string[] mods, string map, bool cheats)
|
||||
{
|
||||
isInitialPing = true;
|
||||
Server.masterServerUrl = masterServerUrl;
|
||||
@@ -59,6 +59,7 @@ namespace OpenRA.Server
|
||||
lobbyInfo.GlobalSettings.Mods = mods;
|
||||
lobbyInfo.GlobalSettings.RandomSeed = randomSeed;
|
||||
lobbyInfo.GlobalSettings.Map = map;
|
||||
lobbyInfo.GlobalSettings.AllowCheats = cheats;
|
||||
|
||||
Console.WriteLine("Initial mods: ");
|
||||
foreach( var m in lobbyInfo.GlobalSettings.Mods )
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
Game.Settings.Save();
|
||||
|
||||
Server.Server.ServerMain(Game.Settings.AdvertiseOnline, Game.Settings.MasterServer, Game.Settings.LastServerTitle,
|
||||
Game.Settings.ListenPort, Game.Settings.ExternalPort, mods, map);
|
||||
Game.Settings.ListenPort, Game.Settings.ExternalPort, mods, map, Game.Settings.DeveloperMode);
|
||||
|
||||
Game.JoinServer(IPAddress.Loopback.ToString(), Game.Settings.ListenPort);
|
||||
return true;
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
() => Game.world.LocalPlayer.Shroud.Disabled;
|
||||
devmodeBG.GetWidget<CheckboxWidget>("SETTINGS_CHECKBOX_SHROUD").OnMouseDown = mi =>
|
||||
{
|
||||
if (!Game.LobbyInfo.GlobalSettings.AllowCheats) return true;
|
||||
Game.world.LocalPlayer.Shroud.Disabled ^= true;
|
||||
TriggerCheatingMessage();
|
||||
return true;
|
||||
@@ -51,7 +52,9 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
devmodeBG.GetWidget<CheckboxWidget>("SETTINGS_CHECKBOX_UNITDEBUG").Checked =
|
||||
() => {return Game.Settings.UnitDebug;};
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_UNITDEBUG").OnMouseDown = mi => {
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_UNITDEBUG").OnMouseDown = mi =>
|
||||
{
|
||||
if (!Game.LobbyInfo.GlobalSettings.AllowCheats) return true;
|
||||
Game.Settings.UnitDebug ^= true;
|
||||
TriggerCheatingMessage();
|
||||
return true;
|
||||
@@ -59,7 +62,9 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
devmodeBG.GetWidget<CheckboxWidget>("SETTINGS_CHECKBOX_PATHDEBUG").Checked =
|
||||
() => {return Game.Settings.PathDebug;};
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_PATHDEBUG").OnMouseDown = mi => {
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_PATHDEBUG").OnMouseDown = mi =>
|
||||
{
|
||||
if (!Game.LobbyInfo.GlobalSettings.AllowCheats) return true;
|
||||
Game.Settings.PathDebug ^= true;
|
||||
TriggerCheatingMessage();
|
||||
return true;
|
||||
@@ -67,7 +72,9 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
devmodeBG.GetWidget<CheckboxWidget>("SETTINGS_CHECKBOX_INDEXDEBUG").Checked =
|
||||
() => {return Game.Settings.IndexDebug;};
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_INDEXDEBUG").OnMouseDown = mi => {
|
||||
devmodeBG.GetWidget("SETTINGS_CHECKBOX_INDEXDEBUG").OnMouseDown = mi =>
|
||||
{
|
||||
if (!Game.LobbyInfo.GlobalSettings.AllowCheats) return true;
|
||||
Game.Settings.IndexDebug ^= true;
|
||||
TriggerCheatingMessage();
|
||||
return true;
|
||||
@@ -101,7 +108,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
void TriggerCheatingMessage()
|
||||
{
|
||||
var order = Order.Chat("I used a developer mode option that is considered a cheat!".F(Game.world.LocalPlayer.PlayerName.ToString()));
|
||||
var order = Order.Chat("I used a developer mode option");
|
||||
Game.IssueOrder(order);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user