Mobile shields blocking ACU explosions gives an obvious snowballing advantage to Aeon and UEF T2, and to an extent Seraphim T3. This advantage should no go into live because it would easily unbalance the game and currently there are no changes made to counteract this newfound advantage.
While it creates inconsistency, it's worth it; the original issue was that ACUs in bases would kill all engis, or that teleporting ACUs would kill all engis, and that is still being solved after these changes. Nobody asked for OP mobile shields, it just came as a consequence of an easy, consistent implementation.
Description of the proposed changes
Implements a StaticShield absorption type with automatic mod support based on categories.
The default absorption type no longer blocks DeathNuke damage, instead the StaticShield absorption type does. This means modded mobile shields also do not block death nukes. It also opens up a trivial opportunity to add DeathNuke absorption to the UEF ACU shield, UEF SACU shield, and Fatboy shield.
Testing done on the proposed changes
Spawn all static/mobile shields and an engi target underneath them then blow up ACUs to confirm they don't kill the engis.
Issue
Mobile shields blocking ACU explosions gives an obvious snowballing advantage to Aeon and UEF T2, and to an extent Seraphim T3. This advantage should no go into live because it would easily unbalance the game and currently there are no changes made to counteract this newfound advantage. While it creates inconsistency, it's worth it; the original issue was that ACUs in bases would kill all engis, or that teleporting ACUs would kill all engis, and that is still being solved after these changes. Nobody asked for OP mobile shields, it just came as a consequence of an easy, consistent implementation.
Description of the proposed changes
Implements a
StaticShield
absorption type with automatic mod support based on categories. The default absorption type no longer blocksDeathNuke
damage, instead theStaticShield
absorption type does. This means modded mobile shields also do not block death nukes. It also opens up a trivial opportunity to addDeathNuke
absorption to the UEF ACU shield, UEF SACU shield, and Fatboy shield.Testing done on the proposed changes
Spawn all static/mobile shields and an engi target underneath them then blow up ACUs to confirm they don't kill the engis.
Spawn units command:
``` CreateUnitAtMouse('url0208', 0, -54.66, 82.50, 0.00000) CreateUnitAtMouse('uab4301', 0, 7.91, -38.79, -0.00110) CreateUnitAtMouse('url0208', 0, 30.34, 7.50, 0.00000) CreateUnitAtMouse('uel0307', 0, 51.34, -31.50, 0.00024) CreateUnitAtMouse('uel0401ef', 0, 50.84, -60.87, -0.00008) CreateUnitAtMouse('uel0401ef', 0, 50.41, -61.29, -0.00008) CreateUnitAtMouse('url0208', 0, 41.34, 20.50, 0.00000) CreateUnitAtMouse('uel0208', 0, 53.34, -48.50, -0.00002) CreateUnitAtMouse('uel0208', 0, -59.66, 13.50, 0.09655) CreateUnitAtMouse('xac2101', 0, -107.09, 7.21, 0.00682) CreateUnitAtMouse('url0208', 0, -2.66, -39.50, -0.00000) CreateUnitAtMouse('ual0307', 0, 67.34, -19.50, 0.00015) CreateUnitAtMouse('xsl0307', 0, 71.34, -39.50, 0.00098) CreateUnitAtMouse('url0208', 0, 65.34, -22.50, 0.00005) CreateUnitAtMouse('uel0401', 0, 50.84, -56.00, -0.00008) CreateUnitAtMouse('url0208', 0, -21.66, -21.50, 0.00000) CreateUnitAtMouse('url0208', 0, 40.34, 20.50, 0.00000) CreateUnitAtMouse('urb4206', 0, -51.09, -39.79, 0.00000) CreateUnitAtMouse('xsb4301', 0, -37.09, 41.21, -0.00030) CreateUnitAtMouse('url0208', 0, -35.66, 75.50, 0.00000) CreateUnitAtMouse('uab4202', 0, -62.09, 65.21, -0.15651) CreateUnitAtMouse('urb4204', 0, 28.91, 1.21, -0.01026) CreateUnitAtMouse('url0208', 0, 67.34, -36.50, 0.00043) CreateUnitAtMouse('xab1401', 0, -106.85, 11.71, -0.00000) CreateUnitAtMouse('ueb4301', 0, -24.09, -5.79, 0.00000) CreateUnitAtMouse('ueb4202', 0, -28.09, 78.21, 0.00000) CreateUnitAtMouse('url0208', 0, -57.66, 66.50, -0.00086) CreateUnitAtMouse('url0208', 0, -41.66, -37.50, 0.00000) CreateUnitAtMouse('url0208', 0, 55.34, -31.50, 0.00017) CreateUnitAtMouse('urb4207', 0, -21.09, -64.79, -0.01029) CreateUnitAtMouse('xsb4202', 0, 49.91, 22.21, 0.00000) CreateUnitAtMouse('urb4205', 0, -56.09, 91.21, 0.00000) CreateUnitAtMouse('url0208', 0, -20.66, -51.50, 0.00021) CreateUnitAtMouse('url0208', 0, 26.34, 21.50, 0.00000) CreateUnitAtMouse('urb4202', 0, 21.91, 22.21, 0.00000) CreateUnitAtMouse('url0208', 0, -42.66, 58.50, -0.00040) ```Checklist