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