diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 28ba659a..e5323d39 100644 Binary files a/mpq/arr/flingy.datex and b/mpq/arr/flingy.datex differ diff --git a/mpq/arr/flingy.txt b/mpq/arr/flingy.txt index 07cad901..09075298 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -635,7 +635,7 @@ Askosi Construction (Large) Askosi Construction (Medium) Askosi Construction (Small) Ogroszaleth -Extended Flingy #429 +Malkothrokor Extended Flingy #430 Extended Flingy #431 Extended Flingy #432 diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index efc217b0..fecfe2fe 100644 Binary files a/mpq/arr/images.datex and b/mpq/arr/images.datex differ diff --git a/mpq/arr/images.tbl b/mpq/arr/images.tbl index de4f4f3f..65b8bd11 100644 Binary files a/mpq/arr/images.tbl and b/mpq/arr/images.tbl differ diff --git a/mpq/arr/images.txt b/mpq/arr/images.txt index 8922c764..4e427129 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -2246,10 +2246,10 @@ Impact Dissipation (Small) Impact Dissipation (Medium) Impact Dissipation (Large) Impact Dissipation (XLarge) -Extended Image #1246 -Extended Image #1247 -Extended Image #1248 -Extended Image #1249 +Ogroszaleth Birth +Malkothrokor +Malkothrokor Shadow +Malkothrokor Remnants Extended Image #1250 Extended Image #1251 Extended Image #1252 diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index 4b8be988..ee1b0a77 100644 Binary files a/mpq/arr/sprites.datex and b/mpq/arr/sprites.datex differ diff --git a/mpq/arr/sprites.txt b/mpq/arr/sprites.txt index d438f416..95919c34 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -1087,8 +1087,8 @@ Askosi Construction (Large) Askosi Construction (Medium) Askosi Construction (Small) Ogroszaleth -Extended Sprite #573 -Extended Sprite #574 +Malkothrokor +Malkothrokor Remnants Extended Sprite #575 Extended Sprite #576 Extended Sprite #577 diff --git a/mpq/arr/techdata.datex b/mpq/arr/techdata.datex index 899a1df3..3997d1a0 100644 Binary files a/mpq/arr/techdata.datex and b/mpq/arr/techdata.datex differ diff --git a/mpq/arr/techdata.txt b/mpq/arr/techdata.txt index 762f1f86..9e61908b 100644 --- a/mpq/arr/techdata.txt +++ b/mpq/arr/techdata.txt @@ -43,7 +43,7 @@ Salvage (Talos) Through the Looking Glass (Hypnagogue) None None -Through the Looking Glass (Hypnagogue) +Hive Tissue (Malkothrokor) Lobotomy Warhead (Triton) Prying Eyes (Facade) Extended Tech #5 diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index 0152b519..12008db1 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 c1a0a453..ac5f2fe5 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -547,7 +547,7 @@ Askosi Zylode Askosi Astrolabe Terran Serathiel (Hecaton) Zerg Malkothrokor -Extended Unit #322 +Buttonset Cesiant Mutations Extended Unit #323 Extended Unit #324 Extended Unit #325 diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index f928cf6e..3cb65ecc 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 90389a9e..15f0a157 100644 --- a/mpq/arr/weapons.txt +++ b/mpq/arr/weapons.txt @@ -109,7 +109,7 @@ Hallucination (Cantavis ability) Maelstrom (Mind Tyrant ability) Subterranean Spines (Lakizilisk) Piercing Spines (Almaksalisk) -Warp Blades (Cabalist) +Warp Blade (Cabalist) Prismatic Blasters (Idol) Phase Lances (Golem) Ray of Agony (Barghest) diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index 01479e91..2be2ac8f 100644 Binary files a/mpq/datreq/Buttons.graft and b/mpq/datreq/Buttons.graft differ diff --git a/mpq/datreq/Tech.graft b/mpq/datreq/Tech.graft index 543e8d22..2fe6f204 100644 Binary files a/mpq/datreq/Tech.graft and b/mpq/datreq/Tech.graft differ diff --git a/mpq/datreq/Units.graft b/mpq/datreq/Units.graft index d321d384..a5f44e17 100644 Binary files a/mpq/datreq/Units.graft and b/mpq/datreq/Units.graft differ diff --git a/mpq/game/icons.grp b/mpq/game/icons.grp index 644b9c4e..86aad6f9 100644 Binary files a/mpq/game/icons.grp and b/mpq/game/icons.grp differ diff --git a/mpq/rez/stat.txt b/mpq/rez/stat.txt index 30e5026d..fc84995a 100644 --- a/mpq/rez/stat.txt +++ b/mpq/rez/stat.txt @@ -633,7 +633,7 @@ e<1><4>Warp in Pylon <1>(<3>E<1>)<10>Power font.<0> g<1><4>Warp in Gateway <1>(<3>G<1>)<10>Core disciple production.<0> f<1><4>Warp in Embassy <1>(<3>F<1>)<10>Utilitarian production.<0> x<1><4>Warp in Warden <1>(<3>X<1>)<10>All-purpose tower.<0> -¤<3><4>Adaptive Amitosis <2>(passive)<10>Allies within 6 range of the Kazitrith Cesiant gain two secondary attacks that deals half damage to targets within 3 range of their primary target.<0> +¤<3><4>Adaptive Amitosis <2>(passive)<10>Allies within 6 range of the Kazitrith Cesiant gain two secondary attacks that deal half damage. Secondary attacks cannot be used against the combatant's primary target.<10>This bonus does not stack.<0> r<1><4>Build Sieve <1>(<3>R<1>)<10>Vespene processor.<0> Tethzor Aspect requires:<10> Tethvith Swamp<0> r<1><4>Warp in Lattice <1>(<3>R<1>)<10>Light robotic production.<0> @@ -932,6 +932,8 @@ r<1><4>Morph into Rakzilisk <1>(<3>Q<1>)<10>Ground control strain.<0> Rakzilisk requires:<10> Rakzogth Roost<0> r<1><4>Morph into Ogroszaleth <1>(<3>Q<1>)<10>Area-denial strain.<0> Ogroszaleth requires:<10> Rakzogth Roost<0> +¤<3><4>Adaptive Amitosis <2>(passive)<10>While this strain is burrowed, allies within 6 range gain two secondary attacks that deal half damage. Secondary attacks cannot be used against the combatant's primary target.<10>This bonus does not stack.<0> +Adaptive Amitosis: Must be burrowed.<0> <0> <0> <0> @@ -1028,17 +1030,15 @@ Ogroszaleth requires:<10> Rakzogth Roost<0> <0> <0> <0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> +Intestinal Infinity:<10> Must be burrowed.<0> +c<0><4>Cesiant Mutations <1>(<3>C<1>)<0> +Gestating...<0> +t<1><4>Morph into Malkothrokor <1>(<3>T<1>)<10>Relentless hive organ.<0> +Malkothrokor requires:<10> Othstol Oviform<0> +¤<3><4>Segmented Expansion <2>(passive)<10>Malkothrokors consume any corpses they walk over, restoring 10 life per corpse.<10>After consuming 10 corpses, the Malkothrokor becomes 50% slower and gestates a new Malkothrokor over the course of 15 seconds.<0> +¤<3><4>Intestinal Infinity <2>(passive)<10>While burrowed, Malkothrokors gain 500% HP regeneration, and they generate cagra in an 8-tile radius.<0> +¤<3><4>Hive Tissues <2>(passive)<10>Malkothrokors can gestate Cesiant mutations, which attach to the Malkothrokor.<0> +Yblyleth requires:<10> Quazeth Pool<0> ¤<3><4>Power Breach <2>(passive)<10>This combatant's attacks can bounce to the nearest hostile up to three times. Each bounce occurs after a short delay and deals 25% reduced damage.<0> Askosi Biotic Bolting<0> Askosi Mechani Bolting<0> diff --git a/mpq/rez/unitnames.tbl b/mpq/rez/unitnames.tbl index 4e852bfb..ff520c7a 100644 Binary files a/mpq/rez/unitnames.tbl and b/mpq/rez/unitnames.tbl differ diff --git a/mpq/scripts/iscript_protoss.bin b/mpq/scripts/iscript_protoss.bin index de913e4a..00edab01 100644 Binary files a/mpq/scripts/iscript_protoss.bin and b/mpq/scripts/iscript_protoss.bin differ diff --git a/mpq/scripts/iscript_protoss.txt b/mpq/scripts/iscript_protoss.txt index e2e7f46d..655169da 100644 --- a/mpq/scripts/iscript_protoss.txt +++ b/mpq/scripts/iscript_protoss.txt @@ -6744,7 +6744,7 @@ WalkingToIdle StarSovereignWalkingToIdle SpecialState1 [NONE] SpecialState2 [NONE] AlmostBuilt [NONE] -Built [NONE] +Built StarSovereignWalkingToIdle Landing [NONE] LiftOff [NONE] IsWorking [NONE] diff --git a/mpq/scripts/iscript_zerg.bin b/mpq/scripts/iscript_zerg.bin index c8a082b8..6104bd92 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 63d57955..af768870 100644 --- a/mpq/scripts/iscript_zerg.txt +++ b/mpq/scripts/iscript_zerg.txt @@ -17524,44 +17524,298 @@ OgroszalethWalking: goto OgroszalethWalking OgroszalethSpecialState2: - playfram 0x88 + playfram 0xdd goto SkryrokorLocal00 OgroszalethBurrow: setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -18 15 # Burrowing Dust (thingy\bDust.grp) + playfram 0x99 wait 1 playfram 0x88 wait 1 + playfram 0x99 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 -18 # Burrowing Dust (thingy\bDust.grp) + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 9 15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 21 # Burrowing Dust (thingy\bDust.grp) + wait 1 sigorder 4 goto SkryrokorLocal00 OgroszalethUnBurrow: wait 1 setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x66 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xcc wait 1 - playfram 0x55 + playfram 0xbb wait 1 - playfram 0x44 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + playfram 0xaa wait 1 - playfram 0x33 + playfram 0x99 wait 1 - playfram 0x22 + playfram 0x88 wait 1 - playfram 0x11 + playfram 0x99 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 9 # Burrowing Dust (thingy\bDust.grp) wait 1 sigorder 4 - goto OgroszalethGndAttkToIdle \ No newline at end of file + goto OgroszalethGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2249 Malkothrokor (cm\zerg\malkothrokor.grp) +.headerstart +IsId 837 +Type 26 +Init MalkothrokorInit +Death MalkothrokorDeath +GndAttkInit MalkothrokorGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt MalkothrokorGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle MalkothrokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking MalkothrokorWalking +WalkingToIdle MalkothrokorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 MalkothrokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow MalkothrokorBurrow +UnBurrow MalkothrokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MalkothrokorInit: + imgulnextid 0 -6 # Malkothrokor Shadow (cm\zerg\malkothrokor-shadow.grp) + playfram 221 + wait 1 +MalkothrokorWalkingToIdle: + wait 125 + goto MalkothrokorWalkingToIdle + +MalkothrokorDeath: + playsnd 815 # Zerg\DEFILER\ZDeDth00.WAV + setfldirect 0 + playfram 544 + wait 2 + playfram 545 + wait 2 + playfram 546 + wait 2 + playfram 547 + wait 2 + playfram 548 + wait 2 + playfram 549 + wait 2 + playfram 550 + wait 2 + playfram 551 + wait 2 + playfram 552 + wait 2 + playfram 553 + wait 2 + playfram 554 + wait 2 + playfram 555 + wait 2 + playfram 556 + wait 2 + lowsprul 1090 0 0 # Malkothrokor Remnants (cm\zerg\malkothrokor-death.grp) + wait 1 + end + +MalkothrokorGndAttkInit: + playfram 221 + wait 1 + playfram 238 + wait 1 + playfram 255 + wait 1 + playfram 272 + wait 1 + playfram 289 + wait 1 + playfram 306 + wait 1 + playfram 323 + wait 1 + playfram 340 + wait 1 +MalkothrokorGndAttkRpt: + nobrkcodestart + playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV | Zerg\Ultra\zulAtt01.WAV | Zerg\Ultra\zulAtt02.WAV + playfram 0 + wait 1 + playfram 17 + wait 1 + playfram 34 + wait 1 + playfram 51 + wait 1 + playfram 68 + wait 1 + playfram 85 + wait 1 + attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + playfram 68 + wait 1 + playfram 51 + wait 1 + playfram 34 + wait 1 + playfram 17 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +MalkothrokorGndAttkToIdle: + playfram 221 + wait 1 + playfram 238 + wait 1 + playfram 255 + wait 1 + playfram 272 + wait 1 + playfram 289 + wait 1 + playfram 306 + wait 1 + playfram 323 + wait 1 + playfram 340 + wait 1 + goto MalkothrokorWalkingToIdle + +MalkothrokorWalking: + playfram 357 + move 4 + wait 1 + playfram 374 + move 4 + wait 1 + playfram 391 + move 4 + wait 1 + playfram 408 + move 4 + wait 1 + playfram 425 + move 4 + wait 1 + playfram 442 + move 4 + wait 1 + playfram 459 + move 4 + wait 1 + playfram 476 + move 4 + wait 1 + playfram 493 + move 4 + wait 1 + playfram 510 + move 4 + wait 1 + playfram 527 + move 4 + wait 1 + goto MalkothrokorWalking + +MalkothrokorSpecialState2: + playfram 0x187 + goto SkryrokorLocal00 + +MalkothrokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -18 15 # Burrowing Dust (thingy\bDust.grp) + playsnd 1093 # Zerg\LURKER\ZLuBurrw.wav + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 -18 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x154 + wait 1 + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 + playfram 0x187 + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 9 15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 21 # Burrowing Dust (thingy\bDust.grp) + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +MalkothrokorUnBurrow: + wait 1 + waitrand 1 2 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x176 + wait 1 + playfram 0x165 + wait 1 + playfram 0x154 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x121 + wait 1 + playfram 0x110 + wait 1 + playfram 0xff + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 9 # Burrowing Dust (thingy\bDust.grp) + wait 1 + sigorder 4 + goto MalkothrokorGndAttkToIdle \ No newline at end of file diff --git a/mpq/unit/cm/zerg/malkothrokor-death.grp b/mpq/unit/cm/zerg/malkothrokor-death.grp new file mode 100644 index 00000000..8c435249 Binary files /dev/null and b/mpq/unit/cm/zerg/malkothrokor-death.grp differ diff --git a/mpq/unit/cm/zerg/malkothrokor-shadow.grp b/mpq/unit/cm/zerg/malkothrokor-shadow.grp new file mode 100644 index 00000000..4bc6a2f0 Binary files /dev/null and b/mpq/unit/cm/zerg/malkothrokor-shadow.grp differ diff --git a/mpq/unit/cm/zerg/malkothrokor.grp b/mpq/unit/cm/zerg/malkothrokor.grp new file mode 100644 index 00000000..eaebe532 Binary files /dev/null and b/mpq/unit/cm/zerg/malkothrokor.grp differ diff --git a/mpq/unit/cm/zerg/ogroszaleth-attack.lol b/mpq/unit/cm/zerg/ogroszaleth-attack.lol new file mode 100644 index 00000000..0e91c2db Binary files /dev/null and b/mpq/unit/cm/zerg/ogroszaleth-attack.lol differ diff --git a/mpq/unit/cm/zerg/ogroszaleth-birth.grp b/mpq/unit/cm/zerg/ogroszaleth-birth.grp new file mode 100644 index 00000000..99e0158b Binary files /dev/null and b/mpq/unit/cm/zerg/ogroszaleth-birth.grp differ diff --git a/mpq/unit/cm/zerg/ogroszaleth.grp b/mpq/unit/cm/zerg/ogroszaleth.grp index 401293f4..9a0380a9 100644 Binary files a/mpq/unit/cm/zerg/ogroszaleth.grp and b/mpq/unit/cm/zerg/ogroszaleth.grp differ diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index c664643c..c9f71c7f 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 88e6e4e2..fcc97484 100644 Binary files a/mpq/unit/cmdbtns/uniticons.grp and b/mpq/unit/cmdbtns/uniticons.grp differ diff --git a/mpq/unit/wirefram/grpwire.grp b/mpq/unit/wirefram/grpwire.grp index 08a4799e..a4006232 100644 Binary files a/mpq/unit/wirefram/grpwire.grp and b/mpq/unit/wirefram/grpwire.grp differ diff --git a/mpq/unit/wirefram/wirefram.grp b/mpq/unit/wirefram/wirefram.grp index ee801a32..e4f6036d 100644 Binary files a/mpq/unit/wirefram/wirefram.grp and b/mpq/unit/wirefram/wirefram.grp differ diff --git a/patchnotes.md b/patchnotes.md index 37b03de8..d3734c07 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -50,6 +50,10 @@ - **Amaranth** banter can now only play if the Amaranth is above 80% life - Added visuals for: - **Adrenal Frenzy** +- New icons for: (c. Raenarill) + - Weapons: Cabalist, Golem, Vibrance, Cikralisk, Protathalor, Ghitorokor, Kagralisk, Evigrilisk, Okrimnilisk, Konvilisk + - Passives: Dishonorable Discharge, Lithe Organelle, Crushing Tide, Lashing Limbs, Endless Limbs + # Balance changes ### *Notes in italics are from Pr0nogo* @@ -107,4 +111,10 @@ - Attack cooldown 1.5 » 1.33 - *Experimenting with Bactalisk cost-efficiency* - [Lakizilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/lakizilisk): - - HP 130 » 140 \ No newline at end of file + - HP 130 » 140 +- **NEW:** [Ogroszaleth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ogroszaleth): + - Area-denial strain; requires Rakzogth Roost +- **NEW:** [Rakzogth Roost](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/rakzogth-roost): + - Crowd control node; requires Othstol Oviform +- [Yblyleth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/yblyleth): + - Now replaces Agrileth, from Ovileth \ No newline at end of file diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 79f00a10..4bb11dd9 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ