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

Make Aeon faction's TMD shoot flare to target height #6619

Open
wants to merge 15 commits into
base: develop
Choose a base branch
from

Conversation

lL1l1
Copy link
Contributor

@lL1l1 lL1l1 commented Jan 14, 2025

Description of the proposed changes

Closes #6459.

  • The flare has gravity and velocity set so that it is launched above the target (to pull the missile upwards), and when it is at the desired height its velocity is set to 0 (the calculation should result in 0 velocity at the target height, but it doesn't for some engine reason) and gravity reset so that it floats at the target height (this helps the missile intercept one of the flare's hitboxes).
volcano.flare.height.mp4
  • Fix and tweak the previously unused rotation animation script of the Volcano.
volcano.rotator.mp4

Testing done on the proposed changes

  • Shoot UEF TML with the volcano at the midpoint of the attack trajectory to test the maximum height. It usually catches the missile although as usual the hitboxes can be finnicky.
  • Shoot other TMLs and MMLs to test the new behavior in general
  • Shoot torrents at naval TMD because torrent missiles are likely to destroy themselves at the same time as the TMD fires

Helpful command:

ConExecute('UI_DebugAltClick') --alt + left click to switch armies
ConExecute('UI_SelectAnything') -- copy enemy units
ConExecute('SallyShears') -- remove fog of war
Spawn TMLs and volcano
CreateUnitAtMouse('urb2108', 1,   35.74,    0.63,  0.00000)
CreateUnitAtMouse('urb2108', 1,  -87.26,   -3.37,  0.00000)
CreateUnitAtMouse('uab2108', 1,  -87.26,   -1.37,  0.00000)
CreateUnitAtMouse('ueb2108', 1,  -87.26,    0.63,  0.00000)
CreateUnitAtMouse('uab2108', 1,  -23.26,   -0.37,  0.00000)
CreateUnitAtMouse('uab4201', 0, -137.26,   -3.37,  0.00000)
CreateUnitAtMouse('xsb2108', 1,  -87.26,   -5.37,  0.00000)
CreateUnitAtMouse('xsb2108', 1,   95.74,   -0.37,  0.00000)
CreateUnitAtMouse('uab2108', 1,   35.74,    2.63,  0.00000)
CreateUnitAtMouse('xsb2108', 1,   35.74,   -1.37,  0.00000)
CreateUnitAtMouse('ueb2108', 1,   35.74,    4.63,  0.00000)
CreateUnitAtMouse('uab2108', 1,   95.74,    3.63,  0.00000)
CreateUnitAtMouse('urb2108', 1,   95.74,    1.63,  0.00000)
CreateUnitAtMouse('xab1401', 1,   26.74,    5.63,  0.00000)
CreateUnitAtMouse('ueb2108', 1,   95.74,    5.63,  0.00000)
CreateUnitAtMouse('xab1401', 0,   26.74,   -4.37,  0.00000)
CreateUnitAtMouse('urb2108', 1,  -23.26,   -2.37,  0.00000)
CreateUnitAtMouse('xsb2108', 1,  -23.26,   -4.37,  0.00000)
CreateUnitAtMouse('ueb2108', 1,  -23.26,    1.63,  0.00000)
Spawn MML + shields + volcanoes
   CreateUnitAtMouse('uab4201', 0,   -9.02,   17.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -12.02,   11.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -10.02,    9.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,   -7.02,   15.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,   -9.02,   11.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,   -6.02,   17.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,   -8.02,   19.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -11.02,   13.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -14.02,    7.38,  0.00000)
   CreateUnitAtMouse('ual0111', 1,    8.98,   -9.23, -0.51330)
   CreateUnitAtMouse('ual0111', 1,   10.29,   -7.32, -0.57709)
   CreateUnitAtMouse('ual0111', 1,    7.04,  -11.16, -0.42014)
   CreateUnitAtMouse('ual0111', 1,   11.10,  -11.91, -0.52904)
   CreateUnitAtMouse('xab1401', 0,  -19.02,   18.38,  0.00000)
   CreateUnitAtMouse('ual0111', 1,    6.76,   -8.80, -0.45800)
   CreateUnitAtMouse('ual0111', 1,    5.28,  -10.45, -0.39096)
   CreateUnitAtMouse('uab4201', 0,  -13.02,    9.38,  0.00000)
   CreateUnitAtMouse('ual0111', 1,    8.27,   -6.37, -0.52970)
   CreateUnitAtMouse('ual0111', 1,   11.83,  -11.40, -0.54830)
   CreateUnitAtMouse('uab4201', 0,  -10.02,   15.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -12.02,    5.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,   -8.02,   13.38,  0.00000)
   CreateUnitAtMouse('uab4201', 0,  -11.02,    7.38,  0.00000)
   CreateUnitAtMouse('ual0111', 1,    8.67,  -13.15, -0.44842)
   CreateUnitAtMouse('url0111', 1,   14.19,  -13.59, -0.57730)
   CreateUnitAtMouse('uab4202', 0,  -12.02,   19.38, -0.00000)
   CreateUnitAtMouse('ual0111', 1,    7.43,  -14.72, -0.38934)
   CreateUnitAtMouse('ual0111', 1,    4.98,  -12.86, -0.35998)
   CreateUnitAtMouse('url0111', 1,   11.88,  -13.69, -0.52257)
   CreateUnitAtMouse('uab4202', 0,  -16.02,   11.38, -0.00000)
   CreateUnitAtMouse('url0111', 1,   14.28,   -8.65, -0.66231)
   CreateUnitAtMouse('ual0111', 1,    2.92,  -10.31, -0.30640)
   CreateUnitAtMouse('url0111', 1,   13.61,   -6.03, -0.69781)
   CreateUnitAtMouse('url0111', 1,    8.98,  -10.93, -0.48724)
   CreateUnitAtMouse('url0111', 1,   14.87,  -10.59, -0.64152)
   CreateUnitAtMouse('url0111', 1,    5.98,  -15.62, -0.34014)
   CreateUnitAtMouse('url0111', 1,    9.98,  -15.62, -0.45145)
Spawn Torrents + naval TMD
   CreateUnitAtMouse('uas0202', 0,   37.24,    3.11,  0.25689)
   CreateUnitAtMouse('uas0303ef', 0,   26.50,  -16.63, -0.01904)
   CreateUnitAtMouse('uas0302', 0,   10.20,   -2.60,  0.19097)
   CreateUnitAtMouse('zxa0003', 0,   26.50,  -16.63, -0.01904)
   CreateUnitAtMouse('uas0303ef', 0,   20.57,   14.73, -3.01150)
   CreateUnitAtMouse('uas0302', 0,   12.22,   -8.68, -0.81466)
   CreateUnitAtMouse('uas0303', 0,   26.32,   -7.42, -0.01904)
   CreateUnitAtMouse('uas0303', 0,   19.38,    5.61, -3.01150)
   CreateUnitAtMouse('zxa0003', 0,   20.57,   14.73, -3.01150)
   CreateUnitAtMouse('uas0303ef', 0,   28.98,  -20.11,  0.92941)
   CreateUnitAtMouse('zxa0003', 0,   28.98,  -20.11,  0.92941)
   CreateUnitAtMouse('uas0303ef', 0,   24.63,   10.33,  0.76352)
   CreateUnitAtMouse('uas0302', 0,   12.41,   10.30,  1.29709)
   CreateUnitAtMouse('uas0303', 0,   33.86,   24.56,  2.06790)
   CreateUnitAtMouse('uas0302', 0,   18.08,   19.82,  2.03742)
   CreateUnitAtMouse('uas0303', 0,   24.49,   10.56, -0.67957)
   CreateUnitAtMouse('zxa0003', 0,   30.27,    3.40, -0.67957)
   CreateUnitAtMouse('uas0303ef', 0,   30.27,    3.40, -0.67957)
   CreateUnitAtMouse('zxa0003', 0,   24.98,    5.30,  2.26073)
   CreateUnitAtMouse('uas0303', 0,   32.08,   -0.56,  2.26073)
   CreateUnitAtMouse('uas0303ef', 0,   24.98,    5.30,  2.26073)
   CreateUnitAtMouse('uas0302', 0,   27.37,   -7.32, -0.19808)
   CreateUnitAtMouse('xas0306', 1, -163.60,   -6.02,  0.46226)
   CreateUnitAtMouse('uas0202', 0,   -4.07,    7.28, -3.07330)
   CreateUnitAtMouse('uas0302', 0,   25.60,   12.46,  1.51614)
   CreateUnitAtMouse('uas0303', 0,   36.35,  -14.60,  0.92941)
   CreateUnitAtMouse('uas0303', 0,   41.04,   -2.72, -0.80178)
   CreateUnitAtMouse('zxa0003', 0,   47.66,   -9.12, -0.80178)
   CreateUnitAtMouse('uas0202', 0,   24.09,  -25.97,  0.46592)
   CreateUnitAtMouse('xas0306', 1, -122.81,  -15.49,  0.47110)
   CreateUnitAtMouse('xas0306', 1, -163.02,   -2.89,  0.50272)
   CreateUnitAtMouse('xas0306', 1, -164.38,  -10.24,  0.34809)
   CreateUnitAtMouse('uas0303ef', 0,   47.66,   -9.12, -0.80178)
   CreateUnitAtMouse('uas0302', 0,   21.92,  -20.00,  0.02681)
   CreateUnitAtMouse('xas0306', 1, -161.32,   -2.05,  0.38721)
   CreateUnitAtMouse('xas0306', 1, -164.38,  -10.24,  0.33962)
   CreateUnitAtMouse('uas0302', 0,   26.82,   -5.51,  1.30988)
   CreateUnitAtMouse('zxa0003', 0,   25.77,   28.95,  2.06790)
   CreateUnitAtMouse('uas0303ef', 0,   25.77,   28.95,  2.06790)
   CreateUnitAtMouse('zxa0003', 0,   24.63,   10.33,  0.76352)
   CreateUnitAtMouse('uas0302', 0,   24.39,   -2.06, -2.37505)
   CreateUnitAtMouse('uas0303', 0,   30.99,   16.98,  0.76352)
volcano.vs.MML.mp4

Checklist

  • Changes are annotated, including comments where useful
  • Changes are documented in the changelog for the next game version

@lL1l1 lL1l1 added area: balance related to units balance, but not as a suggestion area: sim Area that is affected by the Simulation of the Game feature: anti projectile weaponry related to torpedo and tactical defense weapons labels Jan 14, 2025
@lL1l1 lL1l1 added this to the Development Iteration I of 2025 milestone Jan 14, 2025
@lL1l1 lL1l1 marked this pull request as ready for review January 14, 2025 08:58
@Garanas
Copy link
Member

Garanas commented Jan 14, 2025

I'm not sure. I understand the problem, but at the moment of writing this solution completely destroys the immersion for me.

@BlackYps
Copy link
Contributor

Can you be more specific what destroys the immersion? Is it the hard set of the velocity to 0 or something else?
I agree that suddenly setting the velocity to 0 looks odd. It looks like the ball hits an invisible ceiling. But other than that I like the solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: balance related to units balance, but not as a suggestion area: sim Area that is affected by the Simulation of the Game feature: anti projectile weaponry related to torpedo and tactical defense weapons
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Balance Idea]: Make Aeon TMD shoot flare based on target altitude
3 participants