AllowCheats

This commit is contained in:
alzeih
2010-07-24 17:57:54 +12:00
parent 2d916e60d9
commit 3b72af2e9b
5 changed files with 16 additions and 6 deletions

View File

@@ -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;
}
}

View File

@@ -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()

View File

@@ -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 )

View File

@@ -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;

View File

@@ -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);
}
}