Skip to content

Commit

Permalink
Sniper bot buff (#6606)
Browse files Browse the repository at this point in the history
Seraphim sniper (XSL0305):
- Speed: 2.2 (default mode) / 1.65 (sniper mode) -> 2.3 (default mode) / 2.0 (sniper mode)
- Firing Tolerance: 3 (default mode) / 0.5 (sniper mode) -> 0 (both modes)
- Firing Randomness while moving: 0.4 (default mode) / 0.2 (sniper mode) -> 0.18 (default mode) / 0.05 (sniper mode)
- TurretYawSpeed 50 -> 90 (it was bugged which resulted in an effective TurretYawSpeed of 90, as the bug is fixed it is set to 90 to keep the unit behaviour as it was)

Aeon sniper (XAL0305)
- Speed: 2.4 -> 2.5
- Firing Tolerance: 2 -> 0
- Firing Randomness while moving: 0.3 -> 0.1


- Firing tolerance set to 0 fixes them consistently missing shots while turning/retargeting.

- The firing randomness is reduced so that snipers can reliably hit T3 units at max range, since the random chance to miss was annoying and snipers no longer need such a downside due to their cost changes.

- The Seraphim sniper mode speed was uninentionally reduced from 1.8 to 1.65 due to the last speed nerf, which was excessive (an ACU is 1.7 speed for comparison). Since the sniper mode is a bit underused, the unintentional reduction is reverted and the speed is further buffed to 2.0 speed.

Reasoning for the changes
Sniper bots have become too expensive and micro-intensive to use compared to saving for a T4 to counter Bricks and Percivals. The changes improve the leniency for their micro and improve their firing accuracy.

There may be further changes to sniper mode next patch to make it more viable.
  • Loading branch information
lL1l1 authored Feb 8, 2025
1 parent efc9644 commit e725005
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 38 deletions.
21 changes: 21 additions & 0 deletions changelog/snippets/balance.6606.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- (#6606) Buff the power of sniper bots as they have become too expensive and micro-intensive to use compared to saving for a T4 to counter Bricks and Percivals. The changes improve the leniency for their micro and improve their firing accuracy.

- Aeon and Seraphim snipers (XAL0305 & XSL0305):

- Speed: 2.2 (Seraphim) / 2.4 (Aeon) -> 2.3 (Seraphim) / 2.5 (Aeon)

- Firing Tolerance: 2 (Aeon) / 3 (Seraphim) / 0.5 (Seraphim sniper mode) -> 0 (all)

This fixes them consistently missing shots while turning/retargeting.

- Firing Randomness while moving: 0.4 (Seraphim) / 0.3 (Aeon) / 0.2 (Seraphim sniper mode) -> 0.18 / 0.1 / 0.05

The firing randomness is reduced so that snipers can reliably hit T3 units at max range, since the random chance to miss was annoying and snipers no longer need such a downside due to their cost changes.

- Seraphim Sniper (XSL0305):

- Sniper mode speed: 1.65 -> 2.0

The speed was uninentionally reduced from 1.8 to 1.65 due to the last speed nerf, which was excessive (an ACU is 1.7 speed for comparison). Since the sniper mode is a bit underused, the unintentional reduction is reverted and the speed is further buffed to 2.0 speed.

There may be further changes to sniper mode next patch to make it more viable.
5 changes: 5 additions & 0 deletions changelog/snippets/fix.6606.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- (#6606) Fix Seraphim sniper's dummy weapon's turret overriding the yaw speed of the turrets of the real weapons.

- (#6606) Fix Sera sniper stopping on attack move against underwater targets.

- (#6606) Fix `GuardScanRadius` for Seraphim sniper not matching the increased sniper mode range.
10 changes: 5 additions & 5 deletions units/XAL0305/XAL0305_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,9 @@ UnitBlueprint{
LifeBarSize = 1,
Physics = {
DragCoefficient = 0.2,
MaxAcceleration = 2.4,
MaxBrake = 2.4,
MaxSpeed = 2.4,
MaxAcceleration = 2.5,
MaxBrake = 2.5,
MaxSpeed = 2.5,
MaxSpeedReverse = 0,
MaxSteerForce = 10,
MeshExtentsX = 1,
Expand Down Expand Up @@ -190,8 +190,8 @@ UnitBlueprint{
Land = "Land|Water|Seabed",
Water = "Land|Water|Seabed",
},
FiringRandomnessWhileMoving = 0.3,
FiringTolerance = 2,
FiringRandomnessWhileMoving = 0.1,
FiringTolerance = 0,
Label = "MainGun",
MaxRadius = 60,
MuzzleChargeDelay = 1,
Expand Down
4 changes: 2 additions & 2 deletions units/XSL0305/XSL0305_script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,10 @@ XSL0305 = ClassUnit(SLandUnit) {
weapon.FxMuzzleFlash = self.Weapons[label].FxMuzzleFlash
weapon.damageTableCache = false
weapon:ChangeProjectileBlueprint(bp.ProjectileId)
weapon:ChangeFiringTolerance(bp.FiringTolerance)
weapon:ChangeFiringTolerance(bp.FiringTolerance) -- kept for backwards compatibility
weapon:ChangeMaxRadius(bp.MaxRadius)
weapon:ChangeRateOfFire(bp.RateOfFire)
weapon:SetTurretYawSpeed(bp.TurretYawSpeed)
weapon:SetTurretYawSpeed(bp.TurretYawSpeed) -- kept for backwards compatibility

-- old dummy weapon introduced to make the sniper bot go to the correct attack distance
-- (orders use the max range of the first weapon in the blueprint) back when both weapons
Expand Down
47 changes: 16 additions & 31 deletions units/XSL0305/XSL0305_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ UnitBlueprint{
Description = "<LOC xsl0305_desc>Sniper Bot",
AI = {
TargetBones = { "Barrel" },
GuardScanRadius = 71.5,
},
Audio = {
AmbientMove = Sound { Bank = 'XSL', Cue = 'XSL0305_Move_Loop', LodCutoff = 'UnitMove_LodCutoff' },
Expand Down Expand Up @@ -158,16 +159,16 @@ UnitBlueprint{
LifeBarSize = 0.75,
Physics = {
DragCoefficient = 0.2,
MaxAcceleration = 2.2,
MaxBrake = 2.2,
MaxSpeed = 2.2,
MaxAcceleration = 2.3,
MaxBrake = 2.3,
MaxSpeed = 2.3,
MaxSpeedReverse = 0,
MaxSteerForce = 10,
MeshExtentsX = 1,
MeshExtentsY = 1.25,
MeshExtentsZ = 1,
MotionType = "RULEUMT_Land",
SniperModeSpeedMultiplier = 0.75,
SniperModeSpeedMultiplier = 2.0/2.3,
StandUpright = true,
TurnRadius = 5,
TurnRate = 90,
Expand All @@ -194,35 +195,19 @@ UnitBlueprint{
},
Weapon = {
{
Damage = 0,
DamageFriendly = false,
-- Dummy weapon to control attack move stopping distance
AboveWaterTargetsOnly = true,
FireTargetLayerCapsTable = {
Land = "Land|Water|Seabed",
Water = "Land|Water|Seabed",
},
Label = "DummyWeapon",
MaxRadius = 55,
RackBones = {
{
MuzzleBones = { "Muzzle" },
RackBone = "Barrel",
},
},
RateOfFire = 10/20, --10/integer interval in ticks
SlavedToBody = false,
RateOfFire = 0, --10/integer interval in ticks
TrackingRadius = 1.0,
TargetCheckInterval = 2.0,
TargetPriorities = { "ALLUNITS" },
TargetRestrictDisallow = "UNTARGETABLE",
TurretBoneMuzzle = "Muzzle",
TurretBonePitch = "Barrel",
TurretBoneYaw = "Barrel",
TurretDualManipulators = false,
TurretPitch = 0,
TurretPitchRange = 50,
TurretPitchSpeed = 30,
TurretYaw = 0,
TurretYawRange = 180,
TurretYawSpeed = 90,
Turreted = true,
},
{
AboveWaterTargetsOnly = true,
Expand All @@ -240,8 +225,8 @@ UnitBlueprint{
Land = "Land|Water|Seabed",
Water = "Land|Water|Seabed",
},
FiringRandomnessWhileMoving = 0.4,
FiringTolerance = 3,
FiringRandomnessWhileMoving = 0.18,
FiringTolerance = 0,
IgnoreIfDisabled = true,
Label = "MainGun",
MaxRadius = 55,
Expand Down Expand Up @@ -291,7 +276,7 @@ UnitBlueprint{
TurretPitchSpeed = 30,
TurretYaw = 0,
TurretYawRange = 180,
TurretYawSpeed = 70,
TurretYawSpeed = 90,
Turreted = true,
WeaponCategory = "Direct Fire",
WeaponRepackTimeout = 0,
Expand All @@ -313,8 +298,8 @@ UnitBlueprint{
Land = "Land|Water|Seabed",
Water = "Land|Water|Seabed",
},
FiringRandomnessWhileMoving = 0.2,
FiringTolerance = 0.5,
FiringRandomnessWhileMoving = 0.05,
FiringTolerance = 0,
IgnoreIfDisabled = true,
Label = "SniperGun",
MaxRadius = 65,
Expand Down Expand Up @@ -363,7 +348,7 @@ UnitBlueprint{
TurretPitchSpeed = 30,
TurretYaw = 0,
TurretYawRange = 180,
TurretYawSpeed = 50,
TurretYawSpeed = 90,
Turreted = true,
WeaponCategory = "Direct Fire",
WeaponRepackTimeout = 0,
Expand Down

0 comments on commit e725005

Please sign in to comment.