"Alternate Names" aka pseudo-prerequisites. E7 and MSLO can be built again.

This commit is contained in:
Bob
2010-01-13 00:08:44 +13:00
parent b425f4c31f
commit f1bbbac39d
7 changed files with 26 additions and 8 deletions

View File

@@ -751,9 +751,7 @@ namespace OpenRa.Game
if (!Rules.TechTree.CanBuild(info, Game.LocalPlayer, buildings))
{
var prereqs = buildable.Prerequisites
.Select(a => Rules.NewUnitInfo[a.ToLowerInvariant()].Traits.Get<BuildableInfo>())
.Where( u => u.Owner.Any( o => o == Game.LocalPlayer.Race ) )
.Select( a => a.Description );
.Select( a => Description( a ) );
renderer.DrawText("Requires {0}".F( string.Join( ", ", prereqs.ToArray() ) ), p.ToInt2(),
Color.White);
}
@@ -765,6 +763,14 @@ namespace OpenRa.Game
}
}
private static string Description( string a )
{
if( a[ 0 ] == '@' )
return "any " + a.Substring( 1 );
else
return Rules.NewUnitInfo[ a.ToLowerInvariant() ].Traits.Get<BuildableInfo>().Description;
}
void DrawSupportPowers()
{
var numPowers = Game.LocalPlayer.SupportPowers.Values