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

Prevent siloes from cancelling missiles when issued a hard-stop command #6557

Merged
merged 5 commits into from
Nov 26, 2024

Conversation

clyfordv
Copy link
Contributor

@clyfordv clyfordv commented Nov 25, 2024

Description of the proposed changes

  • Silos without engineering suites (SML, TML, SML subs, Sera battleship) will pause missile construction instead of cancelling (and wasting progress) when issued a hard stop command mid-build.
  • Silos with engineering suites (ACUs and SACUs) are unchanged, and will cancel missiles under construction when issued a hard-stop. This is to prevent a situation where you want to construct something with the unit but don't want to spend additional resources on constructing a missile at the same time.
  • Code changes: Stop is moved below ClearCommands to prevent LLS errors/be next to soft stop. Unnecessary local redefinition of units at the beginning of Stop and SoftStop is removed.

Testing done on the proposed changes

Spawn the following units and issue soft- and hard-stop commands. SACUs and ACUs will cancel missile orders when issued a hard-stop command. All other units will pause construction except Yolona (which can't be paused).

Naval unit spawn:
CreateUnitAtMouse('urs0304', 0, -4.50, -0.79, -1.05475)
CreateUnitAtMouse('xss0302', 0, 13.22, 2.00, -0.92170)
CreateUnitAtMouse('uas0304', 0, -11.28, -0.49, -1.09571)
CreateUnitAtMouse('ues0304', 0, 2.56, -0.72, -1.05031)

Land unit and structure spawn:
CreateUnitAtMouse('urb2305', 0, -4.89, -20.43, 0.00000)
CreateUnitAtMouse('xrb0304', 0, -5.89, 18.57, -0.00000)
CreateUnitAtMouse('xrb0304', 0, -7.89, 18.57, -0.00000)
CreateUnitAtMouse('xrb0304', 0, -1.89, 18.57, -0.00000)
CreateUnitAtMouse('xrb0304', 0, -3.89, 18.57, -0.00000)
CreateUnitAtMouse('xsl0001', 0, 3.24, -3.47, 0.00000)
CreateUnitAtMouse('xsl0301', 0, 0.24, -3.47, 0.00000)
CreateUnitAtMouse('uel0001', 0, -2.76, -3.47, 0.00000)
CreateUnitAtMouse('xrb0304', 0, 8.11, 18.57, -0.00000)
CreateUnitAtMouse('xrb0304', 0, 6.11, 18.57, -0.00000)
CreateUnitAtMouse('urb2108', 0, 2.11, -8.43, 0.00000)
CreateUnitAtMouse('xrb0304', 0, 10.11, 18.57, -0.00000)
CreateUnitAtMouse('xsb2305', 0, 4.11, -20.43, 0.00000)
CreateUnitAtMouse('xsb2108', 0, 6.11, -8.43, 0.00000)
CreateUnitAtMouse('uab2305', 0, 13.11, -20.43, 0.00000)
CreateUnitAtMouse('ueb2305', 0, -12.89, -20.43, 0.00000)
CreateUnitAtMouse('xsb2401', 0, 0.11, -29.43, 0.00000)
CreateUnitAtMouse('xrb0304', 0, 4.11, 18.57, -0.00000)
CreateUnitAtMouse('ueb2108', 0, -5.89, -8.43, 0.00000)
CreateUnitAtMouse('uab2108', 0, -1.89, -8.43, 0.00000)
CreateUnitAtMouse('xrb0304', 0, 2.11, 18.57, -0.00000)
CreateUnitAtMouse('xrb0304', 0, 0.11, 18.57, -0.00000)
CreateUnitAtMouse('xab1401', 0, -11.89, -30.43, -0.00000)

@Garanas Garanas added area: ui Anything to do with the User Interface of the Game feature: hotkeys related to miscellaneous hotkeys labels Nov 25, 2024
@@ -326,8 +318,30 @@ function ClearCommands(units)
SimCallback(cb, true)
end

-- This command (hard stop) will filter out non-construction silo units to avoid wasting partially completed missiles
-- Those units will have their commands cleared, but will be paused instead of stopped
function Stop(units)
Copy link
Member

Choose a reason for hiding this comment

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

Please annotate the parameter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In process of annotating the whole file, will put in separate pr

Copy link
Member

@Garanas Garanas left a comment

Choose a reason for hiding this comment

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

A surprisingly simple solution, very creative 😄 !

@clyfordv clyfordv mentioned this pull request Nov 26, 2024
@clyfordv clyfordv merged commit 4eeccb8 into FAForever:develop Nov 26, 2024
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ui Anything to do with the User Interface of the Game feature: hotkeys related to miscellaneous hotkeys
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants