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