diff --git a/OpenRa.Game/Graphics/SequenceProvider.cs b/OpenRa.Game/Graphics/SequenceProvider.cs
index 5578309e9d..b27ba4d02b 100644
--- a/OpenRa.Game/Graphics/SequenceProvider.cs
+++ b/OpenRa.Game/Graphics/SequenceProvider.cs
@@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Xml;
using OpenRa.FileFormats;
+using System;
namespace OpenRa.Game.Graphics
{
@@ -56,7 +57,12 @@ namespace OpenRa.Game.Graphics
public static Sequence GetSequence(string unitName, string sequenceName)
{
- return units[unitName][sequenceName];
+ try { return units[unitName][sequenceName]; }
+ catch (KeyNotFoundException e)
+ {
+ throw new InvalidOperationException(
+ "Unit `{0}` does not have a sequence `{1}`".F(unitName, sequenceName));
+ }
}
public static CursorSequence GetCursorSequence(string cursor)
diff --git a/sequences.xml b/sequences.xml
index c6e2edf7a9..a0bafed9f6 100644
--- a/sequences.xml
+++ b/sequences.xml
@@ -431,6 +431,7 @@
+
@@ -617,4 +618,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/units.ini b/units.ini
index f0244bd4d2..3b77c729e2 100755
--- a/units.ini
+++ b/units.ini
@@ -461,12 +461,14 @@ MEDI
Description=Attack Dog
BuiltAt=KENN
Voice=DogVoice
+Traits=Unit, Mobile, RenderInfantry
[E1]
Description=Rifle Infantry
Traits=Unit, Mobile, RenderInfantry, AttackBase
SquadSize=3
[E2]
Description=Grenadier
+Traits=Unit, Mobile, RenderInfantry, AttackBase
[E3]
Description=Rocket Soldier
Traits=Unit, Mobile, RenderInfantry, AttackBase
@@ -475,7 +477,7 @@ SquadSize=2
Description=Flamethrower
[E6]
Description=Engineer
-Traits=Unit, Mobile, InfantrySquad
+Traits=Unit, Mobile, RenderInfantry
Voice=EngineerVoice
[SPY]
Description=Spy