From a38724ee590f1604890cb81c912410348f6df9c0 Mon Sep 17 00:00:00 2001 From: Basilisk3 <126026384+Basilisk3@users.noreply.github.com> Date: Tue, 16 Apr 2024 15:29:12 +0200 Subject: [PATCH 1/3] Rationalize the economy stats of various Shield Generators (#6082) --- changelog/3809.md | 9 +++++++++ units/UAB4202/UAB4202_unit.bp | 1 - units/UEB4202/UEB4202_unit.bp | 2 +- units/UEB4301/UEB4301_unit.bp | 2 +- units/XSB4202/XSB4202_unit.bp | 2 +- units/XSB4301/XSB4301_unit.bp | 2 +- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/changelog/3809.md b/changelog/3809.md index 3c66610a90..f0b23fd02e 100644 --- a/changelog/3809.md +++ b/changelog/3809.md @@ -58,6 +58,15 @@ - BuildTime: 750 --> 1200 - BuildTime: 900 --> 1400 (Cybran) +- (#6082) The `BuildRate` and `BuildTime` stats of several Shield Generators are updated to be more streamlined. The Seraphim Tech 2 Shield Generator gains build power, as it previously had a very low amount. The Aeon Tech 2 Shield Generator loses its build power, as it cannot be upgraded. + - Tech 2 Shield Generators + - BuildRate: 13.66 --> 0 (Aeon) + - BuildRate: 12.98 --> 20 (Seraphim) + - BuildRate: 19.95 --> 20 (UEF) + - Tech 3 Shield Generators + - BuildTime: 5841 --> 5800 (Seraphim) + - BuildTime: 4988 --> 5000 (UEF) + ## Features diff --git a/units/UAB4202/UAB4202_unit.bp b/units/UAB4202/UAB4202_unit.bp index 74868e1dd4..f10297db67 100644 --- a/units/UAB4202/UAB4202_unit.bp +++ b/units/UAB4202/UAB4202_unit.bp @@ -96,7 +96,6 @@ UnitBlueprint{ Economy = { BuildCostEnergy = 5760, BuildCostMass = 480, - BuildRate = 13.66, BuildTime = 950, MaintenanceConsumptionPerSecondEnergy = 150, RebuildBonusIds = { diff --git a/units/UEB4202/UEB4202_unit.bp b/units/UEB4202/UEB4202_unit.bp index 46cf715144..dda381e973 100644 --- a/units/UEB4202/UEB4202_unit.bp +++ b/units/UEB4202/UEB4202_unit.bp @@ -92,7 +92,7 @@ UnitBlueprint{ Economy = { BuildCostEnergy = 6000, BuildCostMass = 600, - BuildRate = 19.95, + BuildRate = 20, BuildTime = 1150, BuildableCategory = { "ueb4301" }, MaintenanceConsumptionPerSecondEnergy = 200, diff --git a/units/UEB4301/UEB4301_unit.bp b/units/UEB4301/UEB4301_unit.bp index 50c5c7be7f..208c251fac 100644 --- a/units/UEB4301/UEB4301_unit.bp +++ b/units/UEB4301/UEB4301_unit.bp @@ -85,7 +85,7 @@ UnitBlueprint{ Economy = { BuildCostEnergy = 55000, BuildCostMass = 3300, - BuildTime = 4988, + BuildTime = 5000, MaintenanceConsumptionPerSecondEnergy = 400, RebuildBonusIds = { "ueb4301" }, }, diff --git a/units/XSB4202/XSB4202_unit.bp b/units/XSB4202/XSB4202_unit.bp index de4a0490ad..0181b2c670 100644 --- a/units/XSB4202/XSB4202_unit.bp +++ b/units/XSB4202/XSB4202_unit.bp @@ -102,7 +102,7 @@ UnitBlueprint{ Economy = { BuildCostEnergy = 7000, BuildCostMass = 700, - BuildRate = 12.98, + BuildRate = 20, BuildTime = 1250, BuildableCategory = { "xsb4301" }, MaintenanceConsumptionPerSecondEnergy = 250, diff --git a/units/XSB4301/XSB4301_unit.bp b/units/XSB4301/XSB4301_unit.bp index 7d0ff5f4a8..71ffb971bd 100644 --- a/units/XSB4301/XSB4301_unit.bp +++ b/units/XSB4301/XSB4301_unit.bp @@ -97,7 +97,7 @@ UnitBlueprint{ Economy = { BuildCostEnergy = 60000, BuildCostMass = 3600, - BuildTime = 5841, + BuildTime = 5800, MaintenanceConsumptionPerSecondEnergy = 500, RebuildBonusIds = { "xsb4301" }, }, From e8d3801dbe03d052f63030cbde1308eaef4c9fba Mon Sep 17 00:00:00 2001 From: lL1l1 <82986251+lL1l1@users.noreply.github.com> Date: Tue, 16 Apr 2024 06:40:20 -0700 Subject: [PATCH 2/3] Increase teleport effect scale by 25% (#5905) --- lua/EffectUtilities.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lua/EffectUtilities.lua b/lua/EffectUtilities.lua index 5d934e16ce..c42fb61acf 100644 --- a/lua/EffectUtilities.lua +++ b/lua/EffectUtilities.lua @@ -1033,7 +1033,7 @@ function PlayTeleportChargingEffects(unit, teleDest, effectsBag, teleDelay) for _, effect in telefx do local fx = CreateEmitterAtEntity(teleportDestFxEntity, unitArmy, effect) IEffectOffsetEmitter(fx, 0, offsetY, 0) - IEffectScaleEmitter(fx, 0.75) + IEffectScaleEmitter(fx, 0.9375) IEffectSetEmitterCurveParam(fx, 'Y_POSITION_CURVE', 0, offsetY * 2) -- To make effects cover entire height of unit IEffectSetEmitterCurveParam(fx, 'ROTATION_RATE_CURVE', 1, 0) -- Small initial rotation, will be faster as charging TableInsert(unit.TeleportDestChargeBag, fx) @@ -1048,7 +1048,7 @@ function PlayTeleportChargingEffects(unit, teleDest, effectsBag, teleDelay) for _, effect in telefx do local fx = CreateEmitterAtEntity(sphere, unitArmy, effect) - IEffectScaleEmitter(fx, 0.01 * unit.TeleportCybranSphereScale) + IEffectScaleEmitter(fx, 0.0125 * unit.TeleportCybranSphereScale) TableInsert(unit.TeleportDestChargeBag, fx) TrashBagAdd(effectsBag, fx) end @@ -1057,7 +1057,7 @@ function PlayTeleportChargingEffects(unit, teleDest, effectsBag, teleDelay) for _, effect in telefx do local fx = CreateEmitterAtEntity(teleportDestFxEntity, unitArmy, effect) IEffectOffsetEmitter(fx, 0, offsetY, 0) - IEffectScaleEmitter(fx, 0.01) + IEffectScaleEmitter(fx, 0.0125) TableInsert(unit.TeleportDestChargeBag, fx) TrashBagAdd(effectsBag, fx) end @@ -1068,7 +1068,7 @@ function PlayTeleportChargingEffects(unit, teleDest, effectsBag, teleDelay) for _, effect in telefx do local fx = CreateEmitterAtEntity(teleportDestFxEntity, unitArmy, effect) IEffectOffsetEmitter(fx, 0, offsetY, 0) - IEffectScaleEmitter(fx, 0.01) + IEffectScaleEmitter(fx, 0.0125) TableInsert(unit.TeleportDestChargeBag, fx) TrashBagAdd(effectsBag, fx) end @@ -1152,7 +1152,7 @@ end function TeleportCreateCybranSphere(unit, location, initialScale) -- Creates the sphere used by Cybran teleportation effects local sx, sy, sz = TeleportGetUnitSizes(unit) - local scale = 1.25 * MathMax(sx, sy, sz) + local scale = 1.5625 * MathMax(sx, sy, sz) unit.TeleportCybranSphereScale = scale local sphere = Entity() @@ -1185,7 +1185,7 @@ function TeleportChargingProgress(unit, fraction) if unit.TeleportDestChargeBag then local height = -(25 + 100 * fraction) local size = 30 * fraction - local scale = 0.75 + 0.5 * MathMax(fraction, 0.01) + local scale = 0.9375 + 0.625 * MathMax(fraction, 0.01) for _, fx in unit.TeleportDestChargeBag do IEffectSetEmitterCurveParam(fx, 'ROTATION_RATE_CURVE', height, size) IEffectScaleEmitter(fx, scale) @@ -1198,7 +1198,7 @@ function TeleportChargingProgress(unit, fraction) end elseif faction == 'Cybran' then -- Increase size of sphere and effects as progressing - local scale = MathMax(fraction, 0.01) * (unit.TeleportCybranSphereScale or 5) + local scale = fraction * (unit.TeleportCybranSphereScale or 6.25) if unit.TeleportCybranSphere then unit.TeleportCybranSphere:SetDrawScale(scale) end @@ -1209,7 +1209,7 @@ function TeleportChargingProgress(unit, fraction) end elseif unit.TeleportDestChargeBag then -- Increase size of effects as progressing - local scale = 2 * fraction - MathPow(fraction, 2) + local scale = 2.5 * fraction - MathPow(fraction, 2.5) for _, fx in unit.TeleportDestChargeBag do IEffectScaleEmitter(fx, scale) end From fb9aade6e73a81ee92e40c31ca84fc912dd6e851 Mon Sep 17 00:00:00 2001 From: Basilisk3 <126026384+Basilisk3@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:53:06 +0200 Subject: [PATCH 3/3] Fix the collision hit box of the Cooper (#6086) Beam weapons can now more reliably hit the Cooper --- changelog/3809.md | 2 ++ units/XES0102/XES0102_unit.bp | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/changelog/3809.md b/changelog/3809.md index f0b23fd02e..17fb9bd90d 100644 --- a/changelog/3809.md +++ b/changelog/3809.md @@ -89,6 +89,8 @@ - (#6042) Improve annotations for `OnMotionHorzEventChange` and `OnMotionVertEventChange` +- (#6086) Ensure that the Cooper's hitbox aligns with its model + ## Contributors With thanks to the following people who contributed through coding: diff --git a/units/XES0102/XES0102_unit.bp b/units/XES0102/XES0102_unit.bp index c7cc67b552..32eaf1ee0b 100644 --- a/units/XES0102/XES0102_unit.bp +++ b/units/XES0102/XES0102_unit.bp @@ -163,9 +163,8 @@ UnitBlueprint{ SelectionSizeZ = 1.3, SelectionThickness = 0.31, CollisionOffsetY = -0.25, - CollisionOffsetZ = 0.1, SizeX = 0.6, - SizeY = 0.65, + SizeY = 0.8, SizeZ = 2, StrategicIconName = "icon_ship2_antinavy", StrategicIconSortPriority = 165,