diff --git a/master changelog.md b/master changelog.md index 03217c2..8271913 100644 --- a/master changelog.md +++ b/master changelog.md @@ -5,6 +5,7 @@ Since December 2022, this changelog shows only past changes. See patchnotes.md for info on the most recent patch! # Table of Contents +- [11 January 2025](#11-january-2025) - [28 December 2024](#28-december-2024) - [22 November 2024](#22-november-2024) - [25 October 2024](#25-october-2024) @@ -92,6 +93,140 @@ See patchnotes.md for info on the most recent patch! - [13 August 2020](#13-august-2020) - [12 August 2020](#12-august-2020) +# 11 January 2024 +## Year 3, month 1, patch 1 + +This patch will include new features, balance adjustments, bugfixes, and audiovisual improvements. + +Download [Fraud Launcher 2](https://fraudsclub.com/files/Fraud%20Launcher%202.zip) for easier setup and maintenance! Version 2.2 and up now includes an automatic download of CrownLink, a networking alternative for Cosmonarchy! + +We are still hunting for desyncs! Please submit your `Critical` and `Sync Randoms` text files from the `logs` folder to the **cm-issues** "[Desync error megathread](https://discord.com/channels/139276012058968064/1251318131671175198)" on [our Discord server](https://discord.com/invite/s5SKBmY). + +## Mechanics +- Energy regeneration is now interrupted while the specialist is stunned + +## Game Modes +- **Uprising:** + - Fixed ground spawners appearing on islands (c. Veeq7) + - Reduced training time of **Broodspawn** + - Tweaked the composition of some existing spawners + - Added many new spawner types in tiers 1 & 2 + +## Console +- **NEW:** `race` command, gets the player of the selected unit's race + - Note that this may not be the same race as the selected unit, e.g. in cases of mind control + - 0 is Zerg, 1 is Terran, 2 is Protoss + +## Editor +- **Kill Units at Location** vanilla trigger action functionality has been restored (r. 3crow/Kenoli, c. DF) +- **set_race** custom trigger action no longer fails to set Protoss or Terran races correctly +- **NEW:** `player_is_race` custom trigger condition (may see changes later) +- **NEW:** Volatile Egg unit (id 416) + - blocks construction, but not worker movement when harvesting, allowing for SC1-style barriers + - when placed for P1-P8 and cloaked, any preplaced units for that player will be created, allowing players to select their race without spawning melee units + +## AI +- **Star Sovereign**s now activate Grief of All Gods more liberally +- Fixed Terran AI having impossible requirements for training *Silvertongue**s and **Magnetar**s + +## Bugfixes +- **Stability:** + - Slightly reduced selection limit (252 » 246) to prevent action buffer instability + - Fixed rare crashes at game end (r. TopRamen, c. DF) +- **Gameplay:** + - Unloading structures is now more generous (still needs work; b. Londier, c. Veeq7) + - Units with **Interception** (e.g. **Siren** and **Cataphract**) no longer fail to damage **Larva**e and **Rilirokor**s (r. TheNightFox) + - Didact Shroud of Adun is no longer disabled after Recalling (r. GreenEggs'NSpam & Londier) + - Melee splash units (and the **Vilgorokor**) no longer deal damage out of sync with their animation (r. Kenoli & Krankendau, a. DF) + - When **Axitrilisk**s are reclaimed with no weapon, they now restart the **Perpetual Wind** timer (r. GreenEggs'NSpam & TheNightFox) + - Auras from **Azazel**, **Seraph**, **Crucible**, **Barghest**, **Sycophant**, **Manifold**, **Matraleth**, and **Sasyrvoleth** are now deactivated while the unit is stunned (r. Londier) + - **Hypnagogue** corpses can now be interacted with (r. GreenEggs'NSpam) + - Fixed bad interactions between Tyranny of the Sun and **Aurora** Last Orders + - Fixed being able to enter non-mutual ally transports (r. Londier & billy) + - Fixed being able to load neutral units into transports + - Fixed edge case turn rate issues with **Diadem**s (r. GreenEggs'NSpam) + - **Ultrokor**s no longer consume corpses while burrowed (r. Londier) + - **Qilin**s no longer fail to continue healing after a single unload (r. Londier) +- **Audiovisual:** + - **Broodspawn** spawning SFX no longer plays globally + - **Blackjack**s no longer change facing angle when their sprite changes + - Reviving **Centaur**s no longer create permanent explosion graphics (r. beriso) + - Preferred player colors now override racial player color bans (r. Wolfmaw) + - Resolved 'invalid shield overlay' error for **Tetcaerokor** (r. beriso) + - **Fore Castle** shield overlays no longer proc when hit by **Psionic Storm** (r. Londier) + - Corrected poor fire placements for the **Biotic Bastion**'s damage overlay + - Witness and replay UI is no longer drawn over ingame menus (c. DF) + +## Audiovisuals +- **New unit responses:** + - **Ecclesiast** + - **Potentate** (script a. BladehollowRWL) +- **Corpse updates:** + - **Phalanx**, tank & siege (a. ArbuzBudesh) + - **Gorgrokor** (c. ArbuzBudesh) +- **Projectile updates:** + - **Atreus** (bigger projectile) + +## Terran +- **Reclamation:** + - Initial heal for reclaimed units is now granted over 10 seconds, from 3 seconds + - Reclaimed specialists begin with 0 energy, from full +- [Apostle](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/apostle): + - **Charon Rifle:** + - Weapon damage 1x10 » 1x15 + - Weapon cooldown 1 » 1.5 + - Weapon range 5 » 6 +- [Autocrat](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/autocrat): + - **Eminence Rifle:** + - Weapon cooldown 1.33 » 1.5 + - Weapon range 6 » 5 +- [Valkyrie](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/valkyrie): + - **Halo Rockets:** + - Weapon cooldown 1.5 » 1.08 + - No longer deal splash damage to units owned by an allied player +- **NEW:** [Harakan (Golden)](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/harakan-golden) + - Fast-moving frontliner with plasma shields; trained from the Stockade + - Available for the **Golden Republic** +- [Aspirant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/aspirant): + - Mineral cost 175 » 150 + - Armor 2 » 3 + - **Criticality:** + - No longer procs on Aspirant death + - No longer heals enemies of the Aspirant + - Now applies a 2-second debuff to victims, and procs on their death if they die during this debuff +- [Cohort](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cohort): + - **New: Servile Vigor:** + - Revives once after death, with a 10-second timed life; consumes a corpse to become permanent again + +## Protoss +- [Artisan](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/artisan): + - **Neutron Saber:** + - Armor penetration 2 » 0 + - Weapon range 3 » 1 + - Weapon cooldown 0.92 » 1.08 +- [Golem](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/golem): + - **Tranquility Array** now has a third-of-a-second internal cooldown +- [Lanifect](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/lanifect): + - **Neutron Flare:** + - No longer deals splash damage to units owned by an allied player +- [Gladius](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/gladius): + - Movement speed 5 » 4.38 +- **NEW:** [Cicatus](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/cicatus): + - Nihilistic frontline vandal; warped from the Gateway + - Available for the **Starbound** + +## Zerg +- [Gosvileth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/gosvileth): + - **Gosvil Spines:** + - Armor penetration 2 » 0 + - Weapon cooldown 0.92 » 1.08 +- [Bactalisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/bactalisk): + - **Corrosive Acid:** + - Weapon cooldown 1.08 » 1.17 +- **NEW:** [Iziralisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/iziralisk) + - Short-range rending assault strain; requires the Hydrith Den + - Available for the **Zorthos Tendril** + # 28 December 2024 ## Year 2, month 12, patch 1 ## Acropolis #2 - End of Tournament diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index defd5b1..d2e896a 100644 Binary files a/mpq/arr/images.datex and b/mpq/arr/images.datex differ diff --git a/mpq/arr/sfxdata.txt b/mpq/arr/sfxdata.txt index 4e801e5..7c9049f 100644 --- a/mpq/arr/sfxdata.txt +++ b/mpq/arr/sfxdata.txt @@ -614,7 +614,7 @@ Protoss\PROBE\PPrYes02.WAV Protoss\PROBE\PPrYes03.WAV Protoss\INTERCEP\PInLau00.WAV Protoss\PROBE\PPrPss00.WAV (2) -Protoss\TEMPLAR\PTeSum00.WAV (1) +Steward Launch 01 Protoss\TEMPLAR\PTeSum00.WAV (2) Protoss\TEMPLAR\PTeHal00.WAV Protoss\TEMPLAR\PTeHal01.WAV diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index 7c187f4..9192b37 100644 Binary files a/mpq/arr/sprites.datex and b/mpq/arr/sprites.datex differ diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index 06fd095..5716138 100644 Binary files a/mpq/arr/units.datex and b/mpq/arr/units.datex differ diff --git a/mpq/arr/units.txt b/mpq/arr/units.txt index 6309c7c..9f68eeb 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -400,8 +400,8 @@ Terran Qilin Terran Auriel Protoss Adherent Protoss Extatus -Zerg Nathrelisk -Zerg Iziralisk +Zerg Nathrelisk (Zorthos) +Zerg Iziralisk (Zorthos) Faction Selection Protoss Faction Selection Zerg Terran Anchor (Grounded) diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index f08681e..dcc51b7 100644 Binary files a/mpq/arr/weapons.datex and b/mpq/arr/weapons.datex differ diff --git a/mpq/arr/weapons.txt b/mpq/arr/weapons.txt index 1c0e34a..d2af6b8 100644 --- a/mpq/arr/weapons.txt +++ b/mpq/arr/weapons.txt @@ -221,7 +221,7 @@ Sensory Overload (Vibrance) Flamethrower (Harakan, Golden) Corrosive Bioplasma (Iziralisk) Phase Claws (Cicatus) -Extended Weapon #94 +Phase Blades (Zealot, Starbound) Extended Weapon #95 Extended Weapon #96 Extended Weapon #97 diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index dc1f3fe..65c8852 100644 Binary files a/mpq/datreq/Buttons.graft and b/mpq/datreq/Buttons.graft differ diff --git a/mpq/game/icons.grp b/mpq/game/icons.grp index e00bd4d..4f64c62 100644 Binary files a/mpq/game/icons.grp and b/mpq/game/icons.grp differ diff --git a/mpq/game/tminimap.pcx b/mpq/game/tminimap.pcx index e436e81..f24ec24 100644 Binary files a/mpq/game/tminimap.pcx and b/mpq/game/tminimap.pcx differ diff --git a/mpq/rez/stat_txt.tbl b/mpq/rez/stat_txt.tbl index 09ebc80..77ed886 100644 Binary files a/mpq/rez/stat_txt.tbl and b/mpq/rez/stat_txt.tbl differ diff --git a/mpq/samase/unitdef.txt b/mpq/samase/unitdef.txt index 94c5996..397926a 100644 --- a/mpq/samase/unitdef.txt +++ b/mpq/samase/unitdef.txt @@ -59,7 +59,7 @@ military cicatus = 414 # Zerg factional units military nathrelisk = 402 military iziralisk = 403 -military iziralisk = 415 +military inzorthrokor = 415 # Terran military units military maverick = 0 diff --git a/mpq/scripts/aiscript.bin b/mpq/scripts/aiscript.bin index eac5e94..4548fcb 100644 Binary files a/mpq/scripts/aiscript.bin and b/mpq/scripts/aiscript.bin differ diff --git a/mpq/scripts/iscript.txt b/mpq/scripts/iscript.txt index b4e5c1c..0ba4c19 100644 --- a/mpq/scripts/iscript.txt +++ b/mpq/scripts/iscript.txt @@ -11318,12 +11318,12 @@ ZealotGndAttkRpt: playfram 0x33 wait 1 playfram 0x44 - attackmelee 1 664 # Protoss\ZEALOT\pzeHit00.WAV + attackmelee 1 0 wait 1 playfram 0x33 wait 1 playfram 0x22 - attackmelee 1 664 # Protoss\ZEALOT\pzeHit00.WAV + attackmelee 1 0 wait 1 playfram 0x11 wait 1 @@ -25949,26 +25949,24 @@ IsId 463 Type 12 Init ApostleInit Death ApostleDeath -GndAttkInit ApostleGndAttkInit -AirAttkInit ApostleGndAttkInit +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit Unused1 [NONE] -GndAttkRpt ApostleGndAttkRpt -AirAttkRpt ApostleGndAttkRpt +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt CastSpell [NONE] -GndAttkToIdle ApostleGndAttkToIdle -AirAttkToIdle ApostleGndAttkToIdle +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle Unused2 [NONE] -Walking ApostleWalking -WalkingToIdle ApostleWalkingToIdle +Walking MadcapWalking +WalkingToIdle MadcapWalkingToIdle SpecialState1 [NONE] .headerend # ----------------------------------------------------------------------------- # ApostleInit: imgul 1118 0 4 # Apostle Shadow (cm\terran\apostle-shad.grp) -ApostleWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 + goto MadcapWalkingToIdle ApostleDeath: playsnd 1301 # Apostle death 01 @@ -25980,60 +25978,6 @@ ApostleDeath: wait 1 end -ApostleGndAttkInit: - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 -ApostleGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2783 2787 # Apostle weaponfire 01, 02, 03, 04, 05 - attack - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - nobrkcodeend - gotorepeatattk - ignorerest -ApostleGndAttkToIdle: - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - playfram 0x100 - wait 1 - goto ApostleWalkingToIdle - -ApostleWalking: - playfram 0x40 - move 4 - wait 1 - playfram 0x60 - move 4 - wait 1 - playfram 0x80 - move 4 - wait 1 - playfram 0xA0 - move 4 - wait 1 - playfram 0xC0 - move 4 - wait 1 - playfram 0xE0 - move 4 - wait 1 - playfram 0x20 - move 4 - wait 1 - goto ApostleWalking - # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: # 1118 Apostle Remnants (cm\terran\apostle-death.grp) @@ -26854,7 +26798,7 @@ VassalGndAttkInit: wait 1 nobrkcodestart playfram 0x20 - playsndbtwn 1217 1221 + playsndbtwn 1217 1221 # Vassal weaponfire 01, 02, 03, 04, 05 attackwith 1 wait 1 playfram 0x00 @@ -26921,7 +26865,6 @@ MadcapGndAttkInit: MadcapGndAttkRpt: wait 1 nobrkcodestart - playsndbtwn 1212 1216 # Madcap weaponfire 01, 02, 03, 04, 05 attack playfram 0x1A0 wait 1 @@ -28392,7 +28335,6 @@ EcclesiastGndAttkInit: EcclesiastGndAttkRpt: wait 1 nobrkcodestart - playsndbtwn 1362 1366 # Ecclesiast attack 01, 02, 03, 04, 05 attackwith 1 playfram 0x1A0 wait 1 @@ -28541,11 +28483,11 @@ Unused1 [NONE] GndAttkRpt GolemGndAttkInit AirAttkRpt [NONE] CastSpell [NONE] -GndAttkToIdle GolemGndAttkToIdle +GndAttkToIdle LegionnaireGndAttkToIdle AirAttkToIdle [NONE] Unused2 [NONE] -Walking GolemWalking -WalkingToIdle GolemWalkingToIdle +Walking LegionnaireWalking +WalkingToIdle MadcapWalkingToIdle SpecialState1 [NONE] .headerend # ----------------------------------------------------------------------------- # @@ -28554,16 +28496,6 @@ GolemInit: imgul 1185 0 0 # Golem Shadow (golem-shad.grp) playfram 0x00 goto ScourgeLocal00 - -GolemGndAttkToIdle: - playfram 0x99 - wait 1 - playfram 0x00 - goto ScourgeLocal00 - -GolemWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 GolemDeath: playsnd 533 # Protoss\Scout\PScDth00.WAV @@ -28574,58 +28506,29 @@ GolemDeath: end GolemGndAttkInit: - playfram 0x99 + playfram 0x100 +GolemGndAttkRpt: + playfram 0x100 wait 1 nobrkcodestart playsndbtwn 1937 1938 # Golem weaponfire 01, 02 attackwith 1 - playfram 0xaa + playfram 0x120 wait 1 - playfram 0xbb + playfram 0x140 attackwith 1 playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV wait 1 - playfram 0xcc + playfram 0x160 wait 1 - playfram 0xdd + playfram 0x140 wait 1 - playfram 0xee + playfram 0x120 playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV - wait 1 - playfram 0xff - wait 1 - playfram 0x110 nobrkcodeend gotorepeatattk ignorerest - goto GolemGndAttkToIdle - -GolemWalking: - move 5 - wait 1 - playfram 0x11 - move 5 - wait 1 - playfram 0x22 - move 5 - wait 1 - playfram 0x33 - move 5 - wait 1 - playfram 0x44 - move 5 - wait 1 - playfram 0x55 - move 5 - wait 1 - playfram 0x66 - move 5 - wait 1 - playfram 0x77 - move 5 - wait 1 - playfram 0x88 - goto GolemWalking + goto LegionnaireGndAttkToIdle # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: @@ -33157,7 +33060,7 @@ LarvoskCesiantLocal00: playfram 2 wait 2 playfram 3 - wait 2 + wait 4 playfram 2 wait 2 playfram 1 @@ -34334,7 +34237,7 @@ GndAttkToIdle LegionnaireGndAttkToIdle AirAttkToIdle [NONE] Unused2 [NONE] Walking LegionnaireWalking -WalkingToIdle LegionnaireWalkingToIdle +WalkingToIdle MadcapWalkingToIdle SpecialState1 [NONE] SpecialState2 [NONE] AlmostBuilt [NONE] @@ -34349,9 +34252,7 @@ WarpIn LegionnaireWarpIn LegionnaireInit: imgul 1339 0 0 # Legionnaire Shadow (cm\protoss\legionnaire-shad.grp) -LegionnaireWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 + goto MadcapWalkingToIdle LegionnaireDeath: playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV @@ -34383,7 +34284,7 @@ LegionnaireGndAttkRpt: LegionnaireGndAttkToIdle: playfram 0x100 wait 1 - goto LegionnaireWalkingToIdle + goto MadcapWalkingToIdle LegionnaireWalking: move 4 @@ -36172,11 +36073,11 @@ IsId 587 Type 21 Init CharlatanInit Death EcclesiastDeath -GndAttkInit CharlatanGndAttkInit -AirAttkInit CharlatanGndAttkInit +GndAttkInit EcclesiastGndAttkInit +AirAttkInit EcclesiastGndAttkInit Unused1 EcclesiastUnused1 -GndAttkRpt CharlatanGndAttkRpt -AirAttkRpt CharlatanGndAttkRpt +GndAttkRpt EcclesiastGndAttkRpt +AirAttkRpt EcclesiastGndAttkRpt CastSpell [NONE] GndAttkToIdle EcclesiastGndAttkToIdle AirAttkToIdle EcclesiastGndAttkToIdle @@ -36199,29 +36100,6 @@ CharlatanInit: imgul 1172 0 0 # Charlatan Shadow (cm\protoss\charlatan-shad.grp) goto InfestedTerranWalkingToIdle -CharlatanGndAttkInit: - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - goto CharlatanGndAttkRpt -CharlatanGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 1603 1605 # Charlatan weapon fire 01, 02, 03 - attackwith 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto EcclesiastGndAttkToIdle - # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: # 1382 Arclite Shock Cannon Hit (Damageless) (thingy\mushroom.grp) @@ -43364,14 +43242,14 @@ Init VagrantInit Death VagrantDeath GndAttkInit VagrantGndAttkInit AirAttkInit VagrantGndAttkInit -Unused1 VagrantUnused1 +Unused1 EcclesiastUnused1 GndAttkRpt VagrantGndAttkRpt AirAttkRpt VagrantGndAttkRpt CastSpell [NONE] -GndAttkToIdle VagrantGndAttkToIdle -AirAttkToIdle VagrantGndAttkToIdle +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle Unused2 [NONE] -Walking VagrantWalking +Walking EcclesiastWalking WalkingToIdle InfestedTerranWalkingToIdle SpecialState1 [NONE] SpecialState2 [NONE] @@ -43388,19 +43266,6 @@ WarpIn VagrantWarpIn VagrantInit: imgul 1277 0 -2 # Vagrant Shadow (cm\protoss\vagrant-shad.grp) goto InfestedTerranWalkingToIdle - -VagrantGndAttkToIdle: - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - playfram 0x00 - wait 1 - goto ScourgeLocal00 VagrantDeath: playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV @@ -43409,17 +43274,6 @@ VagrantDeath: lowsprul 847 0 0 # Protoss Unit Rubble Small wait 1 end - -VagrantUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 # Cantavis revive 01 - imgol 1445 0 0 # Zealot death reversed - wait 12 - setfldirect 12 - nobrkcodeend - goto InfestedTerranWalkingToIdle VagrantGndAttkInit: playfram 0x120 @@ -43440,34 +43294,7 @@ VagrantGndAttkRpt: nobrkcodeend gotorepeatattk ignorerest - goto VagrantGndAttkToIdle - -VagrantWalking: - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x20 - move 5 - wait 1 - playfram 0x40 - move 5 - wait 1 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - goto VagrantWalking + goto EcclesiastGndAttkToIdle VagrantWarpIn: imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) @@ -49384,14 +49211,14 @@ Init PotentateInit Death PotentateDeath GndAttkInit PotentateGndAttkInit AirAttkInit PotentateGndAttkInit -Unused1 PotentateUnused1 +Unused1 EcclesiastUnused1 GndAttkRpt PotentateGndAttkRpt AirAttkRpt PotentateGndAttkRpt CastSpell [NONE] -GndAttkToIdle PotentateGndAttkToIdle -AirAttkToIdle PotentateGndAttkToIdle +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle Unused2 [NONE] -Walking PotentateWalking +Walking EcclesiastWalking WalkingToIdle InfestedTerranWalkingToIdle SpecialState1 PotentateMeleeAttkRpt SpecialState2 [NONE] @@ -49408,17 +49235,6 @@ WarpIn PotentateWarpIn PotentateInit: imgul 1172 0 0 # Potentate Shadow (cm\protoss\potentate-shad.grp) goto InfestedTerranWalkingToIdle - -PotentateGndAttkToIdle: - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - goto InfestedTerranWalkingToIdle PotentateDeath: playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV @@ -49427,17 +49243,6 @@ PotentateDeath: lowsprul 818 0 0 # Potentate Remains wait 1 end - -PotentateUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 # Cantavis revive 01 - imgol 1445 0 0 # Zealot death reversed - wait 12 - setfldirect 12 - nobrkcodeend - goto InfestedTerranWalkingToIdle PotentateGndAttkInit: sigorder 32 @@ -49462,7 +49267,7 @@ PotentateGndAttkRpt: nobrkcodeend gotorepeatattk ignorerest - goto PotentateGndAttkToIdle + goto EcclesiastGndAttkToIdle PotentateMeleeAttkRpt: playfram 0x1C0 @@ -49484,33 +49289,6 @@ PotentateMeleeAttkRpt: ignorerest goto InfestedTerranWalkingToIdle -PotentateWalking: - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x20 - move 5 - wait 1 - playfram 0x40 - move 5 - wait 1 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - goto PotentateWalking - PotentateWarpIn: imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) goto ScourgeLocal00 @@ -49822,11 +49600,11 @@ IsId 764 Type 12 Init HotshotInit Death MadcapDeath -GndAttkInit HotshotGndAttkInit -AirAttkInit HotshotGndAttkInit +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit Unused1 [NONE] -GndAttkRpt HotshotGndAttkRpt -AirAttkRpt HotshotGndAttkRpt +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt CastSpell [NONE] GndAttkToIdle MadcapGndAttkToIdle AirAttkToIdle MadcapGndAttkToIdle @@ -49838,32 +49616,9 @@ SpecialState1 [NONE] # ----------------------------------------------------------------------------- # HotshotInit: - imgul 1142 0 0 # Madcap Shadow (cm\terran\madcap-shad.grp) + imgul 1777 0 0 # Hotshot Shadow (cm\faction-t\hotshot-shadow.grp) goto MadcapWalkingToIdle -HotshotGndAttkInit: - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 -HotshotGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2617 2618 # Hotshot weaponfire 01, 02 - attack - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - nobrkcodeend - gotorepeatattk - ignorerest - goto MadcapGndAttkToIdle - # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: # 1785 Qilin (cm\faction\qilin.grp) @@ -50000,7 +49755,7 @@ GndAttkToIdle LegionnaireGndAttkToIdle AirAttkToIdle [NONE] Unused2 [NONE] Walking LegionnaireWalking -WalkingToIdle LegionnaireWalkingToIdle +WalkingToIdle MadcapWalkingToIdle SpecialState1 [NONE] SpecialState2 [NONE] AlmostBuilt [NONE] @@ -50015,7 +49770,7 @@ WarpIn LegionnaireWarpIn AdherentInit: imgul 1793 0 0 # Adherent Shadow (cm\faction-p\adherent-shadow.grp) - goto LegionnaireWalkingToIdle + goto MadcapWalkingToIdle AdherentGndAttkInit: playfram 0x100 @@ -51829,7 +51584,7 @@ Death ZealotDeath GndAttkInit ZealotGndAttkInit AirAttkInit [NONE] Unused1 ZealotUnused1 -GndAttkRpt ZealotGndAttkInit +GndAttkRpt ZealotGndAttkRpt AirAttkRpt [NONE] CastSpell [NONE] GndAttkToIdle ZealotGndAttkToIdle @@ -51849,33 +51604,10 @@ WarpIn ZealotWarpIn .headerend # ----------------------------------------------------------------------------- # -#ZealotStarboundGndAttkInit: -# playfram 0x00 -# wait 1 -#ZealotStarboundGndAttkRpt: -# playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV | Protoss\ZEALOT\pzeAtt01.WAV -# playfram 0x11 -# wait 1 -# nobrkcodestart -# playfram 0x22 -# wait 1 -# playfram 0x33 -# wait 1 -# playfram 0x44 -# attackmelee 1 3228 # Zealot (Starbound) weaponhit 01 -# wait 1 -# playfram 0x33 -# wait 1 -# playfram 0x22 -# attackmelee 1 3228 # Zealot (Starbound) weaponhit 01 -# wait 1 -# playfram 0x11 -# wait 1 -# playfram 0x00 -# nobrkcodeend -# gotorepeatattk -# ignorerest -# goto ZealotGndAttkToIdle +ZealotStarboundGndAttkInit: + playfram 0x00 + wait 1 + goto ZealotWalkingToIdle # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: @@ -51938,17 +51670,17 @@ IsId 800 Type 21 Init CicatusInit Death LegionnaireDeath -GndAttkInit CicatusGndAttkInit +GndAttkInit LegionnaireGndAttkInit AirAttkInit [NONE] Unused1 [NONE] -GndAttkRpt CicatusGndAttkRpt +GndAttkRpt LegionnaireGndAttkRpt AirAttkRpt [NONE] CastSpell [NONE] GndAttkToIdle LegionnaireGndAttkToIdle AirAttkToIdle [NONE] Unused2 [NONE] Walking LegionnaireWalking -WalkingToIdle LegionnaireWalkingToIdle +WalkingToIdle MadcapWalkingToIdle SpecialState1 [NONE] SpecialState2 [NONE] AlmostBuilt [NONE] @@ -51963,28 +51695,6 @@ WarpIn LegionnaireWarpIn CicatusInit: imgul 1959 0 0 # Cicatus Shadow (cm\faction-p\cicatus-shadow.grp) - goto HarakanWalkingToIdle - -CicatusGndAttkInit: - playfram 0x100 -CicatusGndAttkRpt: - playfram 0x100 - nobrkcodestart - wait 1 - playsnd 1896 # Legionnaire weapon fire 01 - playfram 0x120 - attackmelee 1 1897 # Legionnaire weapon hit 01 - wait 1 - playfram 0x140 - attackmelee 1 1897 # Legionnaire weapon hit 01 - wait 1 - playfram 0x160 - wait 1 - nobrkcodeend - playfram 0x120 - wait 1 - gotorepeatattk - ignorerest - goto LegionnaireGndAttkToIdle + goto MadcapWalkingToIdle ## Next free IsId: 801 \ No newline at end of file diff --git a/mpq/unit/cm/faction-p/cicatus-shadow.grp b/mpq/unit/cm/faction-p/cicatus-shadow.grp index ee7b112..443e4e6 100644 Binary files a/mpq/unit/cm/faction-p/cicatus-shadow.grp and b/mpq/unit/cm/faction-p/cicatus-shadow.grp differ diff --git a/mpq/unit/cm/faction-p/cicatus.grp b/mpq/unit/cm/faction-p/cicatus.grp index e535e7e..c14c99b 100644 Binary files a/mpq/unit/cm/faction-p/cicatus.grp and b/mpq/unit/cm/faction-p/cicatus.grp differ diff --git a/mpq/unit/cm/faction-p/zealot-starbound.grp b/mpq/unit/cm/faction-p/zealot-starbound.grp index 6f6f1bc..dac16fc 100644 Binary files a/mpq/unit/cm/faction-p/zealot-starbound.grp and b/mpq/unit/cm/faction-p/zealot-starbound.grp differ diff --git a/mpq/unit/cm/protoss/golem-shadow.grp b/mpq/unit/cm/protoss/golem-shadow.grp index 1620e45..9080246 100644 Binary files a/mpq/unit/cm/protoss/golem-shadow.grp and b/mpq/unit/cm/protoss/golem-shadow.grp differ diff --git a/mpq/unit/cm/protoss/golem.grp b/mpq/unit/cm/protoss/golem.grp index 5598587..24a228f 100644 Binary files a/mpq/unit/cm/protoss/golem.grp and b/mpq/unit/cm/protoss/golem.grp differ diff --git a/mpq/unit/cm/protoss/legionnaire-shadow.grp b/mpq/unit/cm/protoss/legionnaire-shadow.grp index e749cd8..51eb1ef 100644 Binary files a/mpq/unit/cm/protoss/legionnaire-shadow.grp and b/mpq/unit/cm/protoss/legionnaire-shadow.grp differ diff --git a/mpq/unit/cm/protoss/legionnaire.grp b/mpq/unit/cm/protoss/legionnaire.grp index 385b85e..c28c017 100644 Binary files a/mpq/unit/cm/protoss/legionnaire.grp and b/mpq/unit/cm/protoss/legionnaire.grp differ diff --git a/mpq/unit/cm/terran/madcap-shadow.grp b/mpq/unit/cm/terran/madcap-shadow.grp index cab5b20..9b7342b 100644 Binary files a/mpq/unit/cm/terran/madcap-shadow.grp and b/mpq/unit/cm/terran/madcap-shadow.grp differ diff --git a/mpq/unit/cm/terran/madcap.grp b/mpq/unit/cm/terran/madcap.grp index 18cfc3d..21b2cf3 100644 Binary files a/mpq/unit/cm/terran/madcap.grp and b/mpq/unit/cm/terran/madcap.grp differ diff --git a/mpq/unit/cm/zerg/ocsal-cesiant.grp b/mpq/unit/cm/zerg/ocsal-cesiant.grp index 8fe9dfe..f617b49 100644 Binary files a/mpq/unit/cm/zerg/ocsal-cesiant.grp and b/mpq/unit/cm/zerg/ocsal-cesiant.grp differ diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index 7ed53d3..2e59a3e 100644 Binary files a/mpq/unit/cmdbtns/cmdicons.grp and b/mpq/unit/cmdbtns/cmdicons.grp differ diff --git a/mpq/unit/cmdbtns/uniticons.grp b/mpq/unit/cmdbtns/uniticons.grp index ad00345..3beaa4f 100644 Binary files a/mpq/unit/cmdbtns/uniticons.grp and b/mpq/unit/cmdbtns/uniticons.grp differ diff --git a/patchnotes.md b/patchnotes.md index d90e580..47eb68d 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -1,5 +1,5 @@ -# 11 January 2024 -## Year 3, month 1, patch 1 +# 25 January 2024 +## Year 3, month 1, patch 2 This patch will include new features, balance adjustments, bugfixes, and audiovisual improvements. @@ -7,127 +7,73 @@ Download [Fraud Launcher 2](https://fraudsclub.com/files/Fraud%20Launcher%202.zi We are still hunting for desyncs! Please submit your `Critical` and `Sync Randoms` text files from the `logs` folder to the **cm-issues** "[Desync error megathread](https://discord.com/channels/139276012058968064/1251318131671175198)" on [our Discord server](https://discord.com/invite/s5SKBmY). -## Mechanics -- Energy regeneration is now interrupted while the specialist is stunned - -## Game Modes -- **Uprising:** - - Fixed ground spawners appearing on islands (c. Veeq7) - - Reduced training time of **Broodspawn** - - Tweaked the composition of some existing spawners - - Added many new spawner types in tiers 1 & 2 - -## Console -- **NEW:** `race` command, gets the player of the selected unit's race - - Note that this may not be the same race as the selected unit, e.g. in cases of mind control - - 0 is Zerg, 1 is Terran, 2 is Protoss - -## Editor -- **Kill Units at Location** vanilla trigger action functionality has been restored (r. 3crow/Kenoli, c. DF) -- **set_race** custom trigger action no longer fails to set Protoss or Terran races correctly -- **NEW:** `player_is_race` custom trigger condition (may see changes later) -- **NEW:** Volatile Egg unit (id 416) - - blocks construction, but not worker movement when harvesting, allowing for SC1-style barriers - - when placed for P1-P8 and cloaked, any preplaced units for that player will be created, allowing players to select their race without spawning melee units +## Resources +- **Vespene Geyser**s and **Vespene Ridge**s now have smaller collision profiles, slightly increasing the value of oversaturation ## AI -- **Star Sovereign**s now activate Grief of All Gods more liberally -- Fixed Terran AI having impossible requirements for training *Silvertongue**s and **Magnetar**s +- Updated aiscripts to properly use factional replacements in scenarios + +## Editor +- **NEW:** Units preplaced for 'user select' players are now created at map start (use responsibly...) +- **NEW:** Units preplaced with the 'lifted' unit property are now only created for players if the unit's race matches the player's race +- **NEW:** Volatile Egg unit (id 416) + - when placed for P1-P8 and cloaked, any preplaced units for that player will be created, allowing players to select their race without spawning melee units ## Bugfixes - **Stability:** - - Slightly reduced selection limit (252 » 246) to prevent action buffer instability - - Fixed rare crashes at game end (r. TopRamen, c. DF) + - Fixed null unit crash related to **Patriarch** banter (r. Neblime & jakulangski) + - Attempt to fix a middle mouse button scroll crash (r. TopRamen & iliektoeatgrass; c. DF, Jesse, & Veeq7) - **Gameplay:** - - Unloading structures is now more generous (still needs work; b. Londier, c. Veeq7) - - Units with **Interception** (e.g. **Siren** and **Cataphract**) no longer fail to damage **Larva**e and **Rilirokor**s (r. TheNightFox) - - Didact Shroud of Adun is no longer disabled after Recalling (r. GreenEggs'NSpam & Londier) - - Melee splash units (and the **Vilgorokor**) no longer deal damage out of sync with their animation (r. Kenoli & Krankendau, a. DF) - - When **Axitrilisk**s are reclaimed with no weapon, they now restart the **Perpetual Wind** timer (r. GreenEggs'NSpam & TheNightFox) - - Auras from **Azazel**, **Seraph**, **Crucible**, **Barghest**, **Sycophant**, **Manifold**, **Matraleth**, and **Sasyrvoleth** are now deactivated while the unit is stunned (r. Londier) - - **Hypnagogue** corpses can now be interacted with (r. GreenEggs'NSpam) - - Fixed bad interactions between Tyranny of the Sun and **Aurora** Last Orders - - Fixed being able to enter non-mutual ally transports (r. Londier & billy) - - Fixed being able to load neutral units into transports - - Fixed edge case turn rate issues with **Diadem**s (r. GreenEggs'NSpam) - - **Ultrokor**s no longer consume corpses while burrowed (r. Londier) - - **Qilin**s no longer fail to continue healing after a single unload (r. Londier) -- **Audiovisual:** - - **Broodspawn** spawning SFX no longer plays globally - - **Blackjack**s no longer change facing angle when their sprite changes - - Reviving **Centaur**s no longer create permanent explosion graphics (r. beriso) - - Preferred player colors now override racial player color bans (r. Wolfmaw) - - Resolved 'invalid shield overlay' error for **Tetcaerokor** (r. beriso) - - **Fore Castle** shield overlays no longer proc when hit by **Psionic Storm** (r. Londier) - - Corrected poor fire placements for the **Biotic Bastion**'s damage overlay - - Witness and replay UI is no longer drawn over ingame menus (c. DF) + - Units will now only target Solarions over Stewards if the Solarion is within weapon range (a. Veeq7) +- **Audiovisuals:** + - Unit response randomization has been restored (c. DF) + - Unit portraits now animate when playing unit responses in-game (c. DF) + - **Hotshots** now use their shadows instead of the **Madcap**'s + - Player names (and damage taken) now display on completed structures (a. DF) ## Audiovisuals -- **New unit responses:** - - **Ecclesiast** - - **Potentate** (script a. BladehollowRWL) -- **Corpse updates:** - - **Phalanx**, tank & siege (a. ArbuzBudesh) - - **Gorgrokor** (c. ArbuzBudesh) -- **Projectile updates:** - - **Atreus** (bigger projectile) +- New sprites for: + - Golem + - Ocsal Cesiant +- Updated sprite for: + - Madcap (a. Solstice) + - Zealot (Starbound) + - Legionnaire + - Cicatus ## Terran -- **Reclamation:** - - Initial heal for reclaimed units is now granted over 10 seconds, from 3 seconds - - Reclaimed specialists begin with 0 energy, from full -- [Apostle](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/apostle): - - **Charon Rifle:** - - Weapon damage 1x10 » 1x15 - - Weapon cooldown 1 » 1.5 - - Weapon range 5 » 6 -- [Autocrat](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/autocrat): - - **Eminence Rifle:** - - Weapon cooldown 1.33 » 1.5 - - Weapon range 6 » 5 -- [Valkyrie](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/valkyrie): - - **Halo Rockets:** - - Weapon cooldown 1.5 » 1.08 - - No longer deal splash damage to units owned by an allied player -- **NEW:** [Harakan (Golden)](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/harakan-golden) - - Fast-moving frontliner with plasma shields; trained from the Stockade - - Available for the **Golden Republic** -- [Aspirant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/aspirant): - - Mineral cost 175 » 150 - - Armor 2 » 3 - - **Criticality:** - - No longer procs on Aspirant death - - No longer heals enemies of the Aspirant - - Now applies a 2-second debuff to victims, and procs on their death if they die during this debuff -- [Cohort](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cohort): - - **New: Servile Vigor:** - - Revives once after death, with a 10-second timed life; consumes a corpse to become permanent again +- [Morningstar](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/morningstar): + - Build time 40 » 25 +- [Goliath](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/goliath): + - **Twin Autocannons**: + - Weapon damage 1x4 » 1x5 +- [Matador](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/matador): + - HP 150 » 160 +- [Stockade](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/stockade): + - Resource costs 150/0 » 125/0 +- [Fulcrum](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/fulcrum): + - Resource costs 200/50 » 175/50 +- [Rotary](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/rotary): + - Resource costs 200/75 » 125/75 + - Build time 35 » 25 +- [Hadron](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/hadron): + - Resource costs 250/500 » 250/350 ## Protoss -- [Artisan](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/artisan): - - **Neutron Saber:** - - Armor penetration 2 » 0 - - Weapon range 3 » 1 - - Weapon cooldown 0.92 » 1.08 +- [Dracadin](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/dracadin): + - Resource costs 125/25 » 150/25 +- [Atreus](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/atreus): + - HP 160 » 180 +- [Barghest](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/barghest): + - HP 50 » 80 - [Golem](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/golem): - - **Tranquility Array** now has a third-of-a-second internal cooldown -- [Lanifect](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/lanifect): - - **Neutron Flare:** - - No longer deals splash damage to units owned by an allied player -- [Gladius](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/gladius): - - Movement speed 5 » 4.38 -- **NEW:** [Cicatus](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/cicatus): - - Nihilistic frontline vandal; warped from the Gateway - - Available for the **Starbound** + - Collision size slightly adjusted to fit new model +- [Servitor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/servitor): + - HP 100 » 120 +- [Steward](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/steward): + - Armor 3 » 2 ## Zerg -- [Gosvileth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/gosvileth): - - **Gosvil Spines:** - - Armor penetration 2 » 0 - - Weapon cooldown 0.92 » 1.08 -- [Bactalisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/bactalisk): - - **Corrosive Acid:** - - Weapon cooldown 1.08 » 1.17 -- **NEW:** [Iziralisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/iziralisk) - - Short-range rending assault strain; requires the Hydrith Den - - Available for the **Zorthos Tendril** \ No newline at end of file +- **Broodspawn**: + - **Death Cycle**: + - Ensnare timer 3 seconds » 1 second \ No newline at end of file diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 7481a11..363638a 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ