Make AreaBeam and LaserZap Z sorting customizable
This commit is contained in:
@@ -59,6 +59,9 @@ namespace OpenRA.Mods.Common.Effects
|
||||
[Desc("Should the beam be visuall rendered? False = Beam is invisible.")]
|
||||
public readonly bool RenderBeam = true;
|
||||
|
||||
[Desc("Equivalent to sequence ZOffset. Controls Z sorting.")]
|
||||
public readonly int ZOffset = 0;
|
||||
|
||||
[Desc("Color of the beam.")]
|
||||
public readonly Color Color = Color.Red;
|
||||
|
||||
@@ -193,7 +196,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
{
|
||||
if (!IsBeamComplete && info.RenderBeam && !(wr.World.FogObscures(tailPos) && wr.World.FogObscures(headPos)))
|
||||
{
|
||||
var beamRender = new BeamRenderable(headPos, 0, tailPos - headPos, info.Shape, info.Width, color);
|
||||
var beamRender = new BeamRenderable(headPos, info.ZOffset, tailPos - headPos, info.Shape, info.Width, color);
|
||||
return new[] { (IRenderable)beamRender };
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ namespace OpenRA.Mods.Common.Effects
|
||||
[Desc("The shape of the beam. Accepts values Cylindrical or Flat.")]
|
||||
public readonly BeamRenderableShape Shape = BeamRenderableShape.Cylindrical;
|
||||
|
||||
[Desc("Equivalent to sequence ZOffset. Controls Z sorting.")]
|
||||
public readonly int ZOffset = 0;
|
||||
|
||||
public readonly int BeamDuration = 10;
|
||||
|
||||
public readonly bool UsePlayerColor = false;
|
||||
@@ -102,7 +105,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
if (ticks < info.BeamDuration)
|
||||
{
|
||||
var rc = Color.FromArgb((info.BeamDuration - ticks) * 255 / info.BeamDuration, color);
|
||||
yield return new BeamRenderable(args.Source, 0, target - args.Source, info.Shape, info.Width, rc);
|
||||
yield return new BeamRenderable(args.Source, info.ZOffset, target - args.Source, info.Shape, info.Width, rc);
|
||||
}
|
||||
|
||||
if (hitanim != null)
|
||||
|
||||
@@ -125,6 +125,7 @@ Laser:
|
||||
Projectile: LaserZap
|
||||
Width: 85
|
||||
HitAnim: laserfire
|
||||
ZOffset: 2047
|
||||
Warhead@1Dam: SpreadDamage
|
||||
Spread: 42
|
||||
Damage: 360
|
||||
|
||||
@@ -75,6 +75,7 @@ SonicZap:
|
||||
DamageInterval: 5 # Roughly 18 impacts.
|
||||
Width: 0c384
|
||||
Shape: Flat
|
||||
ZOffset: 2047
|
||||
BeyondTargetRange: 0c256
|
||||
Blockable: true
|
||||
Color: 00FFFFC8
|
||||
@@ -176,6 +177,7 @@ ObeliskLaserFire:
|
||||
Report: OBELRAY1.AUD
|
||||
Projectile: LaserZap
|
||||
Width: 170
|
||||
ZOffset: 2047
|
||||
Warhead@1Dam: SpreadDamage
|
||||
Spread: 42
|
||||
Damage: 250
|
||||
@@ -188,6 +190,7 @@ TurretLaserFire:
|
||||
Projectile: LaserZap
|
||||
Width: 85
|
||||
BeamDuration: 5
|
||||
ZOffset: 2047
|
||||
Warhead@1Dam: SpreadDamage
|
||||
Spread: 42
|
||||
Damage: 30
|
||||
|
||||
Reference in New Issue
Block a user