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

Cluster Warhead crashes when weapons have Projectile: LaserZap #17301

Open
Inq8 opened this issue Nov 1, 2019 · 5 comments
Labels

Comments

@Inq8
Copy link
Contributor

@Inq8 Inq8 commented Nov 1, 2019

OpenRA engine version playtest-20191021
Combined Arms mod version playtest-20191021
on map 1abdcd434ea808788d28a7d3d84bb7e34e3b34fa (Snowy Island by Westwood Studios).
Date: 2019-11-01 23:01:13Z
Operating System: Windows (Microsoft Windows NT 6.2.9200.0)
Runtime Version: .NET CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: Object reference not set to an instance of an object.
   at OpenRA.Graphics.Animation.get_Image()
   at OpenRA.Graphics.Animation.Render(WPos pos, WVec offset, Int32 zOffset, PaletteReference palette, Single scale)
   at OpenRA.Graphics.Animation.Render(WPos pos, PaletteReference palette)
   at OpenRA.Mods.Common.Projectiles.LaserZap.<Render>d__13.MoveNext()
   at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   at System.Linq.Enumerable.<ConcatIterator>d__59`1.MoveNext()
   at System.Linq.Enumerable.<ConcatIterator>d__59`1.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at OpenRA.Graphics.WorldRenderer.GenerateRenderables()
   at OpenRA.Graphics.WorldRenderer.Draw()
   at OpenRA.Game.RenderTick()
   at OpenRA.Game.Loop()
   at OpenRA.Game.Run()
   at OpenRA.Game.InitializeAndRun(String[] args)
   at OpenRA.Program.Main(String[] args)

This is probably not a "real" bug as ClusterWarhead is intended to work with Bullet projectiles for cluster bombs (Which works as intended)

However it would be a nice additional feature if it could randomly burst lasers to replicate RA2 Prism Tank weapon behaviour.

@abcdefg30 abcdefg30 added the Crash label Nov 1, 2019
@GraionDilach

This comment has been minimized.

Copy link
Contributor

@GraionDilach GraionDilach commented Nov 2, 2019

  1. Cluster lacks Prism tank functionality with spawned weapons targeting exact units and not cells.

  2. This looks like a modder error with LaserZap-> HitAnim(Sequence) having a typo.

@Inq8

This comment has been minimized.

Copy link
Contributor Author

@Inq8 Inq8 commented Nov 2, 2019

OPpris
Having done further testing, Cluster Warhead does actually support LaserZap, however if you assign a HitAnim it will crash.

@GraionDilach

This comment has been minimized.

Copy link
Contributor

@GraionDilach GraionDilach commented Nov 2, 2019

TBH, since you're using FireClusterWarhead anyway, you can use CreateEffectWarhead.

HitAnim's only benefit is that it moves along with the target unit but since FCW targets positions, it can't move anyway, so no degradation of result.

Also offtopic, but you should set up that the fire animations end up chained (fire4->fire3->fire2->fire1) so that the flames disappear less abruptly. RA/TS did this.

@Inq8

This comment has been minimized.

Copy link
Contributor Author

@Inq8 Inq8 commented Nov 4, 2019

Yep, that’s a good workaround, thanks.
🙏

Also offtopic, but you should set up that the fire animations end up chained (fire4->fire3->fire2->fire1) so that the flames disappear less abruptly. RA/TS did this.

Yeah I was trying to replicate the original behaviour. I’ll need to have a closer look. I didn’t think it was chained with all 4 in a row.

Maybe a mix of:
Big (bright) > Big (dull)
&
Small (bright) > small (dull)
Randomised.

I may be wrong.

@GraionDilach

This comment has been minimized.

Copy link
Contributor

@GraionDilach GraionDilach commented Nov 4, 2019

https://github.com/LipkeGu/TSIniFiles/blob/5175423965973b1eb4ea9c509f1b64bf7d0ac8cb/art.ini#L3660-L3697

Apparently fire4 wasn't linked to 3 in TS and this only worked for 1-2-3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.