diff --git a/OpenRA.Game/Traits/Player/DeveloperMode.cs b/OpenRA.Game/Traits/Player/DeveloperMode.cs index 5f5ee0fd2a..485b3b2325 100644 --- a/OpenRA.Game/Traits/Player/DeveloperMode.cs +++ b/OpenRA.Game/Traits/Player/DeveloperMode.cs @@ -1,6 +1,6 @@ #region Copyright & License Information /* - * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) + * Copyright 2007-2014 The OpenRA Developers (see AUTHORS) * This file is part of OpenRA, which is free software. It is made * available to you under the terms of the GNU General Public License * as published by the Free Software Foundation. For more information, @@ -14,16 +14,16 @@ namespace OpenRA.Traits { public int Cash = 20000; public int ResourceGrowth = 100; - public bool FastBuild = false; - public bool FastCharge = false; - public bool DisableShroud = false; - public bool PathDebug = false; + public bool FastBuild; + public bool FastCharge; + public bool DisableShroud; + public bool PathDebug; public bool UnlimitedPower; public bool BuildAnywhere; public bool ShowCombatGeometry; public bool ShowDebugGeometry; - public object Create (ActorInitializer init) { return new DeveloperMode(this); } + public object Create(ActorInitializer init) { return new DeveloperMode(this); } } public class DeveloperMode : IResolveOrder, ISync @@ -37,7 +37,7 @@ namespace OpenRA.Traits [Sync] public bool UnlimitedPower; [Sync] public bool BuildAnywhere; - // Client size only + // Client side only public bool ShowCombatGeometry; public bool ShowDebugGeometry; @@ -54,9 +54,10 @@ namespace OpenRA.Traits ShowDebugGeometry = info.ShowDebugGeometry; } - public void ResolveOrder (Actor self, Order order) + public void ResolveOrder(Actor self, Order order) { - if (!self.World.LobbyInfo.GlobalSettings.AllowCheats) return; + if (!self.World.LobbyInfo.GlobalSettings.AllowCheats) + return; switch(order.OrderString) { @@ -65,22 +66,26 @@ namespace OpenRA.Traits AllTech ^= true; break; } + case "DevFastCharge": { FastCharge ^= true; break; } + case "DevFastBuild": { FastBuild ^= true; break; } + case "DevGiveCash": { var amount = order.ExtraData != 0 ? (int)order.ExtraData : Info.Cash; self.Trait().GiveCash(amount); break; } + case "DevGrowResources": { foreach (var a in self.World.ActorsWithTrait()) @@ -90,6 +95,7 @@ namespace OpenRA.Traits } break; } + case "DevShroudDisable": { DisableShroud ^= true; @@ -98,38 +104,42 @@ namespace OpenRA.Traits self.World.RenderPlayer = DisableShroud ? null : self.Owner; break; } + case "DevPathDebug": { PathDebug ^= true; break; } + case "DevGiveExploration": { self.Owner.Shroud.ExploreAll(self.World); break; } + case "DevResetExploration": { self.Owner.Shroud.ResetExploration(); break; } + case "DevUnlimitedPower": { UnlimitedPower ^= true; break; } + case "DevBuildAnywhere": { BuildAnywhere ^= true; break; } + default: return; } - Game.Debug("Cheat used: {0} by {1}" - .F(order.OrderString, self.Owner.PlayerName)); + Game.Debug("Cheat used: {0} by {1}".F(order.OrderString, self.Owner.PlayerName)); } } } -