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

Combine Ahwassa bomb's final 3 damage instances into 1 #6563

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

Conversation

lL1l1
Copy link
Contributor

@lL1l1 lL1l1 commented Nov 29, 2024

Description of the proposed changes

Discord discussion: #balance-team - Ahwassa.

  • Combines the 3 damage instances.

    • Interacts with shields better according to @Garanas. Testing supports this, stacked low HP shields are much more effective.

    • Interacts with reclaim overkill much better: Units do not accumulate overkill damage in their death animations, so having 3 separate damage instances left far more reclaim than it should for an 11000 damage bomb.

      Image comparing the reclaim amounts: Top: 1 damage instance Bottom: 3 damage instances

      {16C8D984-52BB-4B98-B440-E5F2B90E4621}

Testing done on the proposed changes

Compare the single and multiple damage instance bombs vs various faction armies:

A Cybran army gets destroyed equally because it has no shields, but it does leave less reclaim with the single damage instance bomb due to overkill being calculated properly.

Cybran army spawn command:
   CreateUnitAtMouse('xrl0305', 1,   -9.79,   -1.95, -3.06590)
   CreateUnitAtMouse('xrl0305', 1,   -4.04,   -5.41, -3.06517)
   CreateUnitAtMouse('xrl0305', 1,    2.62,    3.10, -3.06901)
   CreateUnitAtMouse('url0309', 1,    1.57,    9.40, -3.07519)
   CreateUnitAtMouse('url0205', 1,   -3.35,    3.66, -3.06914)
   CreateUnitAtMouse('url0309', 1,   -6.13,    6.99, -3.07397)
   CreateUnitAtMouse('xrl0305', 1,   -0.82,   -2.65, -3.06715)
   CreateUnitAtMouse('url0205', 1,   -0.60,    0.43, -3.06951)
   CreateUnitAtMouse('url0309', 1,   11.81,    5.59, -3.07535)
   CreateUnitAtMouse('url0205', 1,   11.60,    2.49, -3.07029)
   CreateUnitAtMouse('xrl0305', 1,   -1.27,   -8.63, -3.06403)
   CreateUnitAtMouse('url0309', 1,    8.84,    5.82, -3.07235)
   CreateUnitAtMouse('xrl0305', 1,  -10.25,   -7.94, -3.06440)
   CreateUnitAtMouse('xrl0305', 1,  -10.02,   -4.95, -3.06516)
   CreateUnitAtMouse('xrl0305', 1,   -6.36,    3.80, -3.07070)
   CreateUnitAtMouse('url0205', 1,    8.38,   -0.27, -3.06962)
   CreateUnitAtMouse('url0205', 1,    5.60,    2.96, -3.07275)
   CreateUnitAtMouse('xrl0305', 1,   -7.26,   -8.17, -3.06445)
   CreateUnitAtMouse('url0309', 1,   -9.11,    7.22, -3.07300)
   CreateUnitAtMouse('url0205', 1,    5.85,    5.95, -3.07063)
   CreateUnitAtMouse('url0402', 1,    4.94,   -6.09, -3.06530)
   CreateUnitAtMouse('xrl0305', 1,    5.38,   -0.13, -3.06842)
   CreateUnitAtMouse('drlk001', 1,   -1.03,   -5.46, -3.06521)
   CreateUnitAtMouse('url0309', 1,   -3.12,    6.75, -3.07072)
   CreateUnitAtMouse('xrl0305', 1,   -9.57,    1.04, -3.06862)
   CreateUnitAtMouse('xrl0305', 1,   -4.27,   -8.40, -3.06450)
   CreateUnitAtMouse('drlk001', 1,   -3.80,   -2.24, -3.06716)
   CreateUnitAtMouse('url0205', 1,    2.86,    6.18, -3.07053)
   CreateUnitAtMouse('xrl0305', 1,   11.15,   -3.58, -3.06603)
   CreateUnitAtMouse('xrl0305', 1,    8.62,    2.63, -3.06632)
   CreateUnitAtMouse('drlk001', 1,   -7.02,   -5.00, -3.06516)
   CreateUnitAtMouse('drlk001', 1,   -6.79,   -2.01, -3.06592)
   CreateUnitAtMouse('url0205', 1,   -6.57,    0.90, -3.06717)
   CreateUnitAtMouse('url0205', 1,   -9.34,    4.12, -3.06995)
   CreateUnitAtMouse('drlk001', 1,    2.41,    0.29, -3.06808)
   CreateUnitAtMouse('url0205', 1,   -0.13,    6.41, -3.07051)
   CreateUnitAtMouse('xrl0305', 1,   10.92,   -6.57, -3.06529)
   CreateUnitAtMouse('xrl0305', 1,   11.37,   -0.59, -3.06884)
   CreateUnitAtMouse('xrl0305', 1,   -0.38,    3.33, -3.07115)
   CreateUnitAtMouse('xrl0305', 1,   10.69,   -9.56, -3.06462)
   CreateUnitAtMouse('xrl0305', 1,   -3.59,    0.57, -3.06824)

A Seraphim army's shields can withstand an Ahwassa.

The UEF test army took far less damage from the single damage instance bomb:

{F0207398-3EF0-49C6-8290-D63129863156}
{813CB717-3412-426E-8346-1E9853D39C4F}
{25A8D504-7F08-4A18-9039-220E4A204BDF}

UEF Units spawn command:
   CreateUnitAtMouse('xel0209', 1,    7.47,    7.02,  3.13953)
   CreateUnitAtMouse('uel0205', 1,   -4.50,    4.07,  3.13953)
   CreateUnitAtMouse('uel0205', 1,    1.47,    4.10,  3.13953)
   CreateUnitAtMouse('xel0209', 1,   -1.56,   10.14,  3.13953)
   CreateUnitAtMouse('uel0205', 1,   10.50,    4.05,  3.13953)
   CreateUnitAtMouse('xel0305', 1,    7.53,   -7.96,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   10.50,    1.07,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -4.50,    1.08,  3.13953)
   CreateUnitAtMouse('uel0205', 1,    7.50,    4.03,  3.13953)
   CreateUnitAtMouse('uel0205', 1,   -1.51,    4.08,  3.13953)
   CreateUnitAtMouse('uel0205', 1,   -1.49,    1.08,  3.13953)
   CreateUnitAtMouse('uel0205', 1,   -7.49,    4.05,  3.13953)
   CreateUnitAtMouse('xel0209', 1,  -10.57,    7.10,  3.13953)
   CreateUnitAtMouse('uel0307', 1,    4.47,    7.13,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -4.47,   -4.91,  3.13953)
   CreateUnitAtMouse('xel0305', 1,    4.54,   -7.97,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -4.46,   -7.91,  3.12748)
   CreateUnitAtMouse('uel0307', 1,   -7.49,    1.06,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -7.46,   -7.93,  3.13480)
   CreateUnitAtMouse('uel0307', 1,   -7.48,   -4.94,  3.13953)
   CreateUnitAtMouse('xel0209', 1,    1.43,   10.16,  3.13953)
   CreateUnitAtMouse('xel0305', 1,    1.51,   -1.89,  3.13953)
   CreateUnitAtMouse('uel0307', 1,   -1.54,    7.10,  3.13953)
   CreateUnitAtMouse('xel0305', 1,    4.50,    1.04,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -1.49,   -1.90,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   10.51,   -1.95,  3.13953)
   CreateUnitAtMouse('xel0305', 1,  -10.45,   -7.93,  3.13953)
   CreateUnitAtMouse('xel0209', 1,   -7.54,    7.11,  3.13083)
   CreateUnitAtMouse('xel0305', 1,    1.53,   -7.89,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   10.52,   -4.94,  3.13953)
   CreateUnitAtMouse('xel0305', 1,    4.52,   -4.97,  3.13646)
   CreateUnitAtMouse('uel0307', 1,    1.53,   -4.89,  3.13953)
   CreateUnitAtMouse('xel0305', 1,  -10.47,   -1.94,  3.13953)
   CreateUnitAtMouse('uel0307', 1,   -1.48,   -4.90,  3.13953)
   CreateUnitAtMouse('uel0307', 1,    1.44,    7.12,  3.13953)
   CreateUnitAtMouse('uel0307', 1,  -10.50,    4.06,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   -1.47,   -7.91,  3.13953)
   CreateUnitAtMouse('xel0305', 1,  -10.47,   -4.94,  3.13953)
   CreateUnitAtMouse('xel0305', 1,  -10.49,    1.05,  3.13953)
   CreateUnitAtMouse('xel0305', 1,   10.53,   -7.93,  3.13953)
   CreateUnitAtMouse('uel0307', 1,    7.52,   -4.94,  3.13953)
   CreateUnitAtMouse('delk002', 1,   -4.48,   -1.92,  3.13953)
   CreateUnitAtMouse('delk002', 1,   -7.50,   -1.93,  3.13953)
   CreateUnitAtMouse('uel0205', 1,    4.41,    4.12,  3.13953)
   CreateUnitAtMouse('delk002', 1,    4.48,   -1.87,  3.13953)
   CreateUnitAtMouse('xel0209', 1,   10.43,    7.04,  3.13953)
   CreateUnitAtMouse('delk002', 1,    7.51,   -1.93,  3.13953)
   CreateUnitAtMouse('uel0301_rambo', 1,   -4.50,    7.08,  3.13953)
   CreateUnitAtMouse('delk002', 1,    1.48,    1.12,  3.13953)
   CreateUnitAtMouse('uel0307', 1,    7.50,    1.14,  3.13953)

An Aeon Army is similar to the UEF army where the shields work much better against the single damage instance bomb. This specific one was completely destroyed within the blast radius with the multiple damage instances bomb.

Spawn Aeon Units:
   CreateUnitAtMouse('ual0303', 1,    1.54,    8.78, -3.13565)
   CreateUnitAtMouse('ual0205', 1,    7.52,    8.82, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -1.55,  -12.22, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -7.50,    5.79, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -7.55,  -12.21, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    1.45,  -12.23, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   10.48,    5.75, -3.13564)
   CreateUnitAtMouse('ual0303', 1,   -4.54,   -9.22, -3.13565)
   CreateUnitAtMouse('ual0307', 1,   -7.51,    8.85, -3.13560)
   CreateUnitAtMouse('ual0205', 1,   -4.46,    2.77, -3.13565)
   CreateUnitAtMouse('ual0205', 1,   -4.47,   -0.15, -3.13565)
   CreateUnitAtMouse('ual0307', 1,   -1.50,   11.85, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   10.48,    2.75, -3.13564)
   CreateUnitAtMouse('ual0303', 1,    7.45,  -12.25, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -1.48,    5.78, -3.13565)
   CreateUnitAtMouse('ual0307', 1,    7.52,    2.82, -3.13566)
   CreateUnitAtMouse('ual0307', 1,   -1.48,    2.75, -3.13565)
   CreateUnitAtMouse('ual0307', 1,   10.53,   11.73, -3.13570)
   CreateUnitAtMouse('ual0307', 1,   -1.54,   -9.16, -3.13573)
   CreateUnitAtMouse('ual0303', 1,  -10.46,   -0.18, -3.13565)
   CreateUnitAtMouse('dalk003', 1,    7.47,   -6.22, -3.13565)
   CreateUnitAtMouse('dalk003', 1,    4.49,   -0.22, -3.12152)
   CreateUnitAtMouse('ual0307', 1,    1.51,    2.84, -3.12351)
   CreateUnitAtMouse('ual0303', 1,  -10.55,  -12.19, -3.13565)
   CreateUnitAtMouse('ual0303', 1,  -10.54,   -9.19, -3.13565)
   CreateUnitAtMouse('dalk003', 1,   -4.53,   -6.20, -3.13565)
   CreateUnitAtMouse('ual0307', 1,    7.48,   -3.18, -3.13572)
   CreateUnitAtMouse('ual0307', 1,    1.46,   -9.16, -3.13567)
   CreateUnitAtMouse('ual0307', 1,   -4.50,   11.75, -3.13574)
   CreateUnitAtMouse('ual0303', 1,   -1.53,   -6.22, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    1.47,   -6.23, -3.13565)
   CreateUnitAtMouse('dalk003', 1,    4.48,   -6.21, -3.13565)
   CreateUnitAtMouse('dalk003', 1,   -1.52,   -3.21, -3.13565)
   CreateUnitAtMouse('ual0307', 1,   -7.53,   -3.24, -3.13568)
   CreateUnitAtMouse('ual0307', 1,   10.54,    8.74, -3.13564)
   CreateUnitAtMouse('ual0307', 1,  -10.51,   11.87, -3.13572)
   CreateUnitAtMouse('ual0307', 1,    0.51,   14.85, -3.13571)
   CreateUnitAtMouse('ual0307', 1,    7.51,   11.73, -3.13559)
   CreateUnitAtMouse('ual0303', 1,   10.46,   -6.25, -3.13564)
   CreateUnitAtMouse('ual0303', 1,    4.48,   -3.25, -3.13565)
   CreateUnitAtMouse('ual0303', 1,  -10.47,    5.80, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -4.55,  -12.21, -3.13565)
   CreateUnitAtMouse('dalk003', 1,   -7.53,   -6.20, -3.13565)
   CreateUnitAtMouse('dalk003', 1,    1.47,   -3.21, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   10.45,  -12.25, -3.13564)
   CreateUnitAtMouse('ual0303', 1,   10.52,   -0.24, -3.13564)
   CreateUnitAtMouse('ual0205', 1,    4.51,    8.84, -3.13565)
   CreateUnitAtMouse('ual0205', 1,   -4.49,    8.86, -3.13565)
   CreateUnitAtMouse('ual0307', 1,    1.72,   11.87, -3.03886)
   CreateUnitAtMouse('ual0205', 1,    4.50,    2.84, -3.13565)
   CreateUnitAtMouse('ual0307', 1,  -10.51,    8.85, -3.13571)
   CreateUnitAtMouse('ual0307', 1,   -7.54,   -9.14, -3.13561)
   CreateUnitAtMouse('ual0307', 1,    4.52,   11.84, -3.13563)
   CreateUnitAtMouse('ual0307', 1,   -7.51,    2.87, -3.13572)
   CreateUnitAtMouse('ual0307', 1,   -7.41,   11.81, -3.13573)
   CreateUnitAtMouse('ual0307', 1,    7.48,   -9.18, -3.13570)
   CreateUnitAtMouse('ual0303', 1,  -10.52,    2.80, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    4.45,  -12.25, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -1.50,    8.78, -3.13565)
   CreateUnitAtMouse('ual0303', 1,  -10.53,   -3.21, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    7.48,   -0.25, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -4.53,   -3.22, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    4.46,   -9.24, -3.13565)
   CreateUnitAtMouse('ual0303', 1,  -10.52,   -6.20, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -7.50,   -0.21, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    1.52,    5.77, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    1.49,   -0.23, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   10.47,   -3.25, -3.13564)
   CreateUnitAtMouse('ual0303', 1,   10.45,   -9.25, -3.13564)
   CreateUnitAtMouse('ual0205', 1,   -4.36,    5.84, -3.13565)
   CreateUnitAtMouse('ual0205', 1,    4.49,    5.84, -3.13565)
   CreateUnitAtMouse('ual0303', 1,    7.48,    5.76, -3.13565)
   CreateUnitAtMouse('ual0303', 1,   -1.53,   -0.23, -3.13565)

Additional context

Initially the request to combine the instances was made because it might look more satisfying to see units all die at the same time, but visually there is no difference, as the large damage happens across just 0.2 seconds. I found out that there are very significant implications from having only 1 damage instance.

Checklist

- [ ] Changes are annotated, including comments where useful

  • Changes are documented in the changelog for the next game version

@lL1l1 lL1l1 added the area: balance related to units balance label Nov 29, 2024
@lL1l1 lL1l1 added this to the Development I of 2025 milestone Nov 29, 2024
@lL1l1 lL1l1 marked this pull request as ready for review November 29, 2024 04:11
@lL1l1 lL1l1 changed the title Combine Ahwassa bomb's 3 delayed damage instances into 1 Combine Ahwassa bomb's final 3 damage instances into 1 Nov 29, 2024
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
Projects
Status: To Discuss
Development

Successfully merging this pull request may close these issues.

1 participant