support powers data

This commit is contained in:
Chris Forbes
2009-12-22 20:54:05 +13:00
parent d695344a05
commit e491dbc241
4 changed files with 99 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ namespace OpenRa.Game
public static InfoLoader<WarheadInfo> WarheadInfo;
public static InfoLoader<ProjectileInfo> ProjectileInfo;
public static InfoLoader<VoiceInfo> VoiceInfo;
public static InfoLoader<SupportPowerInfo> SupportPowerInfo;
public static GeneralInfo General;
public static AftermathInfo Aftermath;
public static TechTree TechTree;
@@ -72,7 +73,8 @@ namespace OpenRa.Game
"Weapon",
"Warhead",
"Projectile",
"Voice");
"Voice",
"SupportPower");
WeaponInfo = new InfoLoader<WeaponInfo>(
Pair.New<string, Func<string, WeaponInfo>>("Weapon", _ => new WeaponInfo()));
@@ -82,6 +84,8 @@ namespace OpenRa.Game
Pair.New<string, Func<string, ProjectileInfo>>("Projectile", _ => new ProjectileInfo()));
VoiceInfo = new InfoLoader<VoiceInfo>(
Pair.New<string, Func<string, VoiceInfo>>("Voice", _ => new VoiceInfo()));
SupportPowerInfo = new InfoLoader<SupportPowerInfo>(
Pair.New<string, Func<string, SupportPowerInfo>>("SupportPower", _ => new SupportPowerInfo()));
TechTree = new TechTree();
Map = new Map( AllRules );

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OpenRa.Game.GameRules
{
public class SupportPowerInfo
{
public readonly bool Powered = true;
public readonly bool OneShot = false;
public readonly int ChargeTime = 0;
public readonly string Image;
public readonly string Description = "";
public readonly string LongDesc = "";
public readonly string[] Prerequisite = { };
public readonly int TechLevel = -1;
}
}

View File

@@ -87,6 +87,7 @@
<Compile Include="GameRules\ActorInfo.cs" />
<Compile Include="GameRules\AftermathInfo.cs" />
<Compile Include="GameRules\GeneralInfo.cs" />
<Compile Include="GameRules\SupportPowerInfo.cs" />
<Compile Include="GameRules\TechTree.cs" />
<Compile Include="GameRules\VoiceInfo.cs" />
<Compile Include="Effects\IEffect.cs" />

View File

@@ -746,3 +746,77 @@ Move=girlokay
[EinsteinVoice]
Select=einah1,einok1,einyes1
Move=einah1,einok1,einyes1
;; todo: where there are different variants of the same power,
;; split them here. SonarPulse is the obvious one.
[SupportPowerTypes]
ParadropPower
ParabombPower
SonarPulsePower
ChronoshiftPower
SpyPlanePower
NukePower
GpsSatellitePower
InvulnerabilityPower
[ParadropPower] ; comes free with first AFLD
ChargeTime=7
Description=Paratroopers
LongDesc=A Badger drops a squad of Riflemen anywhere on the map
Prerequisite=AFLD
TechLevel=5
Image=pinficon
[ParabombPower] ; picked up in a crate
ChargeTime=14
Description=Parabombs
LongDesc=A Badger carpet-bombs an area.
OneShot=yes
Powered=no
Image=pbmbicon
[SonarPulsePower] ; picked up in a crate, or by spy -> spen/syrd
ChargeTime=10
Description=Sonar Pulse
LongDesc=Reveals all submarines on the map for a short time.
OneShot=yes
Powered=no
Image=sonricon
[ChronoshiftPower] ; free with Chronosphere... sortof the point.
ChargeTime=7
Description=Chronoshift
LongDesc=Temporarily teleports a vehicle across the map.
Prerequisite=PDOX
Image=warpicon
[SpyPlanePower] ; free with first AFLD
ChargeTime=3
Description=Spy Plane
LongDesc=Reveals an area of the map.
Prerequisite=AFLD
Image=smigicon
[NukePower] ; the point of MSLO
ChargeTime=13
Description=Atom Bomb
LongDesc=Launches a nuclear missile at your target
Prerequisite=MSLO
Image=atomicon
[GpsSatellitePower] ; free with ATEK
ChargeTime=8
Description=GPS Satellite
LongDesc=Reveals the entire map
OneShot=yes
Prerequisite=ATEK
Image=gpssicon
[InvulnerabilityPower] ; the point of IRON
ChargeTime=11
Description=Invulnerability
LongDesc=Makes a single unit invulnerable for a short time.
Image=infxicon
Prerequisite=IRON