diff --git a/changelog.txt b/changelog.txt index 87cb9fe9fa..911d3b188d 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,8 @@ +# January 2025 +• [Angler] The T2 Cortex torpedo bomber now drops 1 large torpedo instead of 3 small ones. The large torpedo is slightly slower but has some aoe +• [Serpent] The Arm T2 battlesub now fires 2 medium torpedos at once instead of 1 large one, overall dps unchanged but some aoe is added +• [Kraken] The Cor T2 battlesub's torpedo aoe increased + # December 2024 • [Impulse] Nukes + Plasma Cannons + Shiva + Catapult + Vanguard + Tzar + Fatboy + Banisher + Poison Arrow + Gunslinger + Ballistic Missile Launchers got impulse added to their weapon. High-HP units with low mass got a mass increase. • [Tremor] Impulse 140% -> 80%, EdgeEffectiveness 90% -> 15% diff --git a/scripts/Units/armserp.bos b/scripts/Units/armserp.bos index f4833ad9c1..d4c9652fbd 100644 --- a/scripts/Units/armserp.bos +++ b/scripts/Units/armserp.bos @@ -5,12 +5,13 @@ piece lturret, rturret, base, lprop, rprop, bprop; -static-var gun_1, turnClock, turnCounter, wheelSpeed, currentSpeed, moveSpeed, pivotAngle; +static-var turnClock, turnCounter, wheelSpeed, currentSpeed, moveSpeed, pivotAngle; // Signal definitions #define SIG_MOVE 2 #define SIG_AIM 4 +#define SIG_AIM_2 8 #define BASEPIECE base @@ -59,7 +60,6 @@ Propcontrol() Create() { - gun_1 = lturret; moveSpeed = get MAX_SPEED; start-script Propcontrol(); start-script TurnControl(); @@ -87,12 +87,22 @@ StopMoving() FirePrimary() { - gun_1 = !gun_1; + sleep 200; +} + +FireSecondary() +{ + sleep 200; } QueryPrimary(piecenum) { - piecenum = gun_1; + piecenum = lturret; +} + +QuerySecondary(piecenum) +{ + piecenum = rturret; } SweetSpot(piecenum) @@ -128,9 +138,17 @@ AimPrimary(heading, pitch) { signal SIG_AIM; set-signal-mask SIG_AIM; - move rturret to x-axis [9] speed [30]; move lturret to x-axis [-9] speed [30]; - + wait-for-move lturret along x-axis; + start-script RestoreAfterDelay(); + return (1); +} + +AimSecondary(heading, pitch) +{ + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + move rturret to x-axis [9] speed [30]; wait-for-move rturret along x-axis; start-script RestoreAfterDelay(); return (1); @@ -140,6 +158,12 @@ AimFromPrimary(piecenum) { piecenum = lturret; } + +AimFromSecondary(piecenum) +{ + piecenum = rturret; +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/armserp.cob b/scripts/Units/armserp.cob index 168935f545..74ccc5a6f5 100644 Binary files a/scripts/Units/armserp.cob and b/scripts/Units/armserp.cob differ diff --git a/scripts/Units/armserp_clean.bos b/scripts/Units/armserp_clean.bos index b879702fa9..cf18fb0a98 100644 --- a/scripts/Units/armserp_clean.bos +++ b/scripts/Units/armserp_clean.bos @@ -3,12 +3,13 @@ piece lturret, rturret, base, lprop, rprop, bprop; -static-var gun_1, turnClock, turnCounter, wheelSpeed, currentSpeed, moveSpeed, pivotAngle; +static-var turnClock, turnCounter, wheelSpeed, currentSpeed, moveSpeed, pivotAngle; // Signal definitions #define SIGNAL_MOVE 1 #define SIGNAL_AIM1 256 +#define SIGNAL_AIM2 512 #define BASEPIECE base @@ -44,7 +45,6 @@ Propcontrol() Create() { - gun_1 = lturret; call-script TB_Init(); } @@ -68,15 +68,23 @@ StopMoving() FireWeapon1() { - gun_1 = !gun_1; + sleep 200; } -QueryWeapon1(pieceIndex) +FireWeapon2() { - pieceIndex = gun_1; + sleep 200; } +QueryWeapon1(pieceIndex) +{ + pieceIndex = lturret; +} +QueryWeapon2(pieceIndex) +{ + pieceIndex = rturret; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -106,9 +114,17 @@ AimWeapon1(heading, pitch) { signal SIGNAL_AIM1; set-signal-mask SIGNAL_AIM1; - move rturret to x-axis [9] speed [30]; move lturret to x-axis [-9] speed [30]; - + wait-for-move lturret along x-axis; + start-script RestoreAfterDelay(); + return (1); +} + +AimWeapon2(heading, pitch) +{ + signal SIGNAL_AIM2; + set-signal-mask SIGNAL_AIM2; + move rturret to x-axis [9] speed [30]; wait-for-move rturret along x-axis; start-script RestoreAfterDelay(); return (1); @@ -118,6 +134,12 @@ AimFromWeapon1(pieceIndex) { pieceIndex = lturret; } + +AimFromWeapon2(pieceIndex) +{ + pieceIndex = lturret; +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/armserp_clean.cob b/scripts/Units/armserp_clean.cob index b515e2c679..fe26d3b6c1 100644 Binary files a/scripts/Units/armserp_clean.cob and b/scripts/Units/armserp_clean.cob differ diff --git a/units/ArmAircraft/T2/armlance.lua b/units/ArmAircraft/T2/armlance.lua index 08d60b539e..e46afa18af 100644 --- a/units/ArmAircraft/T2/armlance.lua +++ b/units/ArmAircraft/T2/armlance.lua @@ -8,8 +8,8 @@ return { cruisealtitude = 90, energycost = 8000, explodeas = "mediumExplosionGeneric", - footprintx = 3, - footprintz = 3, + footprintx = 4, + footprintz = 4, health = 1920, idleautoheal = 5, idletime = 1800, diff --git a/units/ArmShips/T2/armlship.lua b/units/ArmShips/T2/armlship.lua index 4849418b84..61849f68e2 100644 --- a/units/ArmShips/T2/armlship.lua +++ b/units/ArmShips/T2/armlship.lua @@ -191,6 +191,7 @@ return { }, damage = { default = 35, + subs = 10, }, }, }, diff --git a/units/ArmShips/T2/armserp.lua b/units/ArmShips/T2/armserp.lua index 95c7263985..092e708af0 100644 --- a/units/ArmShips/T2/armserp.lua +++ b/units/ArmShips/T2/armserp.lua @@ -103,7 +103,7 @@ return { }, weapondefs = { armserp_weapon = { - areaofeffect = 16, + areaofeffect = 120, avoidfeature = false, avoidfriendly = false, burnblow = true, @@ -121,7 +121,7 @@ return { range = 800, reloadtime = 8, soundhit = "xplodep1", - soundhitvolume = 22, + soundhitvolume = 14, soundstart = "torpedo1", startvelocity = 150, tolerance = 8000, @@ -134,9 +134,9 @@ return { weapontype = "TorpedoLauncher", weaponvelocity = 220, damage = { - commanders = 750, - default = 1650, - subs = 1110, + commanders = 375, + default = 825, + subs = 555, }, }, }, @@ -148,6 +148,14 @@ return { maxangledif = 80, onlytargetcategory = "NOTHOVER", }, + [2] = { + badtargetcategory = "HOVER NOTSHIP", + def = "ARMSERP_WEAPON", + maindir = "0 0.2 1", + maxangledif = 80, + onlytargetcategory = "NOTHOVER", + slaveto = 1, + }, }, }, } diff --git a/units/CorAircraft/T2/cortitan.lua b/units/CorAircraft/T2/cortitan.lua index c3f2f6099f..daea8df516 100644 --- a/units/CorAircraft/T2/cortitan.lua +++ b/units/CorAircraft/T2/cortitan.lua @@ -9,8 +9,8 @@ return { cruisealtitude = 90, energycost = 8200, explodeas = "mediumexplosiongeneric", - footprintx = 3, - footprintz = 3, + footprintx = 4, + footprintz = 4, health = 1960, idleautoheal = 5, idletime = 1800, @@ -81,14 +81,14 @@ return { }, }, weapondefs = { - armair_torpedo = { - areaofeffect = 16, + heavy_torpedo = { + areaofeffect = 150, avoidfeature = false, avoidfriendly = false, burnblow = true, - burst = 3, - burstrate = 0.3, - cegtag = "torpedotrail-small", + --burst = 3, + --burstrate = 0.3, + cegtag = "torpedotrail-large", collidefriendly = false, craterareaofeffect = 0, craterboost = 0, @@ -97,13 +97,13 @@ return { explosiongenerator = "custom:genericshellexplosion-large-uw", flighttime = 4, impulsefactor = 0.123, - model = "cortorpedo.s3o", + model = "coradvtorpedo.s3o", mygravity = 0.1, - name = "Light homing torpedo launcher", + name = "Heavy homing torpedo launcher", noselfdamage = true, range = 400, reloadtime = 8, - soundhit = "xplodep2", + soundhit = "xplodep1", soundhitvolume = 3.5, soundhitwet = "splsmed", soundhitwetvolume = 14, @@ -111,26 +111,26 @@ return { startvelocity = 35, tolerance = 2000, tracks = true, - turnrate = 17000, + turnrate = 8000, turret = false, waterweapon = true, weaponacceleration = 35, - weapontimer = 6, + weapontimer = 8, weapontype = "TorpedoLauncher", - weaponvelocity = 200, + weaponvelocity = 160, customparams = { speceffect = "torpwaterpen", when = "ypos<0", }, damage = { - default = 500, + default = 1200, }, }, }, weapons = { [1] = { badtargetcategory = "NOTSHIP", - def = "ARMAIR_TORPEDO", + def = "HEAVY_TORPEDO", onlytargetcategory = "NOTHOVER", }, }, diff --git a/units/CorShips/T2/corssub.lua b/units/CorShips/T2/corssub.lua index 829f1837a5..5611266180 100644 --- a/units/CorShips/T2/corssub.lua +++ b/units/CorShips/T2/corssub.lua @@ -103,7 +103,7 @@ return { }, weapondefs = { armserp_weapon = { - areaofeffect = 16, + areaofeffect = 160, avoidfeature = false, avoidfriendly = false, burnblow = true,