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

Strat buff #6535

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions changelog/snippets/balance.6535.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
- (#6535) Improve the maneuverability and reliability of Strategic Bombers to promote proactive use of them and as a competing option to T3 gunships
- Maneuverability:
- Increase turn speed: 0.8 -> 1.5
This lets it effectively micro against flak damage, and leaves less time/opportunities for ASF/SAMs to deal damage.
- Increase Lift Factor: 7 -> 17
This improves the speed of the bomber lifting off, complementing the new turn speed.
- Reliability:
- Bomb drop threshold: 3.5 -> 10
This greatly improves the ability of the bomber to fire on uneven terrain or during turns, where it may get a less than ideal path. It is necessary because every bomb of a strategic bomber matters, and it can be devastating if one of them doesn't fire because the engine decided the small drop zone was unfortunately in the wrong place. A similar massive increase for the threshold was done for the Ahwassa (4 -> 20) (#2465)[https://github.com/FAForever/fa/pull/2465].
- Smaller loops on auto attack to maximize DPS:
This only increases DPS when bombing a single target with multiple passes, so I wouldn't put it exactly under the HP/DPS buff restriction. Previously bombs would drop only every ~13 seconds, and with the turn speed and breakoff distance reduction they drop every ~8 seconds.
It can also be argued that this is just simplifying the micro of multiple bombers when you want to maximize DPS. There will of course still be micro against AA or to have good bombing paths that make use of the reload, both of which are far more engaging than figuring out when to turn multiple bombers just to bomb a single target on reload with multiple passes.
- `BreakOffDistance`: 60 -> 40
- `RandomBreakOffDistanceMult`: 1.5 -> 1
24 changes: 12 additions & 12 deletions engine/Core/Blueprints/UnitBlueprint.lua
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,13 @@
--- unit should unpack before firing weapon
--- Engine sets tracking radius to 1x, calls OnLostTarget when given a move order, and OnGotTarget only when not moving
---@field NeedUnpack boolean
--- this muliplier is applied when a staging platform is refueling an air unit
--- this muliplier is applied to an air unit's refuel rate when the staging platform is refueling it
---@field RefuelingMultiplier number
--- shis amount of repair per second offered to refueling air units
--- this amount of repair per **second** is offered to refueling air units
---@field RefuelingRepairAmount number
--- this amount of energy per second is required to repair the air unit
--- this amount of energy per **tick** is required to repair the air unit
---@field RepairConsumeEnergy? number
--- this amount of mass per second is required to repair the air unit
--- this amount of mass per **tick** is required to repair the air unit
---@field RepairConsumeMass? number
--- if the assist range for the unit is shown if it's selected
---@field ShowAssistRangeOnSelect? boolean
Expand All @@ -170,8 +170,6 @@
---@field BankFactor? number
--- true if aircraft banks forward/back as well as sideways
---@field BankForward? boolean
--- distance from the target unit will start firing bombs
---@field BombDropThreshold? number
--- distance to break off before turning around for another attack run
---@field BreakOffDistance? number
--- if the air unit's new target is close-by, it will break off first to increase
Expand Down Expand Up @@ -229,14 +227,16 @@
---@field MinAirspeed? number
--- time to predict ahead for moving targets
---@field PredictAheadForBombDrop? number
--- random multiplier applied to break off distance for winged aircrafts
--- random multiplier applied to break off distance for winged aircrafts. Defaults to 1.5
---@field RandomBreakOffDistanceMult? number
--- random max time to switch combat state in seconds for winged aircrafts
--- random max time to switch combat state in seconds for winged aircrafts. Defaults to 6
---@field RandomMaxChangeCombatStateTime? number
--- random min time to switch combat state in seconds for winged aircrafts
--- random min time to switch combat state in seconds for winged aircrafts. Defaults to 3
---@field RandomMinChangeCombatStateTime? number
--- distance from target at which to start turning to align with it
---@field StartTurnDistance number
--- Length of time in seconds allowed for sustained turn before we re-try a different approach. Defaults to 10
---@field SustainedTurnThreshold number
--- additional turning multiplier ability during a tight turn maneuver
---@field TightTurnMultiplier? number
--- how heigh the transport will stay when picking up and dropping off units
Expand Down Expand Up @@ -1099,9 +1099,9 @@
--- if true, terrain under building's skirt will be flattened
---@field FlattenSkirt boolean
---@field Footprint FootprintBlueprint
--- unit fuels up at this rate per second
--- unit fuels up at this rate per second. Required for air staging to undock automatically.
---@field FuelRechargeRate number
--- unit has fuel for this number of seconds
--- unit has fuel for this number of seconds. Required for air staging to undock automatically.
---@field FuelUseTime number
--- How much the collision model is offset from the ground. Used to make aircraft land properly.
---@field GroundCollisionOffset? number
Expand Down Expand Up @@ -1212,7 +1212,7 @@
---@field ClassGenericUpTo? integer
--- how many external docking slots available for air staging platforms
---@field DockingSlots? number
--- repairs units attached to me at this % of max health per second
--- Doesn't seem to work. "repairs units attached to me at this % of max health per second"
---@field RepairRate number
--- Maximum number of large units this transport can carry. If larger than the number of large slots
--- calculated from the number hooks, that smaller number is used instead.
Expand Down
1 change: 1 addition & 0 deletions engine/Sim/Unit.lua
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ end
function Unit:GetUnitId()
end

--- Returns unit velocity in ogrids/tick
---@return number x
---@return number y
---@return number z
Expand Down
13 changes: 7 additions & 6 deletions units/UAA0304/UAA0304_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ UnitBlueprint{
AI = { GuardReturnRadius = 125 },
Air = {
AutoLandTime = 1,
BankFactor = 2.5,
BankFactor = 3,
BankForward = false,
BreakOffDistance = 60,
BreakOffDistance = 40,
BreakOffIfNearNewTarget = true,
BreakOffTrigger = 30,
RandomBreakOffDistanceMult = 1,
CanFly = true,
CombatTurnSpeed = 0.8,
CombatTurnSpeed = 1.5,
EngageDistance = 50,
KLift = 3,
KLiftDamping = 2.5,
Expand All @@ -19,13 +20,13 @@ UnitBlueprint{
KRollDamping = 2,
KTurn = 0.8,
KTurnDamping = 1,
LiftFactor = 7,
LiftFactor = 17,
MaxAirspeed = 17,
MinAirspeed = 15,
PredictAheadForBombDrop = 3,
StartTurnDistance = 5,
TightTurnMultiplier = 0,
TurnSpeed = 0.8,
TurnSpeed = 1.5,
Winged = true,
},
Audio = {
Expand Down Expand Up @@ -192,7 +193,7 @@ UnitBlueprint{
},
AutoInitiateAttackCommand = true,
BallisticArc = "RULEUBA_None",
BombDropThreshold = 3.5,
BombDropThreshold = 10,
Buffs = {
{
Add = { OnImpact = true },
Expand Down
13 changes: 7 additions & 6 deletions units/UEA0304/UEA0304_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ UnitBlueprint{
AI = { GuardReturnRadius = 125 },
Air = {
AutoLandTime = 1,
BankFactor = 2.5,
BankFactor = 3,
BankForward = false,
BreakOffDistance = 60,
BreakOffDistance = 40,
BreakOffIfNearNewTarget = true,
BreakOffTrigger = 30,
RandomBreakOffDistanceMult = 1,
CanFly = true,
CombatTurnSpeed = 0.8,
CombatTurnSpeed = 1.5,
EngageDistance = 50,
KLift = 3,
KLiftDamping = 2.5,
Expand All @@ -19,13 +20,13 @@ UnitBlueprint{
KRollDamping = 2,
KTurn = 0.8,
KTurnDamping = 1,
LiftFactor = 7,
LiftFactor = 17,
MaxAirspeed = 17,
MinAirspeed = 15,
PredictAheadForBombDrop = 3,
StartTurnDistance = 5,
TightTurnMultiplier = 0,
TurnSpeed = 0.8,
TurnSpeed = 1.5,
Winged = true,
},
Audio = {
Expand Down Expand Up @@ -230,7 +231,7 @@ UnitBlueprint{
},
AutoInitiateAttackCommand = true,
BallisticArc = "RULEUBA_None",
BombDropThreshold = 3.5,
BombDropThreshold = 10,
CollideFriendly = false,
Damage = 3100,
DamageFriendly = true,
Expand Down
13 changes: 7 additions & 6 deletions units/URA0304/URA0304_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ UnitBlueprint{
AI = { GuardReturnRadius = 125 },
Air = {
AutoLandTime = 1,
BankFactor = 2.5,
BankFactor = 3,
BankForward = false,
BreakOffDistance = 60,
BreakOffDistance = 40,
BreakOffIfNearNewTarget = true,
BreakOffTrigger = 30,
RandomBreakOffDistanceMult = 1,
CanFly = true,
CombatTurnSpeed = 0.8,
CombatTurnSpeed = 1.5,
EngageDistance = 50,
KLift = 3,
KLiftDamping = 2.5,
Expand All @@ -19,13 +20,13 @@ UnitBlueprint{
KRollDamping = 2,
KTurn = 0.8,
KTurnDamping = 1,
LiftFactor = 7,
LiftFactor = 17,
MaxAirspeed = 17,
MinAirspeed = 15,
PredictAheadForBombDrop = 3,
StartTurnDistance = 5,
TightTurnMultiplier = 0,
TurnSpeed = 0.8,
TurnSpeed = 1.5,
Winged = true,
},
Audio = {
Expand Down Expand Up @@ -222,7 +223,7 @@ UnitBlueprint{
},
AutoInitiateAttackCommand = true,
BallisticArc = "RULEUBA_None",
BombDropThreshold = 3.5,
BombDropThreshold = 10,
CollideFriendly = false,
Damage = 2750,
DamageFriendly = true,
Expand Down
13 changes: 7 additions & 6 deletions units/XSA0304/XSA0304_unit.bp
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ UnitBlueprint{
AI = { GuardReturnRadius = 125 },
Air = {
AutoLandTime = 1,
BankFactor = 2.5,
BankFactor = 3,
BankForward = false,
BreakOffDistance = 60,
BreakOffDistance = 40,
BreakOffIfNearNewTarget = true,
BreakOffTrigger = 30,
RandomBreakOffDistanceMult = 1,
CanFly = true,
CombatTurnSpeed = 0.8,
CombatTurnSpeed = 1.5,
EngageDistance = 50,
KLift = 3,
KLiftDamping = 2.5,
Expand All @@ -19,13 +20,13 @@ UnitBlueprint{
KRollDamping = 2,
KTurn = 0.8,
KTurnDamping = 1,
LiftFactor = 7,
LiftFactor = 17,
MaxAirspeed = 17,
MinAirspeed = 15,
PredictAheadForBombDrop = 3,
StartTurnDistance = 5,
TightTurnMultiplier = 0,
TurnSpeed = 0.8,
TurnSpeed = 1.5,
Winged = true,
},
Audio = {
Expand Down Expand Up @@ -212,7 +213,7 @@ UnitBlueprint{
},
AutoInitiateAttackCommand = true,
BallisticArc = "RULEUBA_None",
BombDropThreshold = 3.5,
BombDropThreshold = 10,
CollideFriendly = false,
Damage = 3000,
DamageFriendly = true,
Expand Down
Loading