diff --git a/mpq/arr/flingy.txt b/mpq/arr/flingy.txt index f7bd628f..d669093f 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -506,7 +506,7 @@ Spoke Shell Adherent Extatus Nathrelisk -Iziralisk +Unused Anchor (Grounded) Carapace Swarm (Small) Chokralgant Chazsal diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index 5e8916f8..d3c49f4c 100644 Binary files a/mpq/arr/images.datex and b/mpq/arr/images.datex differ diff --git a/mpq/arr/images.txt b/mpq/arr/images.txt index 5a8e4ec1..f156897e 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -1798,10 +1798,10 @@ Extatus Engines Nathrelisk Nathrelisk Shadow Nathrelisk Birth -Iziralisk -Iziralisk Shadow -Iziralisk Birth -Iziralisk Remains +Unused +Unused +Unused +Unused Anchor (Grounded) Anchor (Grounded) Shadow Carapace Swarm (Small) diff --git a/mpq/arr/sprites.txt b/mpq/arr/sprites.txt index 4a45e6e6..cc9e4849 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -896,7 +896,7 @@ Spoke Shell Adherent Extatus Nathrelisk -Iziralisk +Unused Anchor (Grounded) Carapace Swarm (Small) Fusion Cutter Hit Damageless diff --git a/mpq/arr/units.txt b/mpq/arr/units.txt index 4eb7ad48..37353fe7 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -509,7 +509,7 @@ Terran Tartarus Mine (Hecaton) Terran Madrigal (Hecaton, Furia) Madrigal Turret (Hecaton, Furia) Askosi Bounty -Extended Unit #284 +Zerg Azanthrokor (Orkoti) Extended Unit #285 Extended Unit #286 Extended Unit #287 diff --git a/mpq/game/icons.grp b/mpq/game/icons.grp index f53a6e5a..c761923e 100644 Binary files a/mpq/game/icons.grp and b/mpq/game/icons.grp differ diff --git a/mpq/scripts/iscript_terran.bin b/mpq/scripts/iscript_terran.bin index 5df171e5..edf49be2 100644 Binary files a/mpq/scripts/iscript_terran.bin and b/mpq/scripts/iscript_terran.bin differ diff --git a/mpq/scripts/iscript_terran.txt b/mpq/scripts/iscript_terran.txt index 8ddd8c25..c54dca0b 100644 --- a/mpq/scripts/iscript_terran.txt +++ b/mpq/scripts/iscript_terran.txt @@ -15725,7 +15725,7 @@ CyprianGndAttkInit: playfram 0x140 wait 1 playfram 0x160 - wait 9 + wait 6 CyprianGndAttkRpt: wait 1 nobrkcodestart diff --git a/mpq/scripts/iscript_zerg.bin b/mpq/scripts/iscript_zerg.bin index 773e93f3..2bb04d2d 100644 Binary files a/mpq/scripts/iscript_zerg.bin and b/mpq/scripts/iscript_zerg.bin differ diff --git a/mpq/scripts/iscript_zerg.txt b/mpq/scripts/iscript_zerg.txt index 7536af5d..17d7b850 100644 --- a/mpq/scripts/iscript_zerg.txt +++ b/mpq/scripts/iscript_zerg.txt @@ -17051,7 +17051,7 @@ KethrajKeepIsWorking: # This header is used by images.dat entries: # 1800 Iziralisk (cm\faction-z\iziralisk.grp) .headerstart -IsId 636 +IsId 834 Type 26 Init IziraliskInit Death IziraliskDeath @@ -17065,8 +17065,8 @@ GndAttkToIdle IziraliskGndAttkToIdle AirAttkToIdle IziraliskGndAttkToIdle Unused2 [NONE] Walking IziraliskWalking -WalkingToIdle IziraliskWalkingToIdle -SpecialState1 SkryrokorLocal00 +WalkingToIdle IziraliskGndAttkToIdle +SpecialState1 [NONE] SpecialState2 IziraliskSpecialState2 AlmostBuilt [NONE] Built [NONE] @@ -17085,10 +17085,9 @@ Enable [NONE] # ----------------------------------------------------------------------------- # IziraliskInit: - imgul 1801 0 0 # Iziralisk Shadow (cm\faction-z\iziralisk-shadow.grp) - goto IziraliskWalkingToIdle + imgul 1473 0 0 # Iziralisk Shadow (cm\zerg\izirokor-shad.grp) IziraliskGndAttkToIdle: - playfram 0xAA + playfram 0x00 goto IziraliskLocal00 IziraliskLocal00: @@ -17097,45 +17096,53 @@ IziraliskLocal00: goto IziraliskLocal00 IziraliskLocal01: - playfram 0x99 + playfram 0x11 wait 1 - playfram 0xAA + playfram 0x22 wait 1 - playfram 0xBB + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 wait 1 - playfram 0xCC - wait 4 randcondjmp 34 IziraliskLocal02 - playfram 0xBB + playfram 0x55 wait 1 - playfram 0xAA + playfram 0x44 wait 1 - playfram 0x99 + playfram 0x33 wait 1 - goto IziraliskWalkingToIdle + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + goto IziraliskGndAttkToIdle IziraliskLocal02: - playfram 0xBB - wait 1 - playfram 0xAA - wait 3 randcondjmp 62 IziraliskLocal03 randcondjmp 51 IziraliskLocal04 - playfram 0xBB + playfram 0x77 wait 1 - playfram 0xCC + playfram 0x88 wait 1 - playfram 0xBB + playfram 0x99 wait 1 - goto IziraliskWalkingToIdle + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + goto IziraliskGndAttkToIdle IziraliskLocal03: - playfram 0x99 - wait 4 - playfram 0x11 + playfram 0x55 wait 1 turnccwise 1 - playfram 0x22 + playfram 0x44 wait 1 turnccwise 1 playfram 0x33 @@ -17147,15 +17154,13 @@ IziraliskLocal03: playfram 0x11 wait 1 turnccwise 1 - goto IziraliskWalkingToIdle + goto IziraliskGndAttkToIdle IziraliskLocal04: - playfram 0x99 - wait 4 - playfram 0x11 + playfram 0x55 wait 1 turncwise 1 - playfram 0x22 + playfram 0x44 wait 1 turncwise 1 playfram 0x33 @@ -17167,27 +17172,12 @@ IziraliskLocal04: playfram 0x11 wait 1 turncwise 1 - goto IziraliskWalkingToIdle + goto IziraliskGndAttkToIdle IziraliskDeath: playsnd 1506 # Iziralisk death 01 - setfldirect 0 - playfram 459 - wait 2 - playfram 460 - wait 2 - playfram 461 - wait 2 - playfram 462 - wait 2 - playfram 463 - wait 2 - playfram 464 - wait 2 - playfram 465 - wait 2 - playfram 466 - wait 2 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 lowsprul 763 0 0 # Iziralisk Remnants (cm\zerg\izirokor-corpse.grp) wait 2 end @@ -17219,69 +17209,78 @@ IziraliskUnused1: wait 2 setfldirect 14 nobrkcodeend - goto IziraliskWalkingToIdle + goto IziraliskGndAttkToIdle IziraliskGndAttkInit: - playfram 0x99 + playfram 0x1ba wait 1 - playfram 0xAA + playfram 0x1dc IziraliskGndAttkRpt: - wait 1 nobrkcodestart playsndbtwn 1880 1881 # Iziralisk weapon fire 01, 02 wait 1 - playfram 0xBB wait 1 - playfram 0xCC - attackwith 1 - wait 2 - playfram 0xDD - wait 2 - playfram 0xEE + playfram 0x1fe wait 1 - playfram 0xFF + playfram 0x20f + attack wait 2 - playfram 0x110 + playfram 0x220 + wait 2 + playfram 0x231 wait 1 - playfram 0x121 + playfram 0x242 + wait 2 + playfram 0x253 + wait 1 + playfram 0x264 wait 1 nobrkcodeend - playfram 0x132 - wait 1 gotorepeatattk goto IziraliskGndAttkToIdle IziraliskWalking: move 5 wait 1 - playfram 0x11 + playfram 0x110 move 5 wait 1 - playfram 0x22 + playfram 0x121 move 5 wait 1 - playfram 0x33 + playfram 0x132 move 5 wait 1 - playfram 0x44 + playfram 0x143 move 5 wait 1 - playfram 0x55 + playfram 0x154 move 5 wait 1 - playfram 0x66 + playfram 0x165 move 5 wait 1 - playfram 0x77 + playfram 0x176 move 5 wait 1 - playfram 0x88 + playfram 0x187 + move 5 + wait 1 + playfram 0x198 + move 5 + wait 1 + playfram 0x1a9 + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff goto IziraliskWalking -IziraliskWalkingToIdle: - playfram 0x0 - goto IziraliskLocal00 - IziraliskSpecialState2: playfram 0x187 goto SkryrokorLocal00 @@ -17289,25 +17288,25 @@ IziraliskSpecialState2: IziraliskBurrow: imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 + playfram 0x286 wait 1 - playfram 0x154 + playfram 0x297 wait 1 - playfram 0x165 + playfram 0x2a8 wait 1 - playfram 0x176 + playfram 0x2b9 wait 1 - playfram 0x187 + playfram 0x2ca imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) wait 1 - playfram 0x198 + playfram 0x2db wait 1 - playfram 0x1A9 + playfram 0x2ec wait 1 sigorder 4 - playfram 0x1BA + playfram 0x2fd goto SkryrokorLocal00 IziraliskUnburrow: @@ -17315,20 +17314,20 @@ IziraliskUnburrow: waitrand 1 2 imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x1A9 + playfram 0x2ec wait 1 - playfram 0x198 + playfram 0x2db wait 1 - playfram 0x187 + playfram 0x2ca wait 1 - playfram 0x176 + playfram 0x2b9 imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) wait 1 - playfram 0x165 + playfram 0x2a8 wait 1 - playfram 0x154 + playfram 0x297 wait 1 sigorder 4 setfldirect 14 - goto IziraliskWalkingToIdle \ No newline at end of file + goto IziraliskGndAttkToIdle \ No newline at end of file diff --git a/mpq/sound/cm/z/kethrostalor/wh-01.wav b/mpq/sound/cm/z/kethrostalor/wh-01.wav index f0158f7f..5ddff61e 100644 Binary files a/mpq/sound/cm/z/kethrostalor/wh-01.wav and b/mpq/sound/cm/z/kethrostalor/wh-01.wav differ diff --git a/mpq/sound/cm/z/kethrostalor/wh-02.wav b/mpq/sound/cm/z/kethrostalor/wh-02.wav index 9c5e7e99..ddc51ff3 100644 Binary files a/mpq/sound/cm/z/kethrostalor/wh-02.wav and b/mpq/sound/cm/z/kethrostalor/wh-02.wav differ diff --git a/mpq/sound/cm/z/kethrostalor/wh-03.wav b/mpq/sound/cm/z/kethrostalor/wh-03.wav index 88a83083..c5e348fc 100644 Binary files a/mpq/sound/cm/z/kethrostalor/wh-03.wav and b/mpq/sound/cm/z/kethrostalor/wh-03.wav differ diff --git a/mpq/sound/cm/z/kethrostalor/wh-04.wav b/mpq/sound/cm/z/kethrostalor/wh-04.wav index b9d93f41..2c5839fb 100644 Binary files a/mpq/sound/cm/z/kethrostalor/wh-04.wav and b/mpq/sound/cm/z/kethrostalor/wh-04.wav differ diff --git a/mpq/sound/cm/z/kethrostalor/wh-05.wav b/mpq/sound/cm/z/kethrostalor/wh-05.wav index dec0c5b0..9a84b8b9 100644 Binary files a/mpq/sound/cm/z/kethrostalor/wh-05.wav and b/mpq/sound/cm/z/kethrostalor/wh-05.wav differ diff --git a/mpq/sound/cm/z/ultrokor/eat-01.wav b/mpq/sound/cm/z/ultrokor/eat-01.wav index 07494222..4eff55cf 100644 Binary files a/mpq/sound/cm/z/ultrokor/eat-01.wav and b/mpq/sound/cm/z/ultrokor/eat-01.wav differ diff --git a/mpq/sound/cm/z/ultrokor/eat-02.wav b/mpq/sound/cm/z/ultrokor/eat-02.wav index da72b916..d5900389 100644 Binary files a/mpq/sound/cm/z/ultrokor/eat-02.wav and b/mpq/sound/cm/z/ultrokor/eat-02.wav differ diff --git a/mpq/sound/cm/z/ultrokor/eat-03.wav b/mpq/sound/cm/z/ultrokor/eat-03.wav index 9d313431..e935485b 100644 Binary files a/mpq/sound/cm/z/ultrokor/eat-03.wav and b/mpq/sound/cm/z/ultrokor/eat-03.wav differ diff --git a/mpq/unit/cm/faction-z/azanthrokor.grp b/mpq/unit/cm/faction-z/azanthrokor.grp new file mode 100644 index 00000000..feea8c58 Binary files /dev/null and b/mpq/unit/cm/faction-z/azanthrokor.grp differ diff --git a/patchnotes.md b/patchnotes.md index c8e9db7b..a65db47d 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -1,80 +1,9 @@ -# 28 September 2025 -## Year 3, month 9, patch 2 +# 11 October 2025 +## Year 3, month 10, patch 1 ## Patch goals +- Implement some factional units - Continue balancing for all races - Continue Askosi development - Further improve audiovisuals and AI -- [Subscribe on ko-fi](https://ko-fi.com/pr0nogoandveeq7) to get a sneak peek of the incoming changes! - -## Bugfixes -- **Stability:** - - Prospectively resolved Zerg AI panic -- needs testing! - - Resolved more iscript errors (r. TheBeaver99) -- **Gameplay:** - - Prospectively resolved permacloak edge cases (r. Kenoli) -- needs testing! -- **Audiovisuals:** - - Made 'no corpse' behaviors spawn a consumed corpse for better visual feedback - -## Audiovisuals -- New sprite for: - - **Autocort** (c. DeltaCadimus) -- Improved sprite for: - - **Aspirant** (c. Mimika) -- New VFX for: - - Protoss unit completion (assistance by DF!) -- New SFX for: - - Unit completion (Terran, Protoss, Larvae) - - Ambient training SFX (Grand Library, Rogue Gallery, Prostration Stage, Ancestral Archives, Ardent Authority, Unitary Union, Synthetic Synod, Argosy, Monument of Sin) - - Attack windup (Optecton) - - Building response (Ancestral Archives) - - Death (Gorgrokor) -- Modified SFX for: - - Ambient training SFX (Ministry, Embassy, Lattice) - -## Terran -- For units with windups, added a slight forgiveness period to allow more movement and retargeting -- [Talos](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/talos): - - Vision range 8 » 7 -- [Cyprian](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cyprian): - - **Twin Railguns:** - - Attack windup 0 » 0.5 seconds -- [Savant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/savant): - - Vision range 9 » 7 -- [Olympian](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/olympian): - - **Dishonorable Discharge** - - No longer grants bonus armor penetration - - Now grants bonus damage equal to excess armor pen - -## Protoss -- [Optecton](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/optecton): - - **Sunsplit Beam:** - - Windup 0.95 » 1.67 -- [Manifold](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/manifold): - - Vision range 8 » 7 - - Also affects **Starbound** variant -- [Oscilliant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/oscilliant): - - **Rotating Ray:** - - Armor penetration 5 » 3 - -## Zerg -- [Izirokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/izirokor): - - Vision range 9 » 7 -- [Skithrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/izirokor): - - Vision range 9 » 7 -- [Tethzorokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethzorokor): - - Vision range 9 » 8 -- [Keskathalor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/keskathalor): - - Armor 4 » 3 - - Vision range 9 » 8 -- [Alkajelisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/alkajelisk): - - Now requires **Kethraj Keep** -- [Ulgorg Cavern](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ulgorg-cavern): - - Armor 6 » 5 -- [Zozarc Gorge](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/zozarc-gorge): - - Armor 8 » 6 -- **NEW:** [Kethrostalor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/kethrostalor): - - Unmatched artillery strain, capable of launching combatants to the frontline - - Morphed from Keskathalor; requires Kethraj Keep -- **NEW:** [Kethraj Keep](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/kethraj-keep): - - Artillery assault node; mutated from Geszkath Grotto \ No newline at end of file +- [Subscribe on ko-fi](https://ko-fi.com/pr0nogoandveeq7) to get a sneak peek of the incoming changes! \ No newline at end of file diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 16ff7c0f..fa0340a7 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ