diff --git a/changelog/snippets/balance.6092.md b/changelog/snippets/balance.6092.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/units/UAB0304/UAB0304_unit.bp b/units/UAB0304/UAB0304_unit.bp index 275f8aec91c..5f066c8114a 100644 --- a/units/UAB0304/UAB0304_unit.bp +++ b/units/UAB0304/UAB0304_unit.bp @@ -43,8 +43,8 @@ UnitBlueprint{ AirThreatLevel = 0, ArmorType = "Structure", EconomyThreatLevel = 440, - Health = 10000, - MaxHealth = 10000, + Health = 5000, + MaxHealth = 5000, RegenRate = 0, SubThreatLevel = 0, SurfaceThreatLevel = 0, @@ -89,10 +89,10 @@ UnitBlueprint{ UniformScale = 0.055, }, Economy = { - BuildCostEnergy = 30000, - BuildCostMass = 3000, + BuildCostEnergy = 25500, + BuildCostMass = 2550, BuildRate = 120, - BuildTime = 4097, + BuildTime = 4100, BuildableCategory = { "BUILTBYQUANTUMGATE AEON" }, RebuildBonusIds = { "uab0304" }, }, @@ -186,12 +186,6 @@ UnitBlueprint{ SizeY = 1.5, SizeZ = 5, StrategicIconName = "icon_structure3_transport", - StrategicIconSortPriority = 175, - Transport = { - Class2AttachSize = 1, - Class3AttachSize = 1, - ClassGenericUpTo = 3, - }, Wreckage = { Blueprint = "/props/DefaultWreckage/DefaultWreckage_prop.bp", EnergyMult = 0, diff --git a/units/UAL0301/UAL0301_script.lua b/units/UAL0301/UAL0301_script.lua index e26355bbb47..6cf6f71a9e8 100644 --- a/units/UAL0301/UAL0301_script.lua +++ b/units/UAL0301/UAL0301_script.lua @@ -141,7 +141,7 @@ UAL0301 = ClassUnit(CommandUnit) { -- StabilitySupressant elseif enh == 'StabilitySuppressant' then local wep = self:GetWeaponByLabel('RightReactonCannon') - wep:AddDamageMod(bp.NewDamageMod or 0) + wep:AddDamageMod(bp.NewDamageMod or 200) wep:AddDamageRadiusMod(bp.NewDamageRadiusMod or 0) wep:ChangeMaxRadius(bp.NewMaxRadius or 40) elseif enh == 'StabilitySuppressantRemove' then diff --git a/units/UAL0301/UAL0301_unit.bp b/units/UAL0301/UAL0301_unit.bp index 385c7933d84..69e14266ba0 100644 --- a/units/UAL0301/UAL0301_unit.bp +++ b/units/UAL0301/UAL0301_unit.bp @@ -1,5 +1,5 @@ UnitBlueprint{ - Description = "Support Armored Command Unit", + Description = "Support Command Unit", AI = { GuardScanRadius = 26, }, @@ -56,9 +56,9 @@ UnitBlueprint{ AirThreatLevel = 0, ArmorType = "Normal", EconomyThreatLevel = 968, - Health = 15000, - MaxHealth = 15000, - RegenRate = 17, + Health = 12000, + MaxHealth = 12000, + RegenRate = 14, SubThreatLevel = 0, SurfaceThreatLevel = 30, }, @@ -69,6 +69,7 @@ UnitBlueprint{ "Engineering Suite", "Not Capturable", "Omni Sensor", + "Sacrifice", "Volatile", }, AnimationWalk = "/units/UAL0301/UAL0301_AWalk01.sca", @@ -187,19 +188,17 @@ UnitBlueprint{ }, }, Economy = { - BuildCostEnergy = 27100, - BuildCostMass = 1950, - BuildRate = 56, - BuildTime = 14400, + BuildCostEnergy = 27950, + BuildCostMass = 2150, + BuildRate = 40, + BuildTime = 14500, BuildableCategory = { "BUILTBYTIER3ENGINEER AEON" }, MaxBuildDistance = 10, NaturalProducer = true, ProductionPerSecondEnergy = 20, ProductionPerSecondMass = 1, - SacrificeEnergyMult = 0.9, - SacrificeMassMult = 0.9, - StorageEnergy = 500, - StorageMass = 275, + SacrificeEnergyMult = 0.8, + SacrificeMassMult = 0.8, TeleportEnergyMod = 5.16, TeleportMassMod = 0, TeleportTimeMod = 0.0001, @@ -208,24 +207,12 @@ UnitBlueprint{ EnhancementPresets = { Engineer = { Description = "SACU (Engineer preset)", - BuildIconSortPriority = 20, + BuildIconSortPriority = 5, Enhancements = { "EngineeringFocusingModule" }, HelpText = "Support Armored Command Unit. Enhanced during construction with the rapid replicator enhancement.", SortCategory = "SORTOTHER", UnitName = "SACU (Engineer preset)", }, - NanoCombat = { - Description = "SACU (Nano Combatant preset)", - BuildIconSortPriority = 25, - Enhancements = { - "StabilitySuppressant", - "SystemIntegrityCompensator", - }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the reacton refractor and nano-repair system enhancements.", - SortCategory = "SORTOTHER", - UnitName = "SACU (Nano Combatant preset)", - SelectionPriority = 1, - }, RAS = { Description = "SACU (RAS preset)", BuildIconSortPriority = 10, @@ -234,22 +221,30 @@ UnitBlueprint{ SortCategory = "SORTOTHER", UnitName = "SACU (RAS preset)", }, - Rambo = { - Description = "SACU (Rambo preset)", - BuildIconSortPriority = 35, + SimpleCombat = { + Description = "SACU (Combatant preset)", + BuildIconSortPriority = 15, + Enhancements = { "StabilitySuppressant" }, + HelpText = "Support Armored Command Unit. Enhanced during construction with the reacton refractor enhancement.", + SortCategory = "SORTOTHER", + UnitName = "SACU (Combatant preset)", + SelectionPriority = 1, + }, + NanoCombat = { + Description = "SACU (Nano Combatant preset)", + BuildIconSortPriority = 20, Enhancements = { "StabilitySuppressant", - "Shield", - "ShieldHeavy", + "SystemIntegrityCompensator", }, - HelpText = "Support Armored Command Unit. Enhanced during construction with a personal shield and the reacton refractor enhancements.", + HelpText = "Support Armored Command Unit. Enhanced during construction with the reacton refractor and nano-repair system enhancements.", SortCategory = "SORTOTHER", - UnitName = "SACU (Rambo preset)", + UnitName = "SACU (Nano Combatant preset)", SelectionPriority = 1, }, ShieldCombat = { Description = "SACU (Shield Combatant preset)", - BuildIconSortPriority = 30, + BuildIconSortPriority = 25, Enhancements = { "StabilitySuppressant", "Shield", @@ -259,86 +254,23 @@ UnitBlueprint{ UnitName = "SACU (Shield Combatant preset)", SelectionPriority = 1, }, - SimpleCombat = { - Description = "SACU (Combatant preset)", - BuildIconSortPriority = 15, - Enhancements = { "StabilitySuppressant" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the reacton refractor enhancement.", + Rambo = { + Description = "SACU (Rambo preset)", + BuildIconSortPriority = 30, + Enhancements = { + "StabilitySuppressant", + "Shield", + "ShieldHeavy", + }, + HelpText = "Support Armored Command Unit. Enhanced during construction with a personal shield and the reacton refractor enhancements.", SortCategory = "SORTOTHER", - UnitName = "SACU (Combatant preset)", + UnitName = "SACU (Rambo preset)", SelectionPriority = 1, }, }, Enhancements = { - EngineeringFocusingModule = { - BuildCostEnergy = 50500, - BuildCostMass = 800, - BuildTime = 4200, - Icon = "efm", - Name = "Rapid Fabricator", - NewBuildRate = 98, - Slot = "LCH", - UpgradeUnitAmbientBones = { "UAL0301" }, - }, - EngineeringFocusingModuleRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "efm", - Name = "Remove Rapid Fabricator", - Prerequisite = "EngineeringFocusingModule", - RemoveEnhancements = { - "EngineeringFocusingModule", - "EngineeringFocusingModuleRemove", - }, - Slot = "LCH", - }, - ResourceAllocation = { - BuildCostEnergy = 90000, - BuildCostMass = 4500, - BuildTime = 8400, - Icon = "ras", - Name = "Resource Allocation System", - ProductionPerSecondEnergy = 1000, - ProductionPerSecondMass = 10, - Slot = "RCH", - UpgradeUnitAmbientBones = { "UAL0301" }, - }, - ResourceAllocationRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "ras", - Name = "Remove Resource Allocation System", - Prerequisite = "ResourceAllocation", - RemoveEnhancements = { - "ResourceAllocation", - "ResourceAllocationRemove", - }, - Slot = "RCH", - }, - Sacrifice = { - BuildCostEnergy = 2500, - BuildCostMass = 150, - BuildTime = 700, - Icon = "sp", - Name = "Sacrificial System", - Slot = "LCH", - UpgradeUnitAmbientBones = { "UAL0301" }, - }, - SacrificeRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "sp", - Name = "Remove Sacrificial System", - Prerequisite = "Sacrifice", - RemoveEnhancements = { - "Sacrifice", - "SacrificeRemove", - }, - Slot = "LCH", - }, + + -- Back Slot Shield = { BuildCostEnergy = 64950, BuildCostMass = 1200, @@ -360,6 +292,20 @@ UnitBlueprint{ UpgradeEffectBones = { "Turbine" }, UpgradeUnitAmbientBones = { "UAL0301" }, }, + ShieldRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + HideBones = { "Turbine" }, + Icon = "tsg", + Name = "Remove Personal Shield", + Prerequisite = "Shield", + RemoveEnhancements = { + "Shield", + "ShieldRemove", + }, + Slot = "Back", + }, ShieldHeavy = { BuildCostEnergy = 100000, BuildCostMass = 1800, @@ -395,62 +341,6 @@ UnitBlueprint{ }, Slot = "Back", }, - ShieldRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "Turbine" }, - Icon = "tsg", - Name = "Remove Personal Shield", - Prerequisite = "Shield", - RemoveEnhancements = { - "Shield", - "ShieldRemove", - }, - Slot = "Back", - }, - Slots = { - Back = { - name = "", - x = -13, - y = -8, - }, - LCH = { - name = "", - x = 60, - y = 50, - }, - RCH = { - name = "", - x = -16, - y = 50, - }, - }, - StabilitySuppressant = { - BuildCostEnergy = 46200, - BuildCostMass = 1250, - BuildTime = 6048, - Icon = "ss", - Name = "Reacton Refractor", - NewDamageRadiusMod = 3.5, - NewMaxRadius = 40, - Slot = "RCH", - UpgradeUnitAmbientBones = { "UAL0301" }, - }, - StabilitySuppressantRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "ss", - Name = "Remove Reacton Refractor", - NewDamageRadiusMod = -4, - Prerequisite = "StabilitySuppressant", - RemoveEnhancements = { - "StabilitySuppressant", - "StabilitySuppressantRemove", - }, - Slot = "RCH", - }, SystemIntegrityCompensator = { BuildCostEnergy = 74000, BuildCostMass = 1500, @@ -477,6 +367,31 @@ UnitBlueprint{ }, Slot = "Back", }, + + -- Left Slot + EngineeringFocusingModule = { + BuildCostEnergy = 50500, + BuildCostMass = 800, + BuildTime = 4200, + Icon = "efm", + Name = "Rapid Fabricator", + NewBuildRate = 98, + Slot = "LCH", + UpgradeUnitAmbientBones = { "UAL0301" }, + }, + EngineeringFocusingModuleRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "efm", + Name = "Remove Rapid Fabricator", + Prerequisite = "EngineeringFocusingModule", + RemoveEnhancements = { + "EngineeringFocusingModule", + "EngineeringFocusingModuleRemove", + }, + Slot = "LCH", + }, Teleporter = { BuildCostEnergy = 1500000, BuildCostMass = 15000, @@ -484,16 +399,13 @@ UnitBlueprint{ Icon = "pqt", MaintenanceConsumptionPerSecondEnergy = 10000, Name = "Personal Teleporter", - ShowBones = { "Turbine" }, - Slot = "Back", - UpgradeEffectBones = { "Turbine" }, + Slot = "LCH", UpgradeUnitAmbientBones = { "UAL0301" }, }, TeleporterRemove = { BuildCostEnergy = 1, BuildCostMass = 1, BuildTime = 0.1, - HideBones = { "Turbine" }, Icon = "pqt", Name = "Remove Personal Teleporter", Prerequisite = "Teleporter", @@ -501,7 +413,78 @@ UnitBlueprint{ "Teleporter", "TeleporterRemove", }, - Slot = "Back", + Slot = "LCH", + }, + + -- Right Slot + ResourceAllocation = { + BuildCostEnergy = 90000, + BuildCostMass = 4500, + BuildTime = 8400, + Icon = "ras", + Name = "Resource Allocation System", + ProductionPerSecondEnergy = 1000, + ProductionPerSecondMass = 10, + Slot = "RCH", + UpgradeUnitAmbientBones = { "UAL0301" }, + }, + ResourceAllocationRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "ras", + Name = "Remove Resource Allocation System", + Prerequisite = "ResourceAllocation", + RemoveEnhancements = { + "ResourceAllocation", + "ResourceAllocationRemove", + }, + Slot = "RCH", + }, + StabilitySuppressant = { + BuildCostEnergy = 46200, + BuildCostMass = 1250, + BuildTime = 6048, + Icon = "ss", + Name = "Reacton Refractor", + NewDamageMod = 200; + NewDamageRadiusMod = 3.5, + NewMaxRadius = 40, + Slot = "RCH", + UpgradeUnitAmbientBones = { "UAL0301" }, + }, + StabilitySuppressantRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "ss", + Name = "Remove Reacton Refractor", + NewDamageRadiusMod = -4, + Prerequisite = "StabilitySuppressant", + RemoveEnhancements = { + "StabilitySuppressant", + "StabilitySuppressantRemove", + }, + Slot = "RCH", + }, + + + Slots = { + Back = { + name = "", + x = -13, + y = -8, + }, + LCH = { + name = "", + x = 60, + y = 50, + }, + RCH = { + name = "", + x = -16, + y = 50, + }, }, }, General = { @@ -523,7 +506,7 @@ UnitBlueprint{ RULEUCC_Reclaim = true, RULEUCC_Repair = true, RULEUCC_RetaliateToggle = true, - RULEUCC_Sacrifice = false, + RULEUCC_Sacrifice = true, RULEUCC_Stop = true, RULEUCC_Transport = false, }, @@ -588,13 +571,6 @@ UnitBlueprint{ CanFireFromTransport = false, TransportClass = 3, }, - Veteran = { - Level1 = 25, - Level2 = 50, - Level3 = 75, - Level4 = 100, - Level5 = 125, - }, Weapon = { { AboveWaterFireOnly = true, @@ -604,7 +580,7 @@ UnitBlueprint{ }, BallisticArc = "RULEUBA_LowArc", CollideFriendly = false, - Damage = 300, + Damage = 100, DamageType = "Normal", DisplayName = "Reacton Cannon", FireTargetLayerCapsTable = { @@ -613,7 +589,7 @@ UnitBlueprint{ }, FiringTolerance = 2, Label = "RightReactonCannon", - MaxRadius = 30, + MaxRadius = 25, MinRadius = 1, MuzzleChargeDelay = 0.1, MuzzleSalvoDelay = 0, @@ -713,9 +689,11 @@ UnitBlueprint{ WreckageLayers = { Air = false, Land = true, - Seabed = false, + Seabed = true, Sub = false, Water = false, }, }, -} \ No newline at end of file +} + +--TODO: Add Mini Chrono Dampener \ No newline at end of file diff --git a/units/UEA0003/UEA0003_unit.bp b/units/UEA0003/UEA0003_unit.bp index e63fedd5804..c69766ab05a 100644 --- a/units/UEA0003/UEA0003_unit.bp +++ b/units/UEA0003/UEA0003_unit.bp @@ -1,4 +1,5 @@ UnitBlueprint { + Description = 'Engineering Drone', AI = { InitialAutoMode = true, }, @@ -23,56 +24,16 @@ UnitBlueprint { StartTurnDistance = 5, }, Audio = { - AirUnitWaterImpact = Sound { - Bank = 'Explosions', - Cue = 'Expl_Water_Lrg_01', - LodCutoff = 'UnitMove_LodCutoff', - }, - AmbientMove = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Move_Loop', - LodCutoff = 'UnitMove_LodCutoff', - }, - Construct = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Construct_Start', - LodCutoff = 'UnitMove_LodCutoff', - }, - ConstructLoop = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Construct_Loop', - LodCutoff = 'UnitMove_LodCutoff', - }, - Killed = Sound { - Bank = 'UEADestroy', - Cue = 'UEA_Destroy_Air_Killed', - LodCutoff = 'UnitMove_LodCutoff', - }, - Landing = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Move_Land', - LodCutoff = 'UnitMove_LodCutoff', - }, - StartMove = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Move_Start', - LodCutoff = 'UnitMove_LodCutoff', - }, - StopMove = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Move_Stop', - LodCutoff = 'UnitMove_LodCutoff', - }, - Thruster = Sound { - Bank = 'UEA', - Cue = 'UEA0001_Move_Thruster', - LodCutoff = 'UnitMove_LodCutoff', - }, - UISelection = Sound { - Bank = 'Interface', - Cue = 'UEF_Select_Air', - LodCutoff = 'UnitMove_LodCutoff', - }, + AirUnitWaterImpact = Sound { Bank = 'Explosions', Cue = 'Expl_Water_Lrg_01', LodCutoff = 'UnitMove_LodCutoff' }, + AmbientMove = Sound { Bank = 'UEA', Cue = 'UEA0001_Move_Loop', LodCutoff = 'UnitMove_LodCutoff' }, + Construct = Sound { Bank = 'UEA', Cue = 'UEA0001_Construct_Start', LodCutoff = 'UnitMove_LodCutoff' }, + ConstructLoop = Sound { Bank = 'UEA', Cue = 'UEA0001_Construct_Loop', LodCutoff = 'UnitMove_LodCutoff' }, + Killed = Sound { Bank = 'UEADestroy', Cue = 'UEA_Destroy_Air_Killed', LodCutoff = 'UnitMove_LodCutoff' }, + Landing = Sound { Bank = 'UEA', Cue = 'UEA0001_Move_Land', LodCutoff = 'UnitMove_LodCutoff' }, + StartMove = Sound { Bank = 'UEA', Cue = 'UEA0001_Move_Start', LodCutoff = 'UnitMove_LodCutoff' }, + StopMove = Sound { Bank = 'UEA', Cue = 'UEA0001_Move_Stop', LodCutoff = 'UnitMove_LodCutoff' }, + Thruster = Sound { Bank = 'UEA', Cue = 'UEA0001_Move_Thruster', LodCutoff = 'UnitMove_LodCutoff' }, + UISelection = Sound { Bank = 'Interface', Cue = 'UEF_Select_Air', LodCutoff = 'UnitMove_LodCutoff' }, }, Categories = { 'SELECTABLE', @@ -94,13 +55,12 @@ UnitBlueprint { AirThreatLevel = 0, ArmorType = 'Light', EconomyThreatLevel = 1, - Health = 50, - MaxHealth = 50, + Health = 100, + MaxHealth = 100, RegenRate = 0, SubThreatLevel = 0, SurfaceThreatLevel = 0, }, - Description = 'Engineering Drone', Display = { Abilities = { 'Engineering Suite', @@ -125,8 +85,8 @@ UnitBlueprint { Economy = { BuildCostEnergy = 1600, BuildCostMass = 160, - BuildRadius = 8, - BuildRate = 35, + BuildRadius = 12, + BuildRate = 45, BuildTime = 400, BuildableCategory = { 'BUILTBYTIER3ENGINEER UEF', @@ -182,7 +142,7 @@ UnitBlueprint { UnitWeight = 1, }, Intel = { - VisionRadius = 12, + VisionRadius = 14, }, Interface = { HelpText = 'Engineering Drone', @@ -246,7 +206,7 @@ UnitBlueprint { WreckageLayers = { Air = false, Land = true, - Seabed = false, + Seabed = true, Sub = false, Water = false, }, diff --git a/units/UEB0304/UEB0304_unit.bp b/units/UEB0304/UEB0304_unit.bp index 66f357e186d..1f7aec5e11b 100644 --- a/units/UEB0304/UEB0304_unit.bp +++ b/units/UEB0304/UEB0304_unit.bp @@ -41,8 +41,8 @@ UnitBlueprint{ AirThreatLevel = 0, ArmorType = "Structure", EconomyThreatLevel = 440, - Health = 10000, - MaxHealth = 10000, + Health = 5000, + MaxHealth = 5000, RegenRate = 0, SubThreatLevel = 0, SurfaceThreatLevel = 0, @@ -79,10 +79,10 @@ UnitBlueprint{ UniformScale = 0.07, }, Economy = { - BuildCostEnergy = 30000, - BuildCostMass = 3000, + BuildCostEnergy = 25500, + BuildCostMass = 2550, BuildRate = 120, - BuildTime = 4097, + BuildTime = 4100, BuildableCategory = { "BUILTBYQUANTUMGATE UEF" }, RebuildBonusIds = { "ueb0304" }, }, @@ -174,11 +174,6 @@ UnitBlueprint{ SizeZ = 1.5, StrategicIconName = "icon_structure3_transport", StrategicIconSortPriority = 175, - Transport = { - Class2AttachSize = 1, - Class3AttachSize = 1, - ClassGenericUpTo = 3, - }, Wreckage = { Blueprint = "/props/DefaultWreckage/DefaultWreckage_prop.bp", EnergyMult = 0, diff --git a/units/UEL0301/UEL0301_script.lua b/units/UEL0301/UEL0301_script.lua index 2f067403142..5ae9f75eed6 100644 --- a/units/UEL0301/UEL0301_script.lua +++ b/units/UEL0301/UEL0301_script.lua @@ -5,7 +5,6 @@ -- Copyright © 2005 Gas Powered Games, Inc. All rights reserved. ----------------------------------------------------------------- -local Shield = import("/lua/shield.lua").Shield local EffectUtil = import("/lua/effectutilities.lua") local CommandUnit = import("/lua/defaultunits.lua").CommandUnit local TWeapons = import("/lua/terranweapons.lua") @@ -16,9 +15,7 @@ local SCUDeathWeapon = import("/lua/sim/defaultweapons.lua").SCUDeathWeapon UEL0301 = ClassUnit(CommandUnit) { IntelEffects = { { - Bones = { - 'Jetpack', - }, + Bones = { 'Jetpack' }, Scale = 0.5, Type = 'Jammer01', }, @@ -29,6 +26,7 @@ UEL0301 = ClassUnit(CommandUnit) { DeathWeapon = ClassWeapon(SCUDeathWeapon) {}, }, + ---@param self UEL0301 OnCreate = function(self) CommandUnit.OnCreate(self) self:SetCapturable(false) @@ -37,16 +35,21 @@ UEL0301 = ClassUnit(CommandUnit) { self:SetupBuildBones() end, + ---@param self UEL0301 __init = function(self) CommandUnit.__init(self, 'RightHeavyPlasmaCannon') end, + ---@param self UEL0301 + ---@param builder Unit + ---@param layer string OnStopBeingBuilt = function(self, builder, layer) CommandUnit.OnStopBeingBuilt(self, builder, layer) - -- Block Jammer until Enhancement is built - self:DisableUnitIntel('Enhancement', 'Jammer') end, + ---@param self UEL0301 + ---@param unitBeingBuilt Unit + ---@param order? string # unused CreateBuildEffects = function(self, unitBeingBuilt, order) -- Different effect if we have building cube if unitBeingBuilt.BuildingCube then @@ -56,6 +59,7 @@ UEL0301 = ClassUnit(CommandUnit) { end end, + ---@param self UEL0301 RebuildPod = function(self) if self.HasPod == true then self.RebuildingPod = CreateEconomyEvent(self, 1600, 160, 10, self.SetWorkProgress) @@ -73,6 +77,9 @@ UEL0301 = ClassUnit(CommandUnit) { end end, + ---@param self UEL0301 + ---@param pod Unit # unused + ---@param rebuildDrone boolean NotifyOfPodDeath = function(self, pod, rebuildDrone) if rebuildDrone == true then if self.HasPod == true then @@ -99,6 +106,8 @@ UEL0301 = ClassUnit(CommandUnit) { attachee:SetDoNotTarget(false) end, + ---@param self UEL0301 + ---@param enh string CreateEnhancement = function(self, enh) CommandUnit.CreateEnhancement(self, enh) local bp = self:GetBlueprint().Enhancements[enh] @@ -157,29 +166,22 @@ UEL0301 = ClassUnit(CommandUnit) { self:SetProductionPerSecondEnergy(bpEcon.ProductionPerSecondEnergy or 0) self:SetProductionPerSecondMass(bpEcon.ProductionPerSecondMass or 0) elseif enh == 'SensorRangeEnhancer' then - self:SetIntelRadius('Vision', bp.NewVisionRadius or 104) - self:SetIntelRadius('Omni', bp.NewOmniRadius or 104) + self:SetIntelRadius('Vision', bp.NewVisionRadius or 26) + self:SetIntelRadius('Omni', bp.NewOmniRadius or 16) + self:SetIntelRadius('Jammer', bp.NewJammerRadius or 26) elseif enh == 'SensorRangeEnhancerRemove' then local bpIntel = self:GetBlueprint().Intel self:SetIntelRadius('Vision', bpIntel.VisionRadius or 26) - self:SetIntelRadius('Omni', bpIntel.OmniRadius or 26) - elseif enh == 'RadarJammer' then + self:SetIntelRadius('Omni', bpIntel.OmniRadius or 16) self:SetIntelRadius('Jammer', bp.NewJammerRadius or 26) - self.RadarJammerEnh = true - self:EnableUnitIntel('Enhancement', 'Jammer') - self:AddToggleCap('RULEUTC_JammingToggle') - elseif enh == 'RadarJammerRemove' then - local bpIntel = self:GetBlueprint().Intel - self:SetIntelRadius('Jammer', 0) - self:DisableUnitIntel('Enhancement', 'Jammer') - self.RadarJammerEnh = false - self:RemoveToggleCap('RULEUTC_JammingToggle') elseif enh =='AdvancedCoolingUpgrade' then local wep = self:GetWeaponByLabel('RightHeavyPlasmaCannon') wep:ChangeRateOfFire(bp.NewRateOfFire) + wep:AddDamageMod(bp.NewDamageMod or 200) elseif enh =='AdvancedCoolingUpgradeRemove' then local wep = self:GetWeaponByLabel('RightHeavyPlasmaCannon') wep:ChangeRateOfFire(self:GetBlueprint().Weapon[1].RateOfFire or 1) + wep:AddDamageMod(-self.Blueprint.Enhancements['AdvancedCoolingUpgrade'].NewDamageMod or -200) elseif enh =='HighExplosiveOrdnance' then local wep = self:GetWeaponByLabel('RightHeavyPlasmaCannon') wep:AddDamageRadiusMod(bp.NewDamageRadius) @@ -190,28 +192,12 @@ UEL0301 = ClassUnit(CommandUnit) { wep:ChangeMaxRadius(bp.NewMaxRadius or 25) end end, - - OnIntelEnabled = function(self, intel) - CommandUnit.OnIntelEnabled(self, intel) - if self.RadarJammerEnh and self:IsIntelEnabled('Jammer') then - if self.IntelEffects then - self.IntelEffectsBag = {} - self:CreateTerrainTypeEffects(self.IntelEffects, 'FXIdle', self.Layer, nil, self.IntelEffectsBag) - end - self:SetEnergyMaintenanceConsumptionOverride(self:GetBlueprint().Enhancements['RadarJammer'].MaintenanceConsumptionPerSecondEnergy or 0) - self:SetMaintenanceConsumptionActive() - end - end, - - OnIntelDisabled = function(self, intel) - CommandUnit.OnIntelDisabled(self, intel) - if self.RadarJammerEnh and not self:IsIntelEnabled('Jammer') then - self:SetMaintenanceConsumptionInactive() - if self.IntelEffectsBag then - EffectUtil.CleanupEffectBag(self, 'IntelEffectsBag') - end - end - end, } TypeClass = UEL0301 + +--#region Kept for Mod Support +local Shield = import("/lua/shield.lua").Shield + + +--#endregion \ No newline at end of file diff --git a/units/UEL0301/UEL0301_unit.bp b/units/UEL0301/UEL0301_unit.bp index 5ae03905333..faf33000ec9 100644 --- a/units/UEL0301/UEL0301_unit.bp +++ b/units/UEL0301/UEL0301_unit.bp @@ -1,5 +1,5 @@ UnitBlueprint{ - Description = "Support Armored Command Unit", + Description = "Support Command Unit", AI = { GuardScanRadius = 26, TargetBones = { @@ -57,12 +57,11 @@ UnitBlueprint{ "SNIPEMODE", }, Defense = { - AirThreatLevel = 0, ArmorType = "Normal", EconomyThreatLevel = 1028, - Health = 16000, - MaxHealth = 16000, - RegenRate = 20, + Health = 13000, + MaxHealth = 13000, + RegenRate = 16, SubThreatLevel = 0, SurfaceThreatLevel = 30, }, @@ -73,6 +72,7 @@ UnitBlueprint{ "Engineering Suite", "Not Capturable", "Omni Sensor", + "Jamming", "Volatile", }, AnimationWalk = "/units/uel0301/uel0301_awalk01.sca", @@ -174,34 +174,36 @@ UnitBlueprint{ }, }, Economy = { - BuildCostEnergy = 25200, + BuildCostEnergy = 27300, BuildCostMass = 2100, - BuildRate = 56, - BuildTime = 14400, + BuildRate = 40, + BuildTime = 14500, BuildableCategory = { "BUILTBYTIER3ENGINEER UEF" }, MaintenanceConsumptionPerSecondEnergy = 0, MaxBuildDistance = 10, NaturalProducer = true, ProductionPerSecondEnergy = 20, ProductionPerSecondMass = 1, - StorageEnergy = 500, - StorageMass = 275, TeleportEnergyMod = 4, TeleportMassMod = 3, TeleportTimeMod = 0.0001, }, EnhancementPresets = { - BubbleShield = { - Description = "SACU (Shield preset)", - BuildIconSortPriority = 30, - Enhancements = { - "Shield", - "ShieldGeneratorField", - }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the bubble shield generator enhancement.", + Engineer = { + Description = "SACU (Engineer preset)", + BuildIconSortPriority = 5, + Enhancements = { "Pod" }, + HelpText = "Support Armored Command Unit. Enhanced during construction with the engineering drone enhancement.", SortCategory = "SORTOTHER", - UnitName = "SACU (Shield preset)", - SelectionPriority = 1, + UnitName = "SACU (Engineer preset)", + }, + RAS = { + Description = "SACU (RAS preset)", + BuildIconSortPriority = 10, + Enhancements = { "ResourceAllocation" }, + HelpText = "Support Armored Command Unit. Enhanced during construction with a Resource Allocation System.", + SortCategory = "SORTOTHER", + UnitName = "SACU (RAS preset)", }, Combat = { Description = "SACU (Combatant preset)", @@ -215,32 +217,17 @@ UnitBlueprint{ UnitName = "SACU (Combatant preset)", SelectionPriority = 1, }, - Engineer = { - Description = "SACU (Engineer preset)", + BubbleShield = { + Description = "SACU (Shield preset)", BuildIconSortPriority = 20, - Enhancements = { "Pod" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the engineering drone enhancement.", - SortCategory = "SORTOTHER", - UnitName = "SACU (Engineer preset)", - }, - IntelJammer = { - Description = "SACU (Intel Jammer preset)", - BuildIconSortPriority = 35, Enhancements = { - "RadarJammer", - "SensorRangeEnhancer", + "Shield", + "ShieldGeneratorField", }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the radar jammer and enhanced sensor system enhancements.", - SortCategory = "SORTOTHER", - UnitName = "SACU (Intel Jammer preset)", - }, - RAS = { - Description = "SACU (RAS preset)", - BuildIconSortPriority = 10, - Enhancements = { "ResourceAllocation" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with a Resource Allocation System.", + HelpText = "Support Armored Command Unit. Enhanced during construction with the bubble shield generator enhancement.", SortCategory = "SORTOTHER", - UnitName = "SACU (RAS preset)", + UnitName = "SACU (Shield preset)", + SelectionPriority = 1, }, Rambo = { Description = "SACU (Rambo preset)", @@ -257,62 +244,8 @@ UnitBlueprint{ }, }, Enhancements = { - AdvancedCoolingUpgrade = { - BuildCostEnergy = 44700, - BuildCostMass = 1000, - BuildTime = 5040, - Icon = "acu", - Name = "Energy Accelerator", - NewRateOfFire = 1.82, - Slot = "LCH", - UpgradeUnitAmbientBones = { "UEL0301" }, - }, - AdvancedCoolingUpgradeRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "SAM" }, - Icon = "acu", - Name = "Remove Energy Accelerator", - Prerequisite = "AdvancedCoolingUpgrade", - RemoveEnhancements = { - "AdvancedCoolingUpgrade", - "AdvancedCoolingUpgradeRemove", - }, - Slot = "LCH", - }, - HighExplosiveOrdnance = { - BuildCostEnergy = 30000, - BuildCostMass = 800, - BuildTime = 3360, - Icon = "heo", - Name = "Heavy Plasma Refractor", - NewDamageRadius = 2, - NewMaxRadius = 35, - ShowBones = { "SAM" }, - Slot = "RCH", - UpgradeEffectBones = { - "SAM", - "Cannon_Muzzle", - }, - UpgradeUnitAmbientBones = { "UEL0301" }, - }, - HighExplosiveOrdnanceRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "SAM" }, - Icon = "heo", - Name = "Remove Heavy Plasma Refractor", - NewDamageRadius = -2, - NewMaxRadius = 25, - Prerequisite = "HighExplosiveOrdnance", - RemoveEnhancements = { - "HighExplosiveOrdnance", - "HighExplosiveOrdnanceRemove", - }, - Slot = "RCH", - }, + + -- Back Slot Pod = { BuildCostEnergy = 8700, BuildCostMass = 380, @@ -336,87 +269,7 @@ UnitBlueprint{ }, Slot = "Back", }, - RadarJammer = { - BuildCostEnergy = 8000, - BuildCostMass = 300, - BuildTime = 2500, - Icon = "rj", - MaintenanceConsumptionPerSecondEnergy = 100, - Name = "Radar Jammer", - NewJammerRadius = 26, - ShowBones = { "Jetpack" }, - Slot = "Back", - UpgradeEffectBones = { "Jetpack" }, - UpgradeUnitAmbientBones = { "UEL0301" }, - }, - RadarJammerRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "Jetpack" }, - Icon = "rj", - Name = "Remove Radar Jammer", - Prerequisite = "RadarJammer", - RemoveEnhancements = { - "RadarJammer", - "RadarJammerRemove", - }, - Slot = "Back", - }, - ResourceAllocation = { - BuildCostEnergy = 90000, - BuildCostMass = 4500, - BuildTime = 8400, - Icon = "isb", - Name = "Resource Allocation System", - ProductionPerSecondEnergy = 1000, - ProductionPerSecondMass = 10, - ShowBones = { "SAM" }, - Slot = "RCH", - UpgradeEffectBones = { "SAM" }, - UpgradeUnitAmbientBones = { "UEL0301" }, - }, - ResourceAllocationRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "SAM" }, - Icon = "isb", - Name = "Remove Resource Allocation System", - Prerequisite = "ResourceAllocation", - RemoveEnhancements = { - "ResourceAllocation", - "ResourceAllocationRemove", - }, - Slot = "RCH", - }, - SensorRangeEnhancer = { - BuildCostEnergy = 20000, - BuildCostMass = 600, - BuildTime = 3000, - Icon = "sre", - Name = "Enhanced Sensor System", - NewOmniRadius = 80, - NewVisionRadius = 45, - ShowBones = { "SAM" }, - Slot = "LCH", - UpgradeEffectBones = { "SAM" }, - UpgradeUnitAmbientBones = { "UEL0301" }, - }, - SensorRangeEnhancerRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - HideBones = { "SAM" }, - Icon = "sre", - Name = "Remove Enhanced Sensor System", - Prerequisite = "SensorRangeEnhancer", - RemoveEnhancements = { - "SensorRangeEnhancer", - "SensorRangeEnhancerRemove", - }, - Slot = "LCH", - }, + Shield = { BuildCostEnergy = 100200, BuildCostMass = 2000, @@ -444,6 +297,21 @@ UnitBlueprint{ }, UpgradeUnitAmbientBones = { "UEL0301" }, }, + ShieldRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + HideBones = { "Jetpack" }, + Icon = "psg", + Name = "Remove Personal Shield Generator", + Prerequisite = "Shield", + RemoveEnhancements = { + "Shield", + "ShieldRemove", + }, + Slot = "Back", + }, + ShieldGeneratorField = { BuildCostEnergy = 360800, BuildCostMass = 3500, @@ -483,20 +351,129 @@ UnitBlueprint{ }, Slot = "Back", }, - ShieldRemove = { + + -- Left Slot -- + + -- Gun Fire Rate and Damage + AdvancedCoolingUpgrade = { + BuildCostEnergy = 44700, + BuildCostMass = 1000, + BuildTime = 5040, + Icon = "acu", + Name = "Energy Accelerator", + NewRateOfFire = 1.8, + NewDamageMod = 200, + Slot = "LCH", + UpgradeUnitAmbientBones = { "UEL0301" }, + }, + AdvancedCoolingUpgradeRemove = { BuildCostEnergy = 1, BuildCostMass = 1, BuildTime = 0.1, - HideBones = { "Jetpack" }, - Icon = "psg", - Name = "Remove Personal Shield Generator", - Prerequisite = "Shield", + HideBones = { "SAM" }, + Icon = "acu", + Name = "Remove Energy Accelerator", + Prerequisite = "AdvancedCoolingUpgrade", RemoveEnhancements = { - "Shield", - "ShieldRemove", + "AdvancedCoolingUpgrade", + "AdvancedCoolingUpgradeRemove", }, - Slot = "Back", + Slot = "LCH", + }, + + SensorRangeEnhancer = { + BuildCostEnergy = 20000, + BuildCostMass = 600, + BuildTime = 3000, + Icon = "sre", + Name = "Enhanced Sensor System", + NewOmniRadius = 80, + NewVisionRadius = 45, + NewJammerRadius = 26, + ShowBones = { "SAM" }, + Slot = "LCH", + UpgradeEffectBones = { "SAM" }, + UpgradeUnitAmbientBones = { "UEL0301" }, }, + SensorRangeEnhancerRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + HideBones = { "SAM" }, + Icon = "sre", + Name = "Remove Enhanced Sensor System", + Prerequisite = "SensorRangeEnhancer", + RemoveEnhancements = { + "SensorRangeEnhancer", + "SensorRangeEnhancerRemove", + }, + Slot = "LCH", + }, + + -- Right Slot -- + + -- Gun Splash Radius and Range + HighExplosiveOrdnance = { + BuildCostEnergy = 30000, + BuildCostMass = 800, + BuildTime = 3360, + Icon = "heo", + Name = "Heavy Plasma Refractor", + NewDamageRadius = 2, + NewMaxRadius = 35, + ShowBones = { "SAM" }, + Slot = "RCH", + UpgradeEffectBones = { + "SAM", + "Cannon_Muzzle", + }, + UpgradeUnitAmbientBones = { "UEL0301" }, + }, + HighExplosiveOrdnanceRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + HideBones = { "SAM" }, + Icon = "heo", + Name = "Remove Heavy Plasma Refractor", + NewDamageRadius = -2, + NewMaxRadius = 25, + Prerequisite = "HighExplosiveOrdnance", + RemoveEnhancements = { + "HighExplosiveOrdnance", + "HighExplosiveOrdnanceRemove", + }, + Slot = "RCH", + }, + + ResourceAllocation = { + BuildCostEnergy = 90000, + BuildCostMass = 4500, + BuildTime = 8400, + Icon = "isb", + Name = "Resource Allocation System", + ProductionPerSecondEnergy = 1000, + ProductionPerSecondMass = 10, + ShowBones = { "SAM" }, + Slot = "RCH", + UpgradeEffectBones = { "SAM" }, + UpgradeUnitAmbientBones = { "UEL0301" }, + }, + ResourceAllocationRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + HideBones = { "SAM" }, + Icon = "isb", + Name = "Remove Resource Allocation System", + Prerequisite = "ResourceAllocation", + RemoveEnhancements = { + "ResourceAllocation", + "ResourceAllocationRemove", + }, + Slot = "RCH", + }, + Slots = { Back = { name = "", @@ -540,19 +517,29 @@ UnitBlueprint{ ConstructionBar = true, FactionName = "UEF", Icon = "amph", + OrderOverrides = { + RULEUCC_JammingToggle = { + bitmapId = "jamming", + helpText = "toggle_jamming", + }, + }, + ToggleCaps = {RULEUCC_JammingToggle = true}, SelectionPriority = 3, }, Intel = { - ActiveIntel = { Omni = true }, + ActiveIntel = { + Omni = true, + Jamming = true, + }, FreeIntel = false, JamRadius = { - Max = 26, - Min = 26, + Max = 15, + Min = 15, }, JammerBlips = 10, OmniRadius = 16, VisionRadius = 26, - WaterVisionRadius = 24, + WaterVisionRadius = 26, }, LifeBarHeight = 0.075, LifeBarOffset = 0.5, @@ -598,13 +585,6 @@ UnitBlueprint{ ClassSAttachSize = 0, TransportClass = 3, }, - Veteran = { - Level1 = 25, - Level2 = 50, - Level3 = 75, - Level4 = 100, - Level5 = 125, - }, Weapon = { { AboveWaterFireOnly = true, @@ -614,7 +594,7 @@ UnitBlueprint{ }, BallisticArc = "RULEUBA_LowArc", CollideFriendly = false, - Damage = 300, + Damage = 100, DamageRadius = 0, DamageType = "Normal", DisplayName = "Heavy Plasma Cannon", @@ -674,7 +654,7 @@ UnitBlueprint{ }, { CollideFriendly = false, - Damage = 1000, + Damage = 1500, DamageFriendly = true, DamageRadius = 10, DamageType = "DeathExplosion", @@ -709,7 +689,7 @@ UnitBlueprint{ WreckageLayers = { Air = false, Land = true, - Seabed = false, + Seabed = true, Sub = false, Water = false, }, diff --git a/units/URB0304/URB0304_unit.bp b/units/URB0304/URB0304_unit.bp index 9d213779fb6..20f592ac3a1 100644 --- a/units/URB0304/URB0304_unit.bp +++ b/units/URB0304/URB0304_unit.bp @@ -42,8 +42,8 @@ UnitBlueprint{ AirThreatLevel = 0, ArmorType = "Structure", EconomyThreatLevel = 440, - Health = 10000, - MaxHealth = 10000, + Health = 5000, + MaxHealth = 5000, RegenRate = 0, SubThreatLevel = 0, SurfaceThreatLevel = 0, @@ -80,10 +80,10 @@ UnitBlueprint{ UniformScale = 0.07, }, Economy = { - BuildCostEnergy = 30000, - BuildCostMass = 3000, + BuildCostEnergy = 25500, + BuildCostMass = 2550, BuildRate = 120, - BuildTime = 4097, + BuildTime = 4100, BuildableCategory = { "BUILTBYQUANTUMGATE CYBRAN" }, RebuildBonusIds = { "urb0304" }, }, @@ -174,11 +174,6 @@ UnitBlueprint{ SizeZ = 3.5, StrategicIconName = "icon_structure3_transport", StrategicIconSortPriority = 175, - Transport = { - Class2AttachSize = 1, - Class3AttachSize = 1, - ClassGenericUpTo = 3, - }, Wreckage = { Blueprint = "/props/DefaultWreckage/DefaultWreckage_prop.bp", EnergyMult = 0, diff --git a/units/URL0301/URL0301_script.lua b/units/URL0301/URL0301_script.lua index 6bbfb17741b..48224cbbdd2 100644 --- a/units/URL0301/URL0301_script.lua +++ b/units/URL0301/URL0301_script.lua @@ -41,7 +41,52 @@ URL0301 = ClassUnit(CCommandUnit) { NMissile = ClassWeapon(CAAMissileNaniteWeapon) {}, }, - -- Creation + IntelEffects = { + Cloak = { + { + Bones = { + 'Head', + 'Right_Elbow', + 'Left_Elbow', + 'Right_Arm01', + 'Left_Shoulder', + 'Torso', + 'URL0301', + 'Left_Thigh', + 'Left_Knee', + 'Left_Leg', + 'Right_Thigh', + 'Right_Knee', + 'Right_Leg', + }, + Scale = 1.0, + Type = 'Cloak01', + }, + }, + Field = { + { + Bones = { + 'Head', + 'Right_Elbow', + 'Left_Elbow', + 'Right_Arm01', + 'Left_Shoulder', + 'Torso', + 'URL0301', + 'Left_Thigh', + 'Left_Knee', + 'Left_Leg', + 'Right_Thigh', + 'Right_Knee', + 'Right_Leg', + }, + Scale = 1.6, + Type = 'Cloak01', + }, + }, + }, + + ---@param self URL0301 OnCreate = function(self) CCommandUnit.OnCreate(self) self:SetCapturable(false) @@ -57,30 +102,59 @@ URL0301 = ClassUnit(CCommandUnit) { self.IntelButtonSet = true end, + ---@param self URL0301 __init = function(self) CCommandUnit.__init(self, 'RightDisintegrator') end, + ---@param self URL0301 + ---@param builder Unit + ---@param layer string OnStopBeingBuilt = function(self, builder, layer) CCommandUnit.OnStopBeingBuilt(self, builder, layer) self:BuildManipulatorSetEnabled(false) self:SetMaintenanceConsumptionInactive() - self:DisableUnitIntel('Enhancement', 'RadarStealth') - self:DisableUnitIntel('Enhancement', 'SonarStealth') self:DisableUnitIntel('Enhancement', 'Cloak') self.LeftArmUpgrade = 'EngineeringArm' self.RightArmUpgrade = 'Disintegrator' end, - -- Enhancements + ---@param self URL0301 + ---@param intel string + OnIntelEnabled = function(self, intel) + CCommandUnit.OnIntelEnabled(self, intel) + if self.CloakEnh and self:IsIntelEnabled('Cloak') then + self:SetEnergyMaintenanceConsumptionOverride(self.Blueprint.Enhancements['CloakingGenerator'].MaintenanceConsumptionPerSecondEnergy + or 0) + self:SetMaintenanceConsumptionActive() + if not self.IntelEffectsBag then + self.IntelEffectsBag = {} + self:CreateTerrainTypeEffects(self.IntelEffects.Cloak, 'FXIdle', self.Layer, nil, self.IntelEffectsBag) + end + end + end, + + ---@param self URL0301 + ---@param intel string + OnIntelDisabled = function(self, intel) + CCommandUnit.OnIntelDisabled(self, intel) + if self.IntelEffectsBag then + EffectUtil.CleanupEffectBag(self, 'IntelEffectsBag') + self.IntelEffectsBag = nil + end + if self.CloakEnh and not self:IsIntelEnabled('Cloak') then + self:SetMaintenanceConsumptionInactive() + end + end, + + ---@param self URL0301 + ---@param enh string CreateEnhancement = function(self, enh) CCommandUnit.CreateEnhancement(self, enh) local bp = self.Blueprint.Enhancements[enh] if not bp then return end if enh == 'CloakingGenerator' then - self:RemoveToggleCap('RULEUTC_StealthToggle') self:AddToggleCap('RULEUTC_CloakToggle') - self.StealthEnh = false self.CloakEnh = true self:EnableUnitIntel('Enhancement', 'Cloak') if not Buffs['CybranSCUCloakBonus'] then @@ -104,28 +178,11 @@ URL0301 = ClassUnit(CCommandUnit) { Buff.ApplyBuff(self, 'CybranSCUCloakBonus') elseif enh == 'CloakingGeneratorRemove' then self:DisableUnitIntel('Enhancement', 'Cloak') - self.StealthEnh = false self.CloakEnh = false self:RemoveToggleCap('RULEUTC_CloakToggle') if Buff.HasBuff(self, 'CybranSCUCloakBonus') then Buff.RemoveBuff(self, 'CybranSCUCloakBonus') end - elseif enh == 'StealthGenerator' then - self:AddToggleCap('RULEUTC_StealthToggle') - if self.IntelEffectsBag then - EffectUtil.CleanupEffectBag(self, 'IntelEffectsBag') - self.IntelEffectsBag = nil - end - self.CloakEnh = false - self.StealthEnh = true - self:EnableUnitIntel('Enhancement', 'RadarStealth') - self:EnableUnitIntel('Enhancement', 'SonarStealth') - elseif enh == 'StealthGeneratorRemove' then - self:RemoveToggleCap('RULEUTC_StealthToggle') - self:DisableUnitIntel('Enhancement', 'RadarStealth') - self:DisableUnitIntel('Enhancement', 'SonarStealth') - self.StealthEnh = false - self.CloakEnh = false elseif enh == 'NaniteMissileSystem' then self:ShowBone('AA_Gun', true) self:SetWeaponEnabledByLabel('NMissile', true) @@ -161,12 +218,16 @@ URL0301 = ClassUnit(CCommandUnit) { end elseif enh == 'ResourceAllocation' then local bpEcon = self.Blueprint.Economy + local bpWeap = self:GetWeaponByLabel('DeathWeapon') self:SetProductionPerSecondEnergy((bp.ProductionPerSecondEnergy + bpEcon.ProductionPerSecondEnergy) or 0) self:SetProductionPerSecondMass((bp.ProductionPerSecondMass + bpEcon.ProductionPerSecondMass) or 0) + bpWeap:AddDamageMod(bp.NewDeathDamageMod or 5000) elseif enh == 'ResourceAllocationRemove' then local bpEcon = self.Blueprint.Economy + local bpWeap = self:GetWeaponByLabel('DeathWeapon') self:SetProductionPerSecondEnergy(bpEcon.ProductionPerSecondEnergy or 0) self:SetProductionPerSecondMass(bpEcon.ProductionPerSecondMass or 0) + bpWeap:AddDamageMod(bpWeap.Damage or 2500) elseif enh == 'Switchback' then self.BuildBotTotal = 4 if not Buffs['CybranSCUBuildRate'] then @@ -192,7 +253,7 @@ URL0301 = ClassUnit(CCommandUnit) { end elseif enh == 'FocusConvertor' then local wep = self:GetWeaponByLabel('RightDisintegrator') - wep:AddDamageMod(bp.NewDamageMod or 0) + wep:AddDamageMod(bp.NewDamageMod or 400) wep:ChangeMaxRadius(bp.NewMaxRadius or 35) elseif enh == 'FocusConvertorRemove' then local wep = self:GetWeaponByLabel('RightDisintegrator') @@ -206,85 +267,5 @@ URL0301 = ClassUnit(CCommandUnit) { wep:DisableBuff('STUN') end end, - - IntelEffects = { - Cloak = { - { - Bones = { - 'Head', - 'Right_Elbow', - 'Left_Elbow', - 'Right_Arm01', - 'Left_Shoulder', - 'Torso', - 'URL0301', - 'Left_Thigh', - 'Left_Knee', - 'Left_Leg', - 'Right_Thigh', - 'Right_Knee', - 'Right_Leg', - }, - Scale = 1.0, - Type = 'Cloak01', - }, - }, - Field = { - { - Bones = { - 'Head', - 'Right_Elbow', - 'Left_Elbow', - 'Right_Arm01', - 'Left_Shoulder', - 'Torso', - 'URL0301', - 'Left_Thigh', - 'Left_Knee', - 'Left_Leg', - 'Right_Thigh', - 'Right_Knee', - 'Right_Leg', - }, - Scale = 1.6, - Type = 'Cloak01', - }, - }, - }, - - OnIntelEnabled = function(self, intel) - CCommandUnit.OnIntelEnabled(self, intel) - if self.CloakEnh and self:IsIntelEnabled('Cloak') then - self:SetEnergyMaintenanceConsumptionOverride(self.Blueprint.Enhancements['CloakingGenerator'].MaintenanceConsumptionPerSecondEnergy - or 0) - self:SetMaintenanceConsumptionActive() - if not self.IntelEffectsBag then - self.IntelEffectsBag = {} - self:CreateTerrainTypeEffects(self.IntelEffects.Cloak, 'FXIdle', self.Layer, nil, self.IntelEffectsBag) - end - elseif self.StealthEnh and self:IsIntelEnabled('RadarStealth') and self:IsIntelEnabled('SonarStealth') then - self:SetEnergyMaintenanceConsumptionOverride(self.Blueprint.Enhancements['StealthGenerator'].MaintenanceConsumptionPerSecondEnergy - or 0) - self:SetMaintenanceConsumptionActive() - if not self.IntelEffectsBag then - self.IntelEffectsBag = {} - self:CreateTerrainTypeEffects(self.IntelEffects.Field, 'FXIdle', self.Layer, nil, self.IntelEffectsBag) - end - end - end, - - OnIntelDisabled = function(self, intel) - CCommandUnit.OnIntelDisabled(self, intel) - if self.IntelEffectsBag then - EffectUtil.CleanupEffectBag(self, 'IntelEffectsBag') - self.IntelEffectsBag = nil - end - if self.CloakEnh and not self:IsIntelEnabled('Cloak') then - self:SetMaintenanceConsumptionInactive() - elseif self.StealthEnh and not self:IsIntelEnabled('RadarStealth') and not self:IsIntelEnabled('SonarStealth') then - self:SetMaintenanceConsumptionInactive() - end - end, } - -TypeClass = URL0301 +TypeClass = URL0301 \ No newline at end of file diff --git a/units/URL0301/URL0301_unit.bp b/units/URL0301/URL0301_unit.bp index e0c68967933..72541996260 100644 --- a/units/URL0301/URL0301_unit.bp +++ b/units/URL0301/URL0301_unit.bp @@ -42,6 +42,7 @@ UnitBlueprint{ "MOBILE", "OVERLAYDIRECTFIRE", "OVERLAYOMNI", + "OVERLAYCOUNTERINTEL", "PATROLHELPER", "PRODUCTSC1", "RECLAIM", @@ -49,18 +50,18 @@ UnitBlueprint{ "SELECTABLE", "SHOWQUEUE", "SUBCOMMANDER", + "STEALTHFIELD", "TECH3", "USEBUILDPRESETS", "VISIBLETORECON", "SNIPEMODE", }, Defense = { - AirThreatLevel = 0, ArmorType = "Normal", EconomyThreatLevel = 1208, - Health = 19000, - MaxHealth = 19000, - RegenRate = 25, + Health = 12500, + MaxHealth = 12500, + RegenRate = 23, SubThreatLevel = 0, SurfaceThreatLevel = 30, }, @@ -71,6 +72,7 @@ UnitBlueprint{ "Engineering Suite", "Not Capturable", "Omni Sensor", + " Stealth Field", "Volatile", }, AnimationWalk = "/units/url0301/url0301_awalk01.sca", @@ -175,48 +177,49 @@ UnitBlueprint{ }, }, Economy = { - BuildCostEnergy = 26400, + BuildCostEnergy = 30000, BuildCostMass = 2000, - BuildRate = 56, - BuildTime = 14400, + BuildRate = 40, + BuildTime = 14500, BuildableCategory = { "BUILTBYTIER3ENGINEER CYBRAN" }, MaintenanceConsumptionPerSecondEnergy = 0, MaxBuildDistance = 10, NaturalProducer = true, ProductionPerSecondEnergy = 20, ProductionPerSecondMass = 1, - StorageEnergy = 500, - StorageMass = 275, TeleportEnergyMod = 4, TeleportMassMod = 3, TeleportTimeMod = 0.0001, }, EnhancementPresets = { + Engineer = { + Description = "SACU (Engineer preset)", + BuildIconSortPriority = 5, + Enhancements = { "Switchback" }, + HelpText = "Support Armored Command Unit. Enhanced during construction with the rapid fabricator enhancement.", + SortCategory = "SORTOTHER", + UnitName = "SACU (Engineer preset)", + }, + RAS = { + Description = "SACU (RAS preset)", + BuildIconSortPriority = 10, + Enhancements = { "ResourceAllocation" }, + HelpText = "Support Armored Command Unit. Enhanced during construction with a Resource Allocation System.", + SortCategory = "SORTOTHER", + UnitName = "SACU (RAS preset)", + }, AntiAir = { Description = "SACU (Anti-Air preset)", - BuildIconSortPriority = 45, + BuildIconSortPriority = 15, Enhancements = { "NaniteMissileSystem" }, HelpText = "Support Armored Command Unit. Enhanced during construction with the nanite missile system enhancement.", SortCategory = "SORTOTHER", UnitName = "SACU (Anti-Air preset)", SelectionPriority = 1, }, - Cloak = { - Description = "SACU (Cloak preset)", - BuildIconSortPriority = 35, - Enhancements = { - "FocusConvertor", - "StealthGenerator", - "CloakingGenerator", - }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the personal cloaking generator and disintegrator amplifier enhancements.", - SortCategory = "SORTOTHER", - UnitName = "SACU (Cloak preset)", - SelectionPriority = 1, - }, Combat = { Description = "SACU (Combatant preset)", - BuildIconSortPriority = 15, + BuildIconSortPriority = 20, Enhancements = { "EMPCharge", "FocusConvertor", @@ -226,22 +229,6 @@ UnitBlueprint{ UnitName = "SACU (Combatant preset)", SelectionPriority = 1, }, - Engineer = { - Description = "SACU (Engineer preset)", - BuildIconSortPriority = 20, - Enhancements = { "Switchback" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the rapid fabricator enhancement.", - SortCategory = "SORTOTHER", - UnitName = "SACU (Engineer preset)", - }, - RAS = { - Description = "SACU (RAS preset)", - BuildIconSortPriority = 10, - Enhancements = { "ResourceAllocation" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with a Resource Allocation System.", - SortCategory = "SORTOTHER", - UnitName = "SACU (RAS preset)", - }, Rambo = { Description = "Support Armored Command Unit (Rambo preset)", BuildIconSortPriority = 25, @@ -255,17 +242,22 @@ UnitBlueprint{ UnitName = "SACU (Rambo preset)", SelectionPriority = 1, }, - Stealth = { - Description = "SACU (Stealth preset)", - BuildIconSortPriority = 30, - Enhancements = { "StealthGenerator" }, - HelpText = "Support Armored Command Unit. Enhanced during construction with the personal stealth generator enhancement.", + Cloak = { + Description = "SACU (Cloak preset)", + BuildIconSortPriority = 35, + Enhancements = { + "FocusConvertor", + "CloakingGenerator", + }, + HelpText = "Support Armored Command Unit. Enhanced during construction with the personal cloaking generator and disintegrator amplifier enhancements.", SortCategory = "SORTOTHER", - UnitName = "SACU (Stealth preset)", + UnitName = "SACU (Cloak preset)", SelectionPriority = 1, }, }, Enhancements = { + + -- Back Slot CloakingGenerator = { BuildCostEnergy = 382200, BuildCostMass = 5000, @@ -274,7 +266,6 @@ UnitBlueprint{ MaintenanceConsumptionPerSecondEnergy = 3500, Name = "Personal Cloaking Generator", NewHealth = 15000, - Prerequisite = "StealthGenerator", Slot = "Back", UpgradeUnitAmbientBones = { "URL0301" }, }, @@ -286,12 +277,58 @@ UnitBlueprint{ Name = "Remove Personal Cloaking Generator", Prerequisite = "CloakingGenerator", RemoveEnhancements = { - "StealthGenerator", "CloakingGenerator", "CloakingGeneratorRemove", }, Slot = "Back", }, + NaniteMissileSystem = { + BuildCostEnergy = 20000, + BuildCostMass = 800, + BuildTime = 3000, + Icon = "nms", + Name = "Nanite Missile System", + Slot = "Back", + UpgradeUnitAmbientBones = { "URL0301" }, + }, + NaniteMissileSystemRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "nms", + Name = "Remove Nanite Missile System", + Prerequisite = "NaniteMissileSystem", + RemoveEnhancements = { + "NaniteMissileSystem", + "NaniteMissileSystemRemove", + }, + Slot = "Back", + }, + SelfRepairSystem = { + BuildCostEnergy = 103500, + BuildCostMass = 2200, + BuildTime = 6000, + Icon = "srs", + Name = "Nano-Repair System", + NewRegenRate = 375, + Slot = "Back", + UpgradeUnitAmbientBones = { "URL0301" }, + }, + SelfRepairSystemRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "srs", + Name = "Remove Nano-Repair System", + Prerequisite = "SelfRepairSystem", + RemoveEnhancements = { + "SelfRepairSystem", + "SelfRepairSystemRemove", + }, + Slot = "Back", + }, + + -- Left Slot EMPCharge = { BuildCostEnergy = 60000, BuildCostMass = 1000, @@ -314,14 +351,39 @@ UnitBlueprint{ }, Slot = "LCH", }, + Switchback = { + BuildCostEnergy = 35000, + BuildCostMass = 600, + BuildTime = 4200, + Icon = "ses", + Name = "Rapid Fabricator", + NewBuildRate = 100, + Slot = "LCH", + UpgradeUnitAmbientBones = { "URL0301" }, + }, + SwitchbackRemove = { + BuildCostEnergy = 1, + BuildCostMass = 1, + BuildTime = 0.1, + Icon = "ses", + Name = "Remove Rapid Fabricator", + Prerequisite = "Switchback", + RemoveEnhancements = { + "Switchback", + "SwitchbackRemove", + }, + Slot = "LCH", + }, + + -- Right Slot FocusConvertor = { BuildCostEnergy = 24000, BuildCostMass = 800, BuildTime = 3000, Icon = "fc", Name = "Disintegrator Amplifier", - NewDamageMod = 200, NewMaxRadius = 35, + NewDamageMod = 400, Slot = "RCH", UpgradeUnitAmbientBones = { "URL0301" }, }, @@ -338,28 +400,6 @@ UnitBlueprint{ }, Slot = "RCH", }, - NaniteMissileSystem = { - BuildCostEnergy = 20000, - BuildCostMass = 800, - BuildTime = 3000, - Icon = "nms", - Name = "Nanite Missile System", - Slot = "Back", - UpgradeUnitAmbientBones = { "URL0301" }, - }, - NaniteMissileSystemRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "nms", - Name = "Remove Nanite Missile System", - Prerequisite = "NaniteMissileSystem", - RemoveEnhancements = { - "NaniteMissileSystem", - "NaniteMissileSystemRemove", - }, - Slot = "Back", - }, ResourceAllocation = { BuildCostEnergy = 90000, BuildCostMass = 4500, @@ -368,6 +408,7 @@ UnitBlueprint{ Name = "Resource Allocation System", ProductionPerSecondEnergy = 1000, ProductionPerSecondMass = 10, + NewDeathDamageMod = 5000, Slot = "RCH", UpgradeUnitAmbientBones = { "URL0301" }, }, @@ -384,29 +425,7 @@ UnitBlueprint{ }, Slot = "RCH", }, - SelfRepairSystem = { - BuildCostEnergy = 103500, - BuildCostMass = 2200, - BuildTime = 6000, - Icon = "srs", - Name = "Nano-Repair System", - NewRegenRate = 375, - Slot = "Back", - UpgradeUnitAmbientBones = { "URL0301" }, - }, - SelfRepairSystemRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "srs", - Name = "Remove Nano-Repair System", - Prerequisite = "SelfRepairSystem", - RemoveEnhancements = { - "SelfRepairSystem", - "SelfRepairSystemRemove", - }, - Slot = "Back", - }, + Slots = { Back = { name = "", @@ -424,52 +443,6 @@ UnitBlueprint{ y = 10, }, }, - StealthGenerator = { - BuildCostEnergy = 7400, - BuildCostMass = 400, - BuildTime = 1800, - Icon = "sfs", - MaintenanceConsumptionPerSecondEnergy = 100, - Name = "Personal Stealth Generator", - Slot = "Back", - UpgradeUnitAmbientBones = { "URL0301" }, - }, - StealthGeneratorRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "sfs", - Name = "Remove Personal Stealth Generator", - Prerequisite = "StealthGenerator", - RemoveEnhancements = { - "StealthGenerator", - "StealthGeneratorRemove", - }, - Slot = "Back", - }, - Switchback = { - BuildCostEnergy = 51100, - BuildCostMass = 800, - BuildTime = 4200, - Icon = "ses", - Name = "Rapid Fabricator", - NewBuildRate = 98, - Slot = "LCH", - UpgradeUnitAmbientBones = { "URL0301" }, - }, - SwitchbackRemove = { - BuildCostEnergy = 1, - BuildCostMass = 1, - BuildTime = 0.1, - Icon = "ses", - Name = "Remove Rapid Fabricator", - Prerequisite = "Switchback", - RemoveEnhancements = { - "Switchback", - "SwitchbackRemove", - }, - Slot = "LCH", - }, }, General = { BuildBones = { @@ -499,21 +472,27 @@ UnitBlueprint{ Icon = "amph", OrderOverrides = { RULEUTC_StealthToggle = { - bitmapId = "stealth-personal", - helpText = "toggle_stealth_personal", + bitmapId = "stealth-field", + helpText = "toggle_stealth_field", }, }, SelectionPriority = 3, + ToggleCaps = { RULEUTC_StealthToggle = true }, }, Intel = { - ActiveIntel = { Omni = true }, + ActiveIntel = { + Omni = true, + RadarStealthField = true, + SonarStealthField = true, + }, Cloak = true, FreeIntel = false, OmniRadius = 16, - RadarStealth = true, - ReactivateTime = 2, + RadarStealthFieldRadius = 12, + SonarStealthFieldRadius = 12, + ReactivateTime = 5, SonarStealth = true, - VisionRadius = 26, + VisionRadius = 28, WaterVisionRadius = 24, }, LifeBarHeight = 0.075, @@ -555,13 +534,6 @@ UnitBlueprint{ CanFireFromTransport = false, TransportClass = 3, }, - Veteran = { - Level1 = 25, - Level2 = 50, - Level3 = 75, - Level4 = 100, - Level5 = 125, - }, Weapon = { { AboveWaterFireOnly = true, @@ -609,7 +581,7 @@ UnitBlueprint{ }, }, CollideFriendly = false, - Damage = 300, + Damage = 100, DamageType = "Normal", DisplayName = "Disintegrator Pulse Laser", FireTargetLayerCapsTable = { @@ -734,7 +706,7 @@ UnitBlueprint{ { AboveWaterTargetsOnly = true, CollideFriendly = false, - Damage = 1000, + Damage = 2500, DamageFriendly = true, DamageRadius = 10, DamageType = "DeathExplosion", @@ -769,7 +741,7 @@ UnitBlueprint{ WreckageLayers = { Air = false, Land = true, - Seabed = false, + Seabed = true, Sub = false, Water = false, }, diff --git a/units/XSB0304/XSB0304_unit.bp b/units/XSB0304/XSB0304_unit.bp index 51fedb9b2f9..99ff9207285 100644 --- a/units/XSB0304/XSB0304_unit.bp +++ b/units/XSB0304/XSB0304_unit.bp @@ -32,8 +32,8 @@ UnitBlueprint{ AirThreatLevel = 0, ArmorType = "Structure", EconomyThreatLevel = 440, - Health = 10000, - MaxHealth = 10000, + Health = 5000, + MaxHealth = 5000, RegenRate = 0, SubThreatLevel = 0, SurfaceThreatLevel = 0, @@ -88,10 +88,10 @@ UnitBlueprint{ UniformScale = 0.05, }, Economy = { - BuildCostEnergy = 30000, - BuildCostMass = 3000, + BuildCostEnergy = 25500, + BuildCostMass = 2550, BuildRate = 120, - BuildTime = 4097, + BuildTime = 4100, BuildableCategory = { "BUILTBYQUANTUMGATE SERAPHIM" }, RebuildBonusIds = { "xsb0304" }, }, @@ -190,11 +190,6 @@ UnitBlueprint{ SizeZ = 5, StrategicIconName = "icon_structure3_transport", StrategicIconSortPriority = 175, - Transport = { - Class2AttachSize = 1, - Class3AttachSize = 1, - ClassGenericUpTo = 3, - }, Wreckage = { Blueprint = "/props/DefaultWreckage/DefaultWreckage_prop.bp", EnergyMult = 0, diff --git a/units/XSL0301/XSL0301_script.lua b/units/XSL0301/XSL0301_script.lua index d848c1c2890..df7742d6623 100644 --- a/units/XSL0301/XSL0301_script.lua +++ b/units/XSL0301/XSL0301_script.lua @@ -38,10 +38,12 @@ XSL0301 = ClassUnit(CommandUnit) { }, }, + ---@param self XSL0301 __init = function(self) CommandUnit.__init(self, 'LightChronatronCannon') end, + ---@param self XSL0301 OnCreate = function(self) CommandUnit.OnCreate(self) self:SetCapturable(false) @@ -51,16 +53,24 @@ XSL0301 = ClassUnit(CommandUnit) { self:GetWeaponByLabel('AutoOverCharge').NeedsUpgrade = true end, + ---@param self XSL0301 + ---@param builder Unit + ---@param layer string StartBeingBuiltEffects = function(self, builder, layer) CommandUnit.StartBeingBuiltEffects(self, builder, layer) self.Trash:Add(ForkThread(EffectUtil.CreateSeraphimBuildThread, self, builder, self.OnBeingBuiltEffectsBag, 2)) end, + ---@param self XSL0301 + ---@param unitBeingBuilt Unit + ---@param order string CreateBuildEffects = function(self, unitBeingBuilt, order) EffectUtil.CreateSeraphimUnitEngineerBuildingEffects(self, unitBeingBuilt, self.BuildEffectBones, self.BuildEffectsBag) end, + ---@param self XSL0301 + ---@param enh string CreateEnhancement = function(self, enh) CommandUnit.CreateEnhancement(self, enh) local bp = self.Blueprint.Enhancements[enh] @@ -85,16 +95,22 @@ XSL0301 = ClassUnit(CommandUnit) { self:SetEnergyMaintenanceConsumptionOverride(bp.MaintenanceConsumptionPerSecondEnergy or 0) self:SetMaintenanceConsumptionActive() self:CreateShield(bp) + local wep = self:GetWeaponByLabel('LightChronatronCannon') + wep:AddDamageMod(bp.NewDamageMod or 300) elseif enh == 'ShieldRemove' then self:DestroyShield() self:SetMaintenanceConsumptionInactive() self:RemoveToggleCap('RULEUTC_ShieldToggle') + local wep = self:GetWeaponByLabel('LightChronatronCannon') + wep:AddDamageMod(-self.Blueprint.Enhancements['EnhancedSensors'].NewDamageMod or -300) -- Overcharge elseif enh == 'Overcharge' then + local wep = self:GetWeaponByLabel('LightChronatronCannon') self:AddCommandCap('RULEUCC_Overcharge') self:GetWeaponByLabel('OverCharge').NeedsUpgrade = false self:GetWeaponByLabel('AutoOverCharge').NeedsUpgrade = false elseif enh == 'OverchargeRemove' then + local wep = self:GetWeaponByLabel('LightChronatronCannon') self:RemoveCommandCap('RULEUCC_Overcharge') self:SetWeaponEnabledByLabel('OverCharge', false) self:SetWeaponEnabledByLabel('AutoOverCharge', false) @@ -157,6 +173,7 @@ XSL0301 = ClassUnit(CommandUnit) { self:SetIntelRadius('Omni', bp.NewOmniRadius or 104) local wep = self:GetWeaponByLabel('LightChronatronCannon') wep:ChangeMaxRadius(bp.NewMaxRadius or 35) + wep:AddDamageMod(bp.NewDamageMod or 300) local wep = self:GetWeaponByLabel('OverCharge') wep:ChangeMaxRadius(35) local aoc = self:GetWeaponByLabel('AutoOverCharge') @@ -167,6 +184,7 @@ XSL0301 = ClassUnit(CommandUnit) { self:SetIntelRadius('Omni', bpIntel.OmniRadius or 16) local wep = self:GetWeaponByLabel('LightChronatronCannon') wep:ChangeMaxRadius(bp.NewMaxRadius or 25) + wep:AddDamageMod(-self.Blueprint.Enhancements['EnhancedSensors'].NewDamageMod or -300) local wep = self:GetWeaponByLabel('OverCharge') wep:ChangeMaxRadius(bp.NewMaxRadius or 25) local aoc = self:GetWeaponByLabel('AutoOverCharge') diff --git a/units/XSL0301/XSL0301_unit.bp b/units/XSL0301/XSL0301_unit.bp index 503dcda0bd5..110ddb50969 100644 --- a/units/XSL0301/XSL0301_unit.bp +++ b/units/XSL0301/XSL0301_unit.bp @@ -544,6 +544,7 @@ UnitBlueprint{ LifeBarOffset = 0.4, LifeBarSize = 0.9, Physics = { + BankingSlope = 0, BuildOnLayerCaps = { LAYER_Air = false, LAYER_Land = true, @@ -562,6 +563,7 @@ UnitBlueprint{ MeshExtentsX = 1.25, MeshExtentsY = 1.9, MeshExtentsZ = 1.75, + MinSpeedPercent = 0, MotionType = "RULEUMT_Amphibious", StandUpright = true, TurnRadius = 10,