diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index 40483cfb8e..b75ec87060 100755
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -1,4 +1,4 @@
-
+
Debug
@@ -302,6 +302,7 @@
+
@@ -337,4 +338,7 @@
-->
+
+
+
\ No newline at end of file
diff --git a/OpenRA.Game/Traits/Defaults/GlobalDefaults.cs b/OpenRA.Game/Traits/Defaults/GlobalDefaults.cs
new file mode 100644
index 0000000000..5fbb29987e
--- /dev/null
+++ b/OpenRA.Game/Traits/Defaults/GlobalDefaults.cs
@@ -0,0 +1,94 @@
+
+using System;
+
+namespace OpenRA.Traits.Defaults
+{
+ class GlobalDefaultsInfo : ITraitInfo
+ {
+ /* Special Weapons */
+ public readonly float GapRegenInterval =0;
+ public readonly int BadgerBombCount = 1;
+
+ /* Chrono Side Effects */
+ public readonly float QuakeChance = 0;
+ public readonly float QuakeDamage = 0; /* percent */
+ public readonly float VortexChance = 0;
+ public readonly int VortexDamage = 0;
+ public readonly int VortexRange = 0;
+ public readonly int VortexSpeed = 0;
+
+ /* Repair & Refit */
+ public readonly float RefundPercent = 0;
+ public readonly float ReloadRate = 0;
+ public readonly float RepairPercent = 0;
+ public readonly float RepairRate = 0;
+ public readonly int RepairStep = 0;
+ public readonly float URepairPercent = 0;
+ public readonly int URepairStep = 0;
+
+ /* Combat & Damage */
+ public readonly float TurboBoost = 1.5f;
+ public readonly float BallisticScatter = 0;
+ public readonly float ExpSpread = 0;
+ public readonly int FireSupress = 0;
+ public readonly float HomingScatter = 0;
+ public readonly int MaxDamage = 0;
+ public readonly int MinDamage = 0;
+ public readonly bool OreExplosive = false;
+ public readonly bool PlayerAutoCrush = false;
+ public readonly bool PlayerReturnFire = false;
+ public readonly bool PlayerScatter = false;
+ public readonly bool TreeTargeting = false;
+ public readonly int Incoming = 0;
+
+ /* Income & Production */
+ public readonly float BuildSpeed = 0;
+ public readonly float BuildupTime = 0;
+ public readonly float OreTruckRate = 0;
+ public readonly bool SeparateAircraft = true;
+ public readonly float SurvivorRate = 0;
+
+ /* Audo/Visual Map Controls */
+ public readonly bool AllyReveal = true;
+ public readonly float ConditionRed = 0;
+ public readonly float ConditionYellow = 0;
+ public readonly int DropZoneRadius = 0;
+ public readonly bool EnemyHealth = true;
+ public readonly int Gravity = 0;
+ public readonly float IdleActionFrequency = 0;
+ public readonly float MessageDelay = 0;
+ public readonly float MovieTime = 0;
+ public readonly bool NamedCivilians = false;
+ public readonly float SavourDelay = 0;
+
+ public readonly int SpeakDelay = 0;
+ public readonly int TimerWarning = 0;
+ public readonly bool FlashLowPower = false;
+
+ /* Computer & Movement Controls */
+ public readonly bool CurleyShuffle = false;
+ public readonly float BaseBias = 0;
+ public readonly float BaseDefenseDelay = 0;
+ public readonly float CloseEnough = 0;
+ public readonly int DamageDelay = 0;
+ public readonly int GameSpeeBias = 0;
+ public readonly int LZScanRadius = 0;
+ public readonly bool MineAware = false;
+ public readonly float Stray = 0;
+ public readonly float SubmergeDelay = 0;
+ public readonly float SuspendDelay = 0;
+ public readonly int SuspendPriority = 0;
+ public readonly float TeamDelay = 0;
+
+ public object Create(Actor self) { return new GlobalDefaults(self); }
+ }
+
+ public class GlobalDefaults
+ {
+ Actor self;
+ public GlobalDefaults (Actor self)
+ {
+ this.self = self;
+ }
+ }
+}
diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs
index 8ac95c8059..1b1a4c9a5c 100644
--- a/OpenRA.Game/Traits/World/Shroud.cs
+++ b/OpenRA.Game/Traits/World/Shroud.cs
@@ -1,4 +1,4 @@
-#region Copyright & License Information
+#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
@@ -29,6 +29,7 @@ namespace OpenRA.Traits
{
public class ShroudInfo : ITraitInfo
{
+ public readonly int ShroudRate = 0;
public object Create(Actor self) { return new Shroud(self, this); }
}
diff --git a/OpenRA.Mods.RA/C4Demolition.cs b/OpenRA.Mods.RA/C4Demolition.cs
index 8d5a69b181..e2a7599e2b 100644
--- a/OpenRA.Mods.RA/C4Demolition.cs
+++ b/OpenRA.Mods.RA/C4Demolition.cs
@@ -1,4 +1,4 @@
-#region Copyright & License Information
+#region Copyright & License Information
/*
* Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford.
* This file is part of OpenRA.
@@ -24,10 +24,20 @@ using OpenRA.Traits.Activities;
namespace OpenRA.Mods.RA
{
- class C4DemolitionInfo : StatelessTraitInfo { }
+ class C4DemolitionInfo : ITraitInfo
+ {
+ public readonly float C4Delay = 0;
+ public object Create(Actor self) { return new C4Demolition(self); }
+ }
class C4Demolition : IIssueOrder, IResolveOrder
{
+ Actor self;
+ public C4Demolition(Actor self)
+ {
+ this.self = self;
+ }
+
public Order IssueOrder(Actor self, int2 xy, MouseInput mi, Actor underCursor)
{
if (mi.Button != MouseButton.Right) return null;
diff --git a/mods/ra/rules.yaml b/mods/ra/rules.yaml
index b95877f9c3..57f4ff5385 100755
--- a/mods/ra/rules.yaml
+++ b/mods/ra/rules.yaml
@@ -63,6 +63,69 @@ Player:
GivenAuto: no
OneShot: yes
+Defaults:
+ GlobalDefaults:
+ GapRegenInterval: .1
+ BadgerBombCount: 1
+ QuakeChance: 20%
+ QuakeDamage: 33%
+ VortexChance: 20%
+ VortexDamage: 200
+ VortexRange: 10
+ VortexSpeed: 10
+ RefundPercent: 50%
+ ReloadRate: .04
+ RepairPercent: 20%
+ RepairRate: .016
+ RepairStep: 7
+ URepairPercent: 20%
+ URepairStep: 10
+ TurboBoost: 1.5
+ BallisticScatter: 1.0
+ ExpSpread: .3
+ FireSupress: 1
+ HomingScatter: 2.0
+ MaxDamage: 1000
+ MinDamage: 1
+ OreExplosive: no
+ PlayerAutoCrush: no
+ PlayerReturnFire: no
+ PlayerScatter: no
+ TreeTargeting: no
+ Incoming: 10
+ BuildSpeed: .4
+ BuildupTime: .06
+ OreTruckRate: 1
+ SeparateAircraft: no
+ SurvivorRate: .4
+ AllyReveal: yes
+ ConditionRed: 25%
+ ConditionYellow: 50%
+ DropZoneRadius: 4
+ EnemyHealth: yes
+ Gravity: 3
+ IdleActionFrequency: .1
+ MessageDelay: .6
+ MovieTime: .06
+ NamedCivilians: no
+ SavourDelay: .03
+ SpeakDelay: 2
+ TimerWarning: 2
+ FlashLowPower: yes
+ CurleyShuffle: no
+ BaseBias: 2
+ BaseDefenseDelay: .25
+ CloseEnough: 2.75
+ DamageDelay: 1
+ GameSpeeBias: 1
+ LZScanRadius: 16
+ MineAware: yes
+ Stray: 2.0
+ SubmergeDelay: .02
+ SuspendDelay: 2
+ SuspendPriority: 20
+ TeamDelay: .6
+
World:
ScreenShaker:
WaterPaletteRotation:
@@ -269,6 +332,7 @@ World:
SpatialBins:
BinSize: 4
Shroud:
+ ShroudRate: 4
MGG:
GeneratesGap:
@@ -2570,6 +2634,7 @@ E7:
Sight: 6
Speed: 5
C4Demolition:
+ C4Delay: .03
AttackBase:
PrimaryWeapon: Colt45
SecondaryWeapon: Colt45