diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 16acec61..69edb6fb 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 94b1e52a..3f0c4066 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -704,9 +704,9 @@ Rozirokor Zytryleth Camazotz Grimoire -Extended Flingy #498 -Extended Flingy #499 -Extended Flingy #500 +Simulacrum (Khalendric) +Idol (Khalendric) +Thrombocyte Extended Flingy #501 Extended Flingy #502 Extended Flingy #503 diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index a14b3edd..91a63e5d 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 744d8b73..bfe7e28b 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 e5b1ef45..60843d9a 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -2422,14 +2422,14 @@ Bloodsummon Unit Rubble Small Bloodsummon Unit Rubble Medium Bloodsummon Ritual Vornath Pond Shadow -Extended Image #1422 -Extended Image #1423 -Extended Image #1424 -Extended Image #1425 -Extended Image #1426 -Extended Image #1427 -Extended Image #1428 -Extended Image #1429 +Atreus Remains +Simulacrum (Khalendric) +Simulacrum (Khalendric) Shadow +Idol (Khalendric) +Idol (Khalendric) Shadow +Idol (Khalendric) Remains +Thrombocyte +Thrombocyte Shadow Extended Image #1430 Extended Image #1431 Extended Image #1432 diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index 5586ce0f..aedf3f02 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 2d09a433..fe14ba0e 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -1168,11 +1168,11 @@ Bloodsummon Rubble Large Bloodsummon Unit Rubble Tiny Bloodsummon Unit Rubble Small Bloodsummon Unit Rubble Medium -Extended Sprite #654 -Extended Sprite #655 -Extended Sprite #656 -Extended Sprite #657 -Extended Sprite #658 +Atreus Remains +Simulacrum (Khalendric) +Idol (Khalendric) +Idol (Khalendric) Remains +Thrombocyte Extended Sprite #659 Extended Sprite #660 Extended Sprite #661 diff --git a/mpq/arr/techdata.datex b/mpq/arr/techdata.datex index a5e90acb..ccf5caa7 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 2b875df5..6c70cb27 100644 --- a/mpq/arr/techdata.txt +++ b/mpq/arr/techdata.txt @@ -51,7 +51,7 @@ Preylock (Askosi) Lobotomy Grenade (Goska dupe) Skryspawn (Stroluum) Puppeteer (Askosi) -Extended Tech #10 +Blood Burst (Bloodsummon) Extended Tech #11 Extended Tech #12 Extended Tech #13 diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index cba6062d..ff0f6d0f 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 4af7dc40..b6930920 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -619,8 +619,8 @@ Bloodsummon Thrombocyte Bloodsummon Grimoire Zerg Zytryleth (Zorthos) Terran Camazotz (Nydus Trinity) -Extended Unit #394 -Extended Unit #395 +Protoss Simulacrum (Khalendric) +Protoss Idol (Khalendric) Extended Unit #396 Extended Unit #397 Extended Unit #398 diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index 9b3451a7..80c4a332 100644 Binary files a/mpq/arr/weapons.datex and b/mpq/arr/weapons.datex differ diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index b86d2c82..c3e88502 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 ecd5c3a8..2f532f36 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 aa34e5b4..8fa6e6e5 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 06f03fcf..348c43be 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 d52f886b..348bc17f 100644 --- a/mpq/rez/stat.txt +++ b/mpq/rez/stat.txt @@ -1005,9 +1005,9 @@ Lekrot Requires<10> Panoply OR Lotiro<0> t<1><4>Install Hearthshard <1>(<3>S<1>)<10>Immortal relay.<0> Hearthshard Requires<10> Panoply OR Lotiro<0> Zytryleth Requires:<10> Othstol Oviform<0> -<0> -<0> -<0> +t<1><4>Bleed Thrombocyte <1>(<3>T<1>)<10>Regenerative biode.<0> +b<3><4>Bloody Burst <1>(<3>B<1>)<10>Bursts the Thrombocyte, releasing a pulse that heals allies within 3 range for the Thrombocyte's current health.<0> +¤<3><4>Coagulation <2>(passive)<10>This combatant's attacks heal allies equal to damage dealt.<0> <0> <0> <0> diff --git a/mpq/rez/unitnames.tbl b/mpq/rez/unitnames.tbl index 01288219..5cd81fab 100644 Binary files a/mpq/rez/unitnames.tbl and b/mpq/rez/unitnames.tbl differ diff --git a/mpq/scripts/aiscript.bin b/mpq/scripts/aiscript.bin index c8cfcffd..77019a6f 100644 Binary files a/mpq/scripts/aiscript.bin and b/mpq/scripts/aiscript.bin differ diff --git a/mpq/scripts/iscript_askosi.bin b/mpq/scripts/iscript_askosi.bin index 0090e54d..d45184db 100644 Binary files a/mpq/scripts/iscript_askosi.bin and b/mpq/scripts/iscript_askosi.bin differ diff --git a/mpq/scripts/iscript_askosi.txt b/mpq/scripts/iscript_askosi.txt index 597ea917..ccd506c7 100644 --- a/mpq/scripts/iscript_askosi.txt +++ b/mpq/scripts/iscript_askosi.txt @@ -3663,9 +3663,6 @@ GenericRemnantsThreeDeath: playfram 2 wait 255 wait 24 - playfram 3 - wait 255 - wait 24 end # ----------------------------------------------------------------------------- # diff --git a/mpq/scripts/iscript_bloodsummon.bin b/mpq/scripts/iscript_bloodsummon.bin index 58359ee1..539731df 100644 Binary files a/mpq/scripts/iscript_bloodsummon.bin and b/mpq/scripts/iscript_bloodsummon.bin differ diff --git a/mpq/scripts/iscript_bloodsummon.txt b/mpq/scripts/iscript_bloodsummon.txt index a14231dc..06c53dc7 100644 --- a/mpq/scripts/iscript_bloodsummon.txt +++ b/mpq/scripts/iscript_bloodsummon.txt @@ -707,4 +707,138 @@ LiftedTerranStructureDeath: LiftedTerranStructureDeath_Small: lowsprul 273 0 42 # Terran Building Rubble (Small) (thingy\RubbleS.grp) wait 1 - end \ No newline at end of file + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2262 Thrombocyte (cm\b\thrombocyte.grp) +.headerstart +IsId 1 +Type 26 +Init ThrombocyteInit +Death ThrombocyteDeath +GndAttkInit ThrombocyteGndAttkInit +AirAttkInit ThrombocyteGndAttkInit +Unused1 ThrombocyteUnused1 +GndAttkRpt ThrombocyteGndAttkInit +AirAttkRpt ThrombocyteGndAttkInit +CastSpell [NONE] +GndAttkToIdle ThrombocyteGndAttkToIdle +AirAttkToIdle ThrombocyteGndAttkToIdle +Unused2 [NONE] +Walking ThrombocyteWalking +WalkingToIdle ThrombocyteWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow [NONE] +UnBurrow [NONE] +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ThrombocyteInit: + imgulnextid 0 2 # Thrombocyte Shadow (cm\b\thrombocyte-shadow.grp) +ThrombocyteWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +ThrombocyteDeath: + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + playsndbtwn 1707 1708 # Quazilisk death 01, 02 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x2A0 + wait 2 + lowsprul 1168 0 0 # Bloodsummon Unit Rubble Small + wait 1 + end + +ThrombocyteUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1171 + playfram 0x210 +# wait 2 +# playfram 0xaa +# wait 2 +# playfram 0xbb +# wait 2 +# playfram 0xcc +# wait 2 +# playfram 0xdd +# wait 2 +# playfram 0xee +# wait 2 +# playfram 0xff +# wait 2 + wait 14 + setfldirect 10 + nobrkcodeend + goto ThrombocyteGndAttkToIdle + +ThrombocyteGndAttkInit: + playfram 0x120 + wait 1 + nobrkcodestart + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playsndbtwn 2014 2015 # Liiralisk attack 01, 02 + attack + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x200 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +ThrombocyteGndAttkToIdle: + playfram 0x00 + wait 1 + goto ThrombocyteWalkingToIdle + +ThrombocyteWalking: + move 6 + wait 1 + playfram 0x220 + move 6 + wait 1 + playfram 0x240 + move 6 + wait 1 + playfram 0x260 + move 6 + wait 1 + playfram 0x280 + move 6 + wait 1 + playfram 0x2A0 + move 6 + wait 1 + playfram 0x2C0 + move 6 + wait 1 + playfram 0x2E0 + goto ThrombocyteWalking \ No newline at end of file diff --git a/mpq/scripts/iscript_protoss.bin b/mpq/scripts/iscript_protoss.bin index 04811930..a1179bf7 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 6914e5ff..da3497ba 100644 --- a/mpq/scripts/iscript_protoss.txt +++ b/mpq/scripts/iscript_protoss.txt @@ -7620,15 +7620,22 @@ AtreusDeath: end AtreusGndAttkInit: - playfram 0x00 -AtreusGndAttkRpt: + playfram 0x240 wait 1 + playfram 0x260 + wait 1 +AtreusGndAttkRpt: nobrkcodestart - playfram 0x220 + wait 1 + playfram 0x2A0 playsndbtwn 1788 1790 # Atreus weapon fire 01, 02, 03 attackwith 1 wait 1 - playfram 0x00 + playfram 0x280 + wait 1 + playfram 0x260 + wait 1 + playfram 0x240 wait 1 nobrkcodeend gotorepeatattk @@ -7638,30 +7645,6 @@ AtreusGndAttkRpt: AtreusWalking: move 6 wait 1 - playfram 0x20 - move 6 - wait 1 - playfram 0x40 - move 6 - wait 1 - playfram 0x60 - move 6 - wait 1 - playfram 0x80 - move 6 - wait 1 - playfram 0xA0 - move 6 - wait 1 - playfram 0xC0 - move 6 - wait 1 - playfram 0xE0 - move 6 - wait 1 - playfram 0x100 - move 6 - wait 1 playfram 0x120 move 6 wait 1 @@ -7684,6 +7667,11 @@ AtreusWalking: move 6 wait 1 playfram 0x200 + move 6 + wait 1 + playfram 0x220 + move 6 + wait 1 goto AtreusWalking AtreusWarpIn: diff --git a/mpq/scripts/iscript_zerg.bin b/mpq/scripts/iscript_zerg.bin index 2f6288af..95b17d2d 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 3fe7485e..92234be4 100644 --- a/mpq/scripts/iscript_zerg.txt +++ b/mpq/scripts/iscript_zerg.txt @@ -2384,7 +2384,7 @@ Enable [NONE] ZethrokorInit: imgul 55 0 -1 # Zethrokor Shadow (zerg\zzeShad.grp) ZethrokorGndAttkToIdle: - playfram 0x55 + playfram 0x00 goto ZethrokorLocal00 ZethrokorLocal00: @@ -2454,22 +2454,23 @@ ZethrokorLocal03: goto ZethrokorGndAttkToIdle ZethrokorDeath: + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) playsnd 896 # Zerg\Zergling\ZZeDth00.WAV setfldirect 0 playfram 289 wait 2 playfram 290 wait 2 - playfram 291 - wait 2 - playfram 292 - wait 2 - playfram 293 - wait 2 - playfram 294 - wait 2 - playfram 295 - wait 2 +# playfram 291 +# wait 2 +# playfram 292 +# wait 2 +# playfram 293 +# wait 2 +# playfram 294 +# wait 2 +# playfram 295 + wait 1 lowsprul 160 0 0 # Zethrokor Remnants (zerg\zzeDeath.grp) wait 1 end diff --git a/mpq/unit/cm/f-p/idol-khalendric-remains.grp b/mpq/unit/cm/f-p/idol-khalendric-remains.grp new file mode 100644 index 00000000..8dc28208 Binary files /dev/null and b/mpq/unit/cm/f-p/idol-khalendric-remains.grp differ diff --git a/mpq/unit/cm/f-p/idol-khalendric-shadow.grp b/mpq/unit/cm/f-p/idol-khalendric-shadow.grp new file mode 100644 index 00000000..f5aa47c9 Binary files /dev/null and b/mpq/unit/cm/f-p/idol-khalendric-shadow.grp differ diff --git a/mpq/unit/cm/f-p/idol-khalendric.grp b/mpq/unit/cm/f-p/idol-khalendric.grp new file mode 100644 index 00000000..8cdbd406 Binary files /dev/null and b/mpq/unit/cm/f-p/idol-khalendric.grp differ diff --git a/mpq/unit/cm/f-p/simulacrum-khalendric-shadow.grp b/mpq/unit/cm/f-p/simulacrum-khalendric-shadow.grp new file mode 100644 index 00000000..bc4c63cc Binary files /dev/null and b/mpq/unit/cm/f-p/simulacrum-khalendric-shadow.grp differ diff --git a/mpq/unit/cm/f-p/simulacrum-khalendric.grp b/mpq/unit/cm/f-p/simulacrum-khalendric.grp new file mode 100644 index 00000000..e276cad5 Binary files /dev/null and b/mpq/unit/cm/f-p/simulacrum-khalendric.grp differ diff --git a/mpq/unit/cm/p/amaranth.grp b/mpq/unit/cm/p/amaranth.grp index a27651ee..8949665a 100644 Binary files a/mpq/unit/cm/p/amaranth.grp and b/mpq/unit/cm/p/amaranth.grp differ diff --git a/mpq/unit/cm/p/atreus-attack.lol b/mpq/unit/cm/p/atreus-attack.lol index ebfa4fd4..7e33fe1a 100644 Binary files a/mpq/unit/cm/p/atreus-attack.lol and b/mpq/unit/cm/p/atreus-attack.lol differ diff --git a/mpq/unit/cm/p/atreus-remains.grp b/mpq/unit/cm/p/atreus-remains.grp new file mode 100644 index 00000000..7ed6e8db Binary files /dev/null and b/mpq/unit/cm/p/atreus-remains.grp differ diff --git a/mpq/unit/cm/p/atreus-shadow.grp b/mpq/unit/cm/p/atreus-shadow.grp index a9c487e7..4f880a7b 100644 Binary files a/mpq/unit/cm/p/atreus-shadow.grp and b/mpq/unit/cm/p/atreus-shadow.grp differ diff --git a/mpq/unit/cm/p/atreus.grp b/mpq/unit/cm/p/atreus.grp index 688d4de6..6d86e598 100644 Binary files a/mpq/unit/cm/p/atreus.grp and b/mpq/unit/cm/p/atreus.grp differ diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index b73b60e7..2ad96ffd 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 e7810a76..8c045bde 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 98fabceb..8451e7be 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 fb1db7e5..beadd466 100644 Binary files a/mpq/unit/wirefram/wirefram.grp and b/mpq/unit/wirefram/wirefram.grp differ diff --git a/mpq/unit/zerg/zethrokor-birth.grp b/mpq/unit/zerg/zethrokor-birth.grp new file mode 100644 index 00000000..c6e899bc Binary files /dev/null and b/mpq/unit/zerg/zethrokor-birth.grp differ diff --git a/mpq/unit/zerg/zethrokor-mutate.grp b/mpq/unit/zerg/zethrokor-mutate.grp new file mode 100644 index 00000000..3a2b089f Binary files /dev/null and b/mpq/unit/zerg/zethrokor-mutate.grp differ diff --git a/mpq/unit/zerg/zethrokor-death.grp b/mpq/unit/zerg/zethrokor-remains.grp similarity index 100% rename from mpq/unit/zerg/zethrokor-death.grp rename to mpq/unit/zerg/zethrokor-remains.grp diff --git a/mpq/unit/zerg/zethrokor-shadow.grp b/mpq/unit/zerg/zethrokor-shadow.grp new file mode 100644 index 00000000..6ccd9274 Binary files /dev/null and b/mpq/unit/zerg/zethrokor-shadow.grp differ diff --git a/mpq/unit/zerg/zethrokor.grp b/mpq/unit/zerg/zethrokor.grp index 996c6f89..a290565d 100644 Binary files a/mpq/unit/zerg/zethrokor.grp and b/mpq/unit/zerg/zethrokor.grp differ diff --git a/patchnotes.md b/patchnotes.md index ef8a75b2..eaf4ab27 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -26,6 +26,7 @@ - Flying workers and **Dyad**s now use iscript-based movement, removing acceleration and eliminating rare visual and harvesting bugs - Flyers can now correctly be loaded into air garrisons (e.g. Askosi Grandstand) - **Scrapworld: Gold Rush** now correctly accounts for the resource cost of dual- and triple-birth units (r. shopkeeper dog) + - Computer-controlled **Cantavis** now spam **Psionic Storm** casts less frequently - **Skryokor**s are now appropriately treated as Broodspawn for timed life and incubation purposes (r. jakulangski) - Lardfix: Protected against rare AI breakage from niche town configurations (c. DF) - **Nydus Trinity Eidolon**s now correctly regenerate life at a higher rate when cloaked (r. jakulangski) @@ -34,12 +35,13 @@ - Fixed **Endbore** weapon name (r. Concealed Organic) - Fixed "dead pixels" in Askosi UI - Fixed bad gas puff coordinates for Installation Vespene Ridges (r. BtyB) + - Corrected **Spraith Cesiant** shadow (r. Mimika) ## Audiovisuals - Updated Askosi UI to be GREEN! (c. DF) - Updated background graphics for Options and CrownLink Join menus (c. Jesse) - New models for: - - Amaranth (c. Baelethal) + - Amaranth, Atreus, Zethrokor (c. Baelethal) - Inzorthrokor (Imicren), Iziralisk (Zorthos) - New death SFX for: - Striga (c. Milia) @@ -83,11 +85,13 @@ - [Artisan](https://cosmonarchy.com/protoss/artisan): - Movement speed 4.16 » 4 (~4% reduction) - [Atreus](https://cosmonarchy.com/protoss/atreus): + - Resource costs 200/25 » 175/50 - HP 200 » 160 + - Shields 100 » 80 - Armor 2 » 3 - Speed 4.8 » 6 - **Dauntless Disruption Cannon:** - - Weapon damage 20 » 15 + - Weapon damage 20 » 12 - Weapon range 7 » 5 - Attack cooldown 1.25 » 1 - **Interception** removed @@ -113,6 +117,10 @@ - Shields 250 » 300 - [Stargate](https://cosmonarchy.com/protoss/stargate): - Resource costs 200/200 » 200/150 +- **NEW:** [Simulacrum (Khalendric)](https://cosmonarchy.com/protoss/simulacrum-khalendric): + - **Khalendric Knights:** Simulacrum variant with **Last Orders** (e.g. Aurora) +- **NEW:** [Idol (Khalendric)](https://cosmonarchy.com/protoss/idol-khalendric): + - **Khalendric Knights:** Idol variant with **Signify** (e.g. Hierophant) ## Zerg - **Bone of Reflection:** diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 17b50de2..1b4070ac 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ