Lint test the nuke missile sprites.
This commit is contained in:
@@ -25,6 +25,7 @@ namespace OpenRA.Mods.Common.Effects
|
|||||||
readonly Animation anim;
|
readonly Animation anim;
|
||||||
readonly WeaponInfo weapon;
|
readonly WeaponInfo weapon;
|
||||||
readonly string weaponPalette;
|
readonly string weaponPalette;
|
||||||
|
readonly string downSequence;
|
||||||
readonly string flashType;
|
readonly string flashType;
|
||||||
|
|
||||||
readonly WPos ascendSource;
|
readonly WPos ascendSource;
|
||||||
@@ -37,12 +38,13 @@ namespace OpenRA.Mods.Common.Effects
|
|||||||
WPos pos;
|
WPos pos;
|
||||||
int ticks;
|
int ticks;
|
||||||
|
|
||||||
public NukeLaunch(Player firedBy, string name, WeaponInfo weapon, string weaponPalette,
|
public NukeLaunch(Player firedBy, string name, WeaponInfo weapon, string weaponPalette, string upSequence, string downSequence,
|
||||||
WPos launchPos, WPos targetPos, WDist velocity, int delay, bool skipAscent, string flashType)
|
WPos launchPos, WPos targetPos, WDist velocity, int delay, bool skipAscent, string flashType)
|
||||||
{
|
{
|
||||||
this.firedBy = firedBy;
|
this.firedBy = firedBy;
|
||||||
this.weapon = weapon;
|
this.weapon = weapon;
|
||||||
this.weaponPalette = weaponPalette;
|
this.weaponPalette = weaponPalette;
|
||||||
|
this.downSequence = downSequence;
|
||||||
this.delay = delay;
|
this.delay = delay;
|
||||||
turn = delay / 2;
|
turn = delay / 2;
|
||||||
this.flashType = flashType;
|
this.flashType = flashType;
|
||||||
@@ -54,7 +56,7 @@ namespace OpenRA.Mods.Common.Effects
|
|||||||
descendTarget = targetPos;
|
descendTarget = targetPos;
|
||||||
|
|
||||||
anim = new Animation(firedBy.World, name);
|
anim = new Animation(firedBy.World, name);
|
||||||
anim.PlayRepeating("up");
|
anim.PlayRepeating(upSequence);
|
||||||
|
|
||||||
pos = launchPos;
|
pos = launchPos;
|
||||||
if (weapon.Report != null && weapon.Report.Any())
|
if (weapon.Report != null && weapon.Report.Any())
|
||||||
@@ -69,7 +71,7 @@ namespace OpenRA.Mods.Common.Effects
|
|||||||
anim.Tick();
|
anim.Tick();
|
||||||
|
|
||||||
if (ticks == turn)
|
if (ticks == turn)
|
||||||
anim.PlayRepeating("down");
|
anim.PlayRepeating(downSequence);
|
||||||
|
|
||||||
if (ticks <= turn)
|
if (ticks <= turn)
|
||||||
pos = WPos.LerpQuadratic(ascendSource, ascendTarget, WAngle.Zero, ticks, turn);
|
pos = WPos.LerpQuadratic(ascendSource, ascendTarget, WAngle.Zero, ticks, turn);
|
||||||
|
|||||||
@@ -23,10 +23,15 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
[WeaponReference]
|
[WeaponReference]
|
||||||
[Desc("Weapon to use for the impact.",
|
[Desc("Weapon to use for the impact.",
|
||||||
"But also image to use for the missile.",
|
"Also image to use for the missile.")]
|
||||||
"Requires an 'up' and a 'down' sequence on the image.")]
|
|
||||||
public readonly string MissileWeapon = "";
|
public readonly string MissileWeapon = "";
|
||||||
|
|
||||||
|
[Desc("Sprite sequence for the ascending missile.")]
|
||||||
|
[SequenceReference("MissileWeapon")] public readonly string MissileUp = "up";
|
||||||
|
|
||||||
|
[Desc("Sprite sequence for the descending missile.")]
|
||||||
|
[SequenceReference("MissileWeapon")] public readonly string MissileDown = "down";
|
||||||
|
|
||||||
[Desc("Offset from the actor the missile spawns on.")]
|
[Desc("Offset from the actor the missile spawns on.")]
|
||||||
public readonly WVec SpawnOffset = WVec.Zero;
|
public readonly WVec SpawnOffset = WVec.Zero;
|
||||||
|
|
||||||
@@ -95,7 +100,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
}
|
}
|
||||||
|
|
||||||
var targetPosition = self.World.Map.CenterOfCell(order.TargetLocation);
|
var targetPosition = self.World.Map.CenterOfCell(order.TargetLocation);
|
||||||
var missile = new NukeLaunch(self.Owner, info.MissileWeapon, info.WeaponInfo, info.MissilePalette,
|
var missile = new NukeLaunch(self.Owner, info.MissileWeapon, info.WeaponInfo, info.MissilePalette, info.MissileUp, info.MissileDown,
|
||||||
self.CenterPosition + body.LocalToWorld(info.SpawnOffset),
|
self.CenterPosition + body.LocalToWorld(info.SpawnOffset),
|
||||||
targetPosition,
|
targetPosition,
|
||||||
info.FlightVelocity, info.FlightDelay, info.SkipAscent,
|
info.FlightVelocity, info.FlightDelay, info.SkipAscent,
|
||||||
|
|||||||
Reference in New Issue
Block a user