Merge pull request #3405 from Mailaender/fort-bugstar

Fixed the worsed problems in Fort Lonestar
This commit is contained in:
Chris Forbes
2013-06-16 21:37:07 -07:00
8 changed files with 46 additions and 23 deletions

View File

@@ -46,9 +46,9 @@ namespace OpenRA
static Dictionary<string, T> LoadYamlRules<T>(string[] files, List<MiniYamlNode> dict, Func<MiniYamlNode, Dictionary<string, MiniYaml>, T> f) static Dictionary<string, T> LoadYamlRules<T>(string[] files, List<MiniYamlNode> dict, Func<MiniYamlNode, Dictionary<string, MiniYaml>, T> f)
{ {
var y = files.Select(a => MiniYaml.FromFile(a)).Aggregate(dict, MiniYaml.MergeLiberal); var y = files.Select(MiniYaml.FromFile).Aggregate(dict, MiniYaml.MergeLiberal);
var yy = y.ToDictionary(x => x.Key, x => x.Value); var yy = y.ToDictionary(x => x.Key, x => x.Value);
return y.ToDictionary(kv => kv.Key.ToLowerInvariant(), kv => f(kv, yy)); return y.ToDictionaryWithConflictLog(kv => kv.Key.ToLowerInvariant(), kv => f(kv, yy), "LoadYamlRules", null, null);
} }
public static IEnumerable<KeyValuePair<string,MusicInfo>> InstalledMusic { get { return Music.Where( m => m.Value.Exists ); } } public static IEnumerable<KeyValuePair<string,MusicInfo>> InstalledMusic { get { return Music.Where( m => m.Value.Exists ); } }

View File

@@ -31,6 +31,8 @@ namespace OpenRA.Mods.RA.Crates
// We want neither of these properties for crate power proxies. // We want neither of these properties for crate power proxies.
public override void Activate(Actor collector) public override void Activate(Actor collector)
{ {
base.Activate(collector);
collector.World.AddFrameEndTask(w => w.CreateActor(Info.Proxy, new TypeDictionary collector.World.AddFrameEndTask(w => w.CreateActor(Info.Proxy, new TypeDictionary
{ {
new OwnerInit(collector.Owner) new OwnerInit(collector.Owner)

View File

@@ -1,23 +1,28 @@
using System.Collections.Generic; #region Copyright & License Information
/*
* Copyright 2007-2013 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,
* see COPYING.
*/
#endregion
using System;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System;
using OpenRA.FileFormats; using OpenRA.FileFormats;
using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Activities;
using OpenRA.Mods.RA.Air; using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Move; using OpenRA.Mods.RA.Move;
using OpenRA.Network;
using OpenRA.Scripting;
using OpenRA.Traits; using OpenRA.Traits;
using OpenRA.Widgets; using OpenRA.Widgets;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Effects;
namespace OpenRA.Mods.RA.Missions namespace OpenRA.Mods.RA.Missions
{ {
class FortScriptInfo : TraitInfo<FortScript>, Requires<SpawnMapActorsInfo> { } class FortLonestarScriptInfo : TraitInfo<FortLonestarScript>, Requires<SpawnMapActorsInfo> { }
class FortScript : IWorldLoaded, ITick class FortLonestarScript : IWorldLoaded, ITick
{ {
Player multi0; Player multi0;
Player soviets; Player soviets;

View File

@@ -251,6 +251,8 @@
<Compile Include="Lint\CheckTraitPrerequisites.cs" /> <Compile Include="Lint\CheckTraitPrerequisites.cs" />
<Compile Include="Lint\LintBuildablePrerequisites.cs" /> <Compile Include="Lint\LintBuildablePrerequisites.cs" />
<Compile Include="Missions\DesertShellmapScript.cs" /> <Compile Include="Missions\DesertShellmapScript.cs" />
<Compile Include="Missions\FortLonestarScript.cs" />
<Compile Include="Missions\Survival02Script.cs" />
<Compile Include="MPStartLocations.cs" /> <Compile Include="MPStartLocations.cs" />
<Compile Include="Mine.cs" /> <Compile Include="Mine.cs" />
<Compile Include="Minelayer.cs" /> <Compile Include="Minelayer.cs" />

View File

@@ -477,7 +477,7 @@ Rules:
SpawnInterval: 100 SpawnInterval: 100
-SpawnMPUnits: -SpawnMPUnits:
-MPStartLocations: -MPStartLocations:
FortScript: FortLonestarScript:
CRATE: CRATE:
-LevelUpCrateAction: -LevelUpCrateAction:
-GiveMcvCrateAction: -GiveMcvCrateAction:
@@ -813,7 +813,7 @@ Rules:
RevealsShroud: RevealsShroud:
Range: 6 Range: 6
AutoTarget: AutoTarget:
InitialStance: HoldFire InitialStance: Defend
Armament: Armament:
Weapon: Sniper Weapon: Sniper
SPY: SPY:
@@ -993,7 +993,7 @@ Rules:
HP: 250 HP: 250
Armor: Armor:
Type: Concrete Type: Concrete
BADR.bomber: BADR.Bomber:
CarpetBomb: CarpetBomb:
Range: 3 Range: 3
Weapon: ParaBomb Weapon: ParaBomb
@@ -1014,13 +1014,25 @@ Rules:
-Selectable: -Selectable:
-GainsExperience: -GainsExperience:
Tooltip: Tooltip:
Name: Badger Name: Mig Bomber
FallsToEarth: LeavesHusk:
Spins: no HuskActor: BADR.Husk
Moves: yes
Explosion: UnitExplode
-EjectOnDeath: -EjectOnDeath:
-GpsDot: -GpsDot:
BADR.Husk:
Inherits: ^PlaneHusk
Tooltip:
Name: Badger
RenderUnit:
Image: mig
WithShadow:
Plane:
ROT: 5
Speed: 16
SmokeTrailWhenDamaged:
Offset: -853,0,171
Interval: 2
MinDamage: Undamaged
Sequences: Sequences:

View File

@@ -454,7 +454,7 @@ SNIPER:
BuildPaletteOrder: 80 BuildPaletteOrder: 80
Owner: soviet Owner: soviet
Prerequisites: dome Prerequisites: dome
Hotkey: n Hotkey: s
Selectable: Selectable:
Bounds: 12,17,0,-6 Bounds: 12,17,0,-6
Mobile: Mobile:

View File

@@ -729,6 +729,7 @@ CRATE:
SupportPowerCrateAction@parabombs: SupportPowerCrateAction@parabombs:
SelectionShares: 5 SelectionShares: 5
Proxy: powerproxy.parabombs Proxy: powerproxy.parabombs
Effect: parabombs
GiveMcvCrateAction: GiveMcvCrateAction:
SelectionShares: 2 SelectionShares: 2
NoBaseSelectionShares: 9001 NoBaseSelectionShares: 9001

View File

@@ -1223,6 +1223,7 @@ Sniper:
Wood: 5% Wood: 5%
Light: 5% Light: 5%
Heavy: 5% Heavy: 5%
Concrete: 5%
InfDeath: 2 InfDeath: 2
ChronoTusk: ChronoTusk: