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