Add dynamic muzzle LaunchEffect facing plumbing

This commit is contained in:
reaperrr
2018-04-26 23:08:43 +02:00
committed by abcdefg30
parent 619457828f
commit 28c89920ac
4 changed files with 5 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ namespace OpenRA.GameRules
public int[] InaccuracyModifiers; public int[] InaccuracyModifiers;
public int[] RangeModifiers; public int[] RangeModifiers;
public int Facing; public int Facing;
public Func<int> CurrentMuzzleFacing;
public WPos Source; public WPos Source;
public Func<WPos> CurrentSource; public Func<WPos> CurrentSource;
public Actor SourceActor; public Actor SourceActor;

View File

@@ -277,6 +277,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
Func<WPos> muzzlePosition = () => self.CenterPosition + MuzzleOffset(self, barrel); Func<WPos> muzzlePosition = () => self.CenterPosition + MuzzleOffset(self, barrel);
var legacyFacing = MuzzleOrientation(self, barrel).Yaw.Angle / 4; var legacyFacing = MuzzleOrientation(self, barrel).Yaw.Angle / 4;
Func<int> legacyMuzzleFacing = () => MuzzleOrientation(self, barrel).Yaw.Angle / 4;
var passiveTarget = Weapon.TargetActorCenter ? target.CenterPosition : target.Positions.PositionClosestTo(muzzlePosition()); var passiveTarget = Weapon.TargetActorCenter ? target.CenterPosition : target.Positions.PositionClosestTo(muzzlePosition());
var initialOffset = Weapon.FirstBurstTargetOffset; var initialOffset = Weapon.FirstBurstTargetOffset;
@@ -299,6 +300,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
Weapon = Weapon, Weapon = Weapon,
Facing = legacyFacing, Facing = legacyFacing,
CurrentMuzzleFacing = legacyMuzzleFacing,
DamageModifiers = damageModifiers.ToArray(), DamageModifiers = damageModifiers.ToArray(),

View File

@@ -68,6 +68,7 @@ namespace OpenRA.Mods.Common.Traits
{ {
Weapon = wep, Weapon = wep,
Facing = self.World.SharedRandom.Next(-1, 255), Facing = self.World.SharedRandom.Next(-1, 255),
CurrentMuzzleFacing = () => 0,
DamageModifiers = self.TraitsImplementing<IFirepowerModifier>() DamageModifiers = self.TraitsImplementing<IFirepowerModifier>()
.Select(a => a.GetFirepowerModifier()).ToArray(), .Select(a => a.GetFirepowerModifier()).ToArray(),

View File

@@ -137,6 +137,7 @@ namespace OpenRA.Mods.D2k.Traits
{ {
Weapon = self.World.Map.Rules.Weapons[info.Weapon.ToLowerInvariant()], Weapon = self.World.Map.Rules.Weapons[info.Weapon.ToLowerInvariant()],
Facing = 0, Facing = 0,
CurrentMuzzleFacing = () => 0,
DamageModifiers = self.TraitsImplementing<IFirepowerModifier>() DamageModifiers = self.TraitsImplementing<IFirepowerModifier>()
.Select(a => a.GetFirepowerModifier()).ToArray(), .Select(a => a.GetFirepowerModifier()).ToArray(),