Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set airborne condition for jumper sequences #792

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mfzl
Copy link

@mfzl mfzl commented May 1, 2022

There's already a PR #786 for fly sequence, but that doesn't completely fix the problem as I get the following after the fix.

Another option is to define these sequences for spy, but then it looks really weird and it's a dead give-away.

OpenRA engine version release-20210321
Red Alert 2 mod version {DEV_VERSION}
on map 8bdba6d3de9fbe330ac0a61db834317952ddf7cd (Dustbowl by Westwood Studios).
Date: 2022-05-01 00:05:52Z
Operating System: Linux (Unix 5.17.5.1)
Runtime Version: Mono 6.12.0 (makepkg/ed0788bf61f Sun Apr 24 04:25:18 PM UTC 2022) CLR 4.0.30319.42000
Exception of type `System.InvalidOperationException`: Unit `spy` does not have a sequence named `idle-air`
  at OpenRA.Graphics.SequenceProvider.GetSequence (System.String unitName, System.String sequenceName) [0x0005d] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Graphics/SequenceProvider.cs:78 
  at OpenRA.Graphics.Animation.GetSequence (System.String sequenceName) [0x00000] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Graphics/Animation.cs:234 
  at OpenRA.Graphics.Animation.PlaySequence (System.String sequenceName) [0x00000] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Graphics/Animation.cs:115 
  at OpenRA.Graphics.Animation.PlayThen (System.String sequenceName, System.Action after) [0x00022] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Graphics/Animation.cs:149 
  at OpenRA.Mods.Common.Traits.Render.WithInfantryBody.OpenRA.Traits.INotifyIdle.TickIdle (OpenRA.Actor self) [0x000ae] in /home/fazal/packages/ra2/engine/OpenRA.Mods.Common/Traits/Render/WithInfantryBody.cs:212 
  at OpenRA.Actor.Tick () [0x0006e] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Actor.cs:282 
  at OpenRA.World.Tick () [0x00144] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/World.cs:437 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x001bc] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Game.cs:620 
  at OpenRA.Game.LogicTick () [0x0003e] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Game.cs:646 
  at OpenRA.Game.Loop () [0x000f1] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Game.cs:811 
  at OpenRA.Game.Run () [0x0003c] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Game.cs:852 
  at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00010] in /home/fazal/Sync/infra-idp-app/packages/ra2/engine/OpenRA.Game/Game.cs:274 
  at OpenRA.Launcher.Program.Main (System.String[] args) [0x00044] in /home/fazal/packages/ra2/engine/OpenRA.Launcher/Program.cs:30 

Copy link
Member

@Mailaender Mailaender left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't commit lua51.so

@mfzl
Copy link
Author

mfzl commented Sep 19, 2022

Don't commit lua51.so

@Mailaender thanks for catching this. It was accidental

@Mailaender
Copy link
Member

Can you squash your commits?

Copy link
Member

@MustaphaTR MustaphaTR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes the crash, but spy just continues to use its own sprites if you try to disguise it as a Rocketeer, which as abcdefg30 pointed out in #786, you could do in the original game.

This seems to be how bodies for rocketeer set up in Romanov's Vengeance and does the job of giving the spies Rocketeer's ground walk anim:

	WithInfantryBody:
		RequiresCondition: !airborne
	WithInfantryBody@Air:
		StandSequences: fly
		MoveSequence: fly
		DefaultAttackSequence: shoot-air
		IdleSequences: idle-air
		RequiresCondition: airborne

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants