Move inaccuracy modifier queries outside the projectile ctors. Fixes #6449.

This commit is contained in:
Paul Chote
2014-09-20 12:00:32 +12:00
parent 6c399e50a8
commit caecf2d82a
5 changed files with 9 additions and 6 deletions

View File

@@ -82,9 +82,7 @@ namespace OpenRA.Mods.RA.Effects
target = args.PassiveTarget;
if (info.Inaccuracy.Range > 0)
{
var modifiers = args.SourceActor.TraitsImplementing<IInaccuracyModifier>()
.Select(m => m.GetInaccuracyModifier());
var inaccuracy = Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, modifiers);
var inaccuracy = Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, args.InaccuracyModifiers);
var maxOffset = inaccuracy * (target - pos).Length / args.Weapon.Range.Range;
target += WVec.FromPDF(world.SharedRandom, 2) * maxOffset / 1024;
}

View File

@@ -96,9 +96,7 @@ namespace OpenRA.Mods.RA.Effects
if (info.Inaccuracy.Range > 0)
{
var modifiers = args.SourceActor.TraitsImplementing<IInaccuracyModifier>()
.Select(m => m.GetInaccuracyModifier());
var inaccuracy = Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, modifiers);
var inaccuracy = Traits.Util.ApplyPercentageModifiers(info.Inaccuracy.Range, args.InaccuracyModifiers);
offset = WVec.FromPDF(world.SharedRandom, 2) * inaccuracy / 1024;
}