Removed hard coded WeaponInfo section name from NukeLaunch
This commit is contained in:
@@ -31,7 +31,6 @@ namespace OpenRA.Effects
|
|||||||
class NukeLaunch : IEffect
|
class NukeLaunch : IEffect
|
||||||
{
|
{
|
||||||
readonly ProjectileInfo projectileUp, projectileDown;
|
readonly ProjectileInfo projectileUp, projectileDown;
|
||||||
readonly WarheadInfo nukeWarhead;
|
|
||||||
readonly Actor silo;
|
readonly Actor silo;
|
||||||
Animation anim;
|
Animation anim;
|
||||||
float2 pos;
|
float2 pos;
|
||||||
@@ -39,14 +38,15 @@ namespace OpenRA.Effects
|
|||||||
readonly int targetAltitude = 400;
|
readonly int targetAltitude = 400;
|
||||||
int altitude;
|
int altitude;
|
||||||
bool goingUp = true;
|
bool goingUp = true;
|
||||||
|
WeaponInfo weapon;
|
||||||
|
|
||||||
public NukeLaunch(Actor silo, int2 targetLocation)
|
public NukeLaunch(Actor silo, string weapon, int2 targetLocation)
|
||||||
{
|
{
|
||||||
this.silo = silo;
|
this.silo = silo;
|
||||||
this.targetLocation = targetLocation;
|
this.targetLocation = targetLocation;
|
||||||
|
this.weapon = Rules.WeaponInfo[weapon];
|
||||||
projectileUp = Rules.ProjectileInfo["NukeUp"];
|
projectileUp = Rules.ProjectileInfo["NukeUp"];
|
||||||
projectileDown = Rules.ProjectileInfo["NukeDown"];
|
projectileDown = Rules.ProjectileInfo["NukeDown"];
|
||||||
nukeWarhead = Rules.WarheadInfo["Nuke"];
|
|
||||||
|
|
||||||
anim = new Animation(projectileUp.Image);
|
anim = new Animation(projectileUp.Image);
|
||||||
anim.PlayRepeating("idle");
|
anim.PlayRepeating("idle");
|
||||||
@@ -79,8 +79,7 @@ namespace OpenRA.Effects
|
|||||||
void Explode(World world)
|
void Explode(World world)
|
||||||
{
|
{
|
||||||
world.AddFrameEndTask(w => w.Remove(this));
|
world.AddFrameEndTask(w => w.Remove(this));
|
||||||
var weapon = Rules.WeaponInfo["Atomic"];
|
Combat.DoImpact(pos.ToInt2(), pos.ToInt2(), weapon, Rules.ProjectileInfo[weapon.Projectile], Rules.WarheadInfo[weapon.Warhead], silo);
|
||||||
Combat.DoImpact(pos.ToInt2(), pos.ToInt2(), weapon, projectileDown, nukeWarhead, silo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ namespace OpenRA.Traits
|
|||||||
if (Owner != Owner.World.LocalPlayer)
|
if (Owner != Owner.World.LocalPlayer)
|
||||||
Sound.Play("alaunch1.aud");
|
Sound.Play("alaunch1.aud");
|
||||||
|
|
||||||
// TODO: FIRE ZE MISSILES
|
//FIRE ZE MISSILES
|
||||||
w.Add(new NukeLaunch(silo, order.TargetLocation));
|
w.Add(new NukeLaunch(silo, Info.MissileWeapon, order.TargetLocation));
|
||||||
});
|
});
|
||||||
|
|
||||||
Game.controller.CancelInputMode();
|
Game.controller.CancelInputMode();
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ namespace OpenRA.Traits
|
|||||||
public readonly string[] Prerequisites = { };
|
public readonly string[] Prerequisites = { };
|
||||||
public readonly int TechLevel = -1;
|
public readonly int TechLevel = -1;
|
||||||
public readonly bool GivenAuto = true;
|
public readonly bool GivenAuto = true;
|
||||||
|
public readonly string MissileWeapon = "";
|
||||||
|
|
||||||
public abstract object Create(Actor self);
|
public abstract object Create(Actor self);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ Player:
|
|||||||
LongDesc: Launches a nuclear missile at a target location.
|
LongDesc: Launches a nuclear missile at a target location.
|
||||||
Prerequisites: MSLO
|
Prerequisites: MSLO
|
||||||
TechLevel: 12
|
TechLevel: 12
|
||||||
|
MissileWeapon: atomic
|
||||||
SonarPulsePower:
|
SonarPulsePower:
|
||||||
Image: sonricon
|
Image: sonricon
|
||||||
ChargeTime: 10
|
ChargeTime: 10
|
||||||
|
|||||||
Reference in New Issue
Block a user