fixed #669 -- helicopters bob slightly in flight
This commit is contained in:
@@ -8,9 +8,11 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
|
using OpenRA.Mods.RA.Air;
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA.Render
|
namespace OpenRA.Mods.RA.Render
|
||||||
{
|
{
|
||||||
@@ -22,9 +24,13 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
{
|
{
|
||||||
var move = self.Trait<IMove>();
|
var move = self.Trait<IMove>();
|
||||||
|
|
||||||
|
/* rude hack */
|
||||||
|
var visualOffset = (move is Helicopter && move.Altitude > 0)
|
||||||
|
? Math.Abs((self.ActorID + Game.LocalTick) / 5 % 4 - 1) - 1 : 0;
|
||||||
|
|
||||||
var shadowSprites = r.Select(a => a.WithPalette("shadow"));
|
var shadowSprites = r.Select(a => a.WithPalette("shadow"));
|
||||||
var flyingSprites = (move.Altitude <= 0) ? r
|
var flyingSprites = (move.Altitude <= 0) ? r
|
||||||
: r.Select(a => a.WithPos(a.Pos - new float2(0, move.Altitude)).WithZOffset(move.Altitude));
|
: r.Select(a => a.WithPos(a.Pos - new float2(0, move.Altitude + visualOffset)).WithZOffset(move.Altitude));
|
||||||
|
|
||||||
return shadowSprites.Concat(flyingSprites);
|
return shadowSprites.Concat(flyingSprites);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user