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 shield assist start repairing the shield instantly #6464

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

Conversation

lL1l1
Copy link
Contributor

@lL1l1 lL1l1 commented Sep 27, 2024

Issue

Compared to other construction/unit repair projects, shields can take a very long time to repair when assisted, varying between 7-11 ticks from the shield's OnDamage until OnStartBuild is called. Repairing takes 1 tick to start.
The behavior was brought up to attention in a Discord balance suggestion.

Description of the proposed changes

  • When a shield is damaged, it issues a repair and guard order to units guarding it. This causes them to start repairing in 1 tick instead of 7-11 ticks.
    • This can happen once per tick.
    • Guards must have an empty command queue aside from the guard order to be affected.

Testing done on the proposed changes

Spawn a shield/paragon/sniper bot/engineer presets and log the time difference using the debug setup commit.

   CreateUnitAtMouse('xab1401', 0,   -9.50,    8.32, -0.00000)
   CreateUnitAtMouse('urb4202', 0,    2.50,   -1.68,  0.00000)
   CreateUnitAtMouse('xsl0305', 1,   17.50,  -15.68, -0.00000)
   CreateUnitAtMouse('url0301_engineer', 0,   -2.16,    4.66, -0.00000)
   CreateUnitAtMouse('url0301_engineer', 0,   -3.52,    3.30, -0.00000)
   CreateUnitAtMouse('url0301_engineer', 0,   -4.83,    1.07,  0.00000)

Balance implications

This makes shield assistance significantly more powerful against fast bursts of high damage such as Aeon T3 Arty (6k damage --1 second-> 6k damage), synchronized T3 artillery (especially Aeon artillery), or the Mavor (16k every 4.8 seconds). Outside of defending against strategic artillery, I don't think there are similar situations where shield assist is commonly used.

Buffing shield assistance in this way is fair because it already drains a massive amount of resources to let the player focus on other tasks than microing shields against artillery (which I reckon is not the gameplay that most are interested in). Keeping a consistently achievable shield assistance outcome, unaffected by random assist reaction time vs burst damage, would fulfill this goal of letting the player do other tasks.

It could make shield assist too powerful in which case I would reduce the efficiency of shield repair by adjusting the RegenAssistMult (determines much regen is given for an amount of buildpower) or changing the repair cost of shields directly.

Checklist

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

@lL1l1 lL1l1 added area: sim Area that is affected by the Simulation of the Game area: balance idea related to suggestions for unit balance labels Sep 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: balance idea related to suggestions for unit balance area: sim Area that is affected by the Simulation of the Game
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant