diff --git a/master changelog.md b/master changelog.md index ad72830..038dbb8 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 +- [7 January 2026](#7-january-2026) - [30 November 2025](#30-november-2025) - [16 November 2025](#16-november-2025) - [29 September 2025](#29-september-2025) @@ -109,6 +110,197 @@ See patchnotes.md for info on the most recent patch! - [13 August 2020](#13-august-2020) - [12 August 2020](#12-august-2020) +# 7 January 2026 +## Year 4, month 1, patch 1 + +## Patch overview +**Happy new year!** This major update to Cosmonarchy allows the Askosi to be selected in singleplayer and multiplayer lobbies. Huge thanks to **Jesse** for the UI changes that made this possible! + +This patch also contains a bevy of balance adjustments ahead of our first tribunal stage, an assortment of new unit graphics, and a pair of exciting new Zerg units! + +Welcome to the future, where the 4th race is now available to all players. Keep watch for future updates that add more Askosi units and structures! + +## Patch goals +- Continue balancing for all races +- Continue Askosi development +- Further improve audiovisuals +- [Subscribe on ko-fi](https://ko-fi.com/pr0nogoandveeq7) to get a sneak peek of the incoming changes! + +### *Notes in italics are from Pr0nogo* + +# Core changes + +## User Interface (c. Jesse) +- You can now select **Askosi** in singleplayer maps and multiplayer lobbies! + - *Starcraft modding history is made.* + - Random doesn't support Askosi, **yet** + - AI support is not yet implemented + - Vespene and supply icons are incorrect +- **Singleplayer Menu:** + - Added tutorial buttons in main singleplayer screen +- **Multiplayer Menu:** + - Now auto-selects CrownLink, with the option to select other network providers + - Added better communication about CrownLink connection status +- **Ingame Options Menu:** + - Added additional latency compensation options to the latency menu (c. Jesse) + - *We will eventually retire DBC thanks to these new options!* + +## Desyncs +- Improved floating point determinism (c. Veeq7) +- Disabled celebrations (e.g. Christmas) from appearing in Ranked play, reducing desync count from mismatched active skins +- Enabled desync errors to be reported more than once per session (no longer have to restart client between desync errors) +- **ReplayKraken** now auto-uploads desync materials and indicates when a game has had a desync, improving our ability to track and triage desync issues + +## Triggers +- Added `set_nydus_link` for creating Nydus-style links between two units (b. 3crow) +- Added `buttonset` to `set_unit_stat` (b. 3crow) + +## Bugfixes +- **Stability** + - Protected against a rare crash related to issuing orders via minimap (r. Newt, c. DF) +- **Gameplay:** + - Prevented **Anodyne Annex** from applying to allied units (r. Moonpaw) +- **Audiovisual** + - Fixed missing construction SFX for **Ogun** + - Corrected **Olympian Titan's Fist** weapon range (r. GreenEggs'NSpam) + - Corrected **Herald** wireframe (r. TheBeaver99) + - Corrected tooltip for **Corpse Cocoon** (r. Concealed Organic) + - Lardfix: Terran vespene status icon had missing borders (c. Raenarill) + +## Audiovisuals +- New advisor: **Bloodsummon** (b. Hamster) +- New sprites for: + - **Cleric** (c. DeltaCadmius & Solstice), incl. **Futurist Federation** variant + - **Simulacrum** (c. DeltaCadimus), incl. **Astral Omen** variant +- Modified sprites for: + - **Mason**, **Maverick**, **Harakan**, **Cyprian** (c. Solstice) +- New portrait for: + - **Simulacrum** (c. DeltaCadimus) +- New unit responses for: + - **Sevenstep** (c. The Shambler) + - **Sycophant** + - **Liiralisk** +- **Amaranth** banter can now only play if the Amaranth is above 80% life +- Added visuals for: + - **Adrenal Frenzy** +- Added weaponhit SFX for: + - **Blackguard** +- New icons for: (c. Raenarill) + - Weapons: Adherent, Cabalist, Golem, Vibrance, Cikralisk, Protathalor, Ghitorokor, Kagralisk, Evigrilisk, Okrimnilisk, Konvilisk, Akistrokor + - Passives: Dishonorable Discharge, Deathless Procession, Eternal Service, Lithe Organelle, Crushing Tide, Lashing Limbs, Endless Limbs, Miasma + +# Balance changes + +## Terran +- [Cyprian](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cyprian): + - Resource cost 50/50 » 75/50 + - *Acknowledgement of early-game power-to-cost ratio.* +- [Cleric](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cleric): + - **Nanorepair:** + - Each target can now only be healed by one Cleric + - Now increases target armor by 2, from 1 +- [Shaman](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/shaman): + - Resource costs 100/100 » 200/200 + - Build time 30 » 35 + - HP 140 » 160 + - **Nanite Field:** + - Heal amount 4 » 8 + - Can no longer heal a unit more frequently than once per second +- [Apostle](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/apostle): + - Armor 2 » 1 + - Death and revive animations vastly lengthened + - *Reducing stackability* +- [Autocrat](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/autocrat): + - Death and revive animations vastly lengthened + - *Reducing stackability* +- [Dilettante](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/dilettante): + - **NEW: Beginner's Luck** + - Dodges an attack every 2 seconds + - *Fun, AND thematic!* +- [Cyclops](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cyclops): + - Build time 16 » 20 + - *Demand more Fulcrums (and thus more commitment) from Cyclops flood builds* +- [Triton](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/triton): + - Resource costs 150/150 » 150/100 + - **Lobotomy Warhead:** + - Stun timer 3 » 4 + - Slow timer 6 » 8 +- [Wraith](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/wraith): + - HP 100 » 110 +- [Magnetar](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/magnetar): + - **Yamato Cannon:** + - Weapon damage 250 » 75 + - Now applies **Apollyoid Adhesive** for 10 seconds +- [Stockade](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/stockade): + - Time cost 45 » 50 + - *Slight nudge-back to first-unit timings in bio openers.* +- [Tencendur](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/tencendur): + - HP 450 » 600 +- **NEW:** [Quadriga](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/quadriga): + - Factional **Valkyrie** replacement: reinforced gunboat for the **Golden Republic** +- **NEW:** [Serathiel](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/serathiel): + - Factional **Seraph** replacement: combat specialist for the **Hecaton Coalition** + +## Protoss +- [Dracadin](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/dracadin): + - HP 120 » 140 + - *Also applies to Order of the Sacred Saber variant* +- [Legionnaire](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/legionnaire): + - Shields 45 » 60 +- [Amaranth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/amaranth): + - Shields 60 » 80 +- [Mind Tyrant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/mind-tyrant): + - **Maledictus:** + - Malefactors can now only Tyrannize victims if the Tyrant has 10 energy, and each Tyrannized victim expends 10 energy. +- [Manifold](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/manifold): + - HP 70 » 80 + - Shields 30 » 50 +- [Rogue Gallery](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/rogue-gallery): + - Resource costs 150/100 » 150/75 +- [Manifold (Starbound)](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/manifold-starbound): + - HP 80 » 90 + - Shields 30 » 50 + +## Zerg +- **Adrenal Frenzy:** + - Used by **Quazrokor** and **Nathrokor** + - No longer procs when attacking allies +- [Agrileth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/agrileth): + - Now has **Cagragenesis** +- [Zethrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/zethrokor): + - Collision size reduced by ~10% + - *Also applies to Sovrokor* +- [Quazilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/quazilisk): + - Now has **Adrenal Frenzy** +- [Bactalisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/bactalisk): + - **Corrosive Acid:** + - Attack cooldown 1.5 » 1.33 + - *Experimenting with Bactalisk cost-efficiency* +- [Tethzorokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethzorokor): + - HP 240 » 220 + - Resource costs 150/25 » 150/50 + - Build time 25 » 28 +- [Lakizilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/lakizilisk): + - HP 130 » 140 +- [Ultrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ultrokor): + - **Kaiser Blades:** + - Weapon cooldown 0.67 » 0.58 +- [Tethvith Swamp](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethvith-swamp): + - Resource costs 150/150 » 400/250 + - Build time 45 » 50 +- [Zozarc Gorge](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/zozarc-gorge): + - Resource costs 500/350 » 300/450 +- **NEW:** [Malkothrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/malkothrokor): + - Mobile hive organ; requires Othstol Oviform + - Concept by Pr0nogo; bountied by jakulangski! +- **NEW:** [Ogroszaleth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ogroszaleth): + - Area-denial strain; requires Rakzogth Roost + - Concept by Pr0nogo; bountied by SmrtyCakes! +- **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 + # 30 November 2025 ## Year 3, month 11, patch 2 diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 495d5f0..e028408 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 0907529..363a550 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -636,29 +636,29 @@ Askosi Construction (Medium) Askosi Construction (Small) Ogroszaleth Malkothrokor -Extended Flingy #430 -Extended Flingy #431 -Extended Flingy #432 -Extended Flingy #433 -Extended Flingy #434 -Extended Flingy #435 -Extended Flingy #436 -Extended Flingy #437 -Extended Flingy #438 -Extended Flingy #439 -Extended Flingy #440 -Extended Flingy #441 -Extended Flingy #442 -Extended Flingy #443 -Extended Flingy #444 -Extended Flingy #445 -Extended Flingy #446 -Extended Flingy #447 -Extended Flingy #448 -Extended Flingy #449 -Extended Flingy #450 -Extended Flingy #451 -Extended Flingy #452 +Aphorist +Thaumalogue +Avatar +Doronin +Zylode +Agonist +Petract +Phontis +Zonguard +Astrolabe +Akreno +Iconoclast +Crematorium +Paraclete +Zethalor +Scrylyleth +Conduit +Bestiary +Eyelet +Obelisk +Auxine +Constituent +Missionary Weaponhit Extended Flingy #453 Extended Flingy #454 Extended Flingy #455 diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index be39646..91dba5a 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 34fe6fa..baaa44b 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 82b9390..3c8fc45 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -1553,7 +1553,7 @@ Hippogriff Engines unused Salamander Death Protathalor -Vulture Engines +Vulture Engine Blade Vortex Debuff Small Blade Vortex Debuff Medium Blade Vortex Debuff Large @@ -2251,57 +2251,57 @@ Malkothrokor Malkothrokor Shadow Malkothrokor Remnants Malkothrokor Birth -Extended Image #1251 -Extended Image #1252 -Extended Image #1253 -Extended Image #1254 -Extended Image #1255 -Extended Image #1256 -Extended Image #1257 -Extended Image #1258 -Extended Image #1259 -Extended Image #1260 -Extended Image #1261 -Extended Image #1262 -Extended Image #1263 -Extended Image #1264 -Extended Image #1265 -Extended Image #1266 -Extended Image #1267 -Extended Image #1268 -Extended Image #1269 -Extended Image #1270 -Extended Image #1271 -Extended Image #1272 -Extended Image #1273 -Extended Image #1274 -Extended Image #1275 -Extended Image #1276 -Extended Image #1277 -Extended Image #1278 -Extended Image #1279 -Extended Image #1280 -Extended Image #1281 -Extended Image #1282 -Extended Image #1283 -Extended Image #1284 -Extended Image #1285 -Extended Image #1286 -Extended Image #1287 -Extended Image #1288 -Extended Image #1289 -Extended Image #1290 -Extended Image #1291 -Extended Image #1292 -Extended Image #1293 -Extended Image #1294 -Extended Image #1295 -Extended Image #1296 -Extended Image #1297 -Extended Image #1298 -Extended Image #1299 -Extended Image #1300 -Extended Image #1301 +Aphorist +Aphorist Shadow +Thaumalogue +Thaumalogue Shadow +Thaumalogue Remains +Avatar +Avatar Shadow +Doronin +Doronin Shadow +Zethalor +Zethalor Shadow +Zethalor Birth +Scrylyleth +Scrylyleth Shadow +Scrylyleth Birth +Zethalor Remains +Conduit +Conduit Shadow +Bestiary +Bestiary Shadow +Zylode +Zylode Shadow +Astrolabe +Astrolabe Shadow +Ash Heap Overlay +Crematorium +Crematorium Shadow +Eyelet +Eyelet Shadow +Obelisk +Obelisk Shadow +Agonist +Agonist Shadow +Petract +Petract Shadow +Phontis +Phontis Shadow +Zonguard +Zonguard Shadow +Akreno +Akreno Shadow +Iconoclast +Iconoclast Shadow +Paraclete +Paraclete Shadow +Auxine +Auxine Shadow +Constituent +Constituent Shadow +Missionary Weaponhit +Rove Engine Extended Image #1302 Extended Image #1303 Extended Image #1304 diff --git a/mpq/arr/sfxdata.txt b/mpq/arr/sfxdata.txt index cc7dd9c..97a30d8 100644 --- a/mpq/arr/sfxdata.txt +++ b/mpq/arr/sfxdata.txt @@ -4152,40 +4152,40 @@ Askosi Explosion Large 03 Blackguard Weaponhit 01 Blackguard Weaponhit 02 Blackguard Weaponhit 03 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 -Extended Sound #1 +Proselyte Weaponfire 01 +Proselyte Weaponfire 02 +Proselyte Weaponfire 03 +Proselyte Weaponfire 04 +Aphorist Weaponfire 01 +Aphorist Weaponfire 02 +Aphorist Weaponfire 03 +Aphorist Weaponhit 01 +Aphorist Weaponhit 02 +Aphorist Weaponhit 03 +Phontis Weaponfire 01 +Phontis Weaponfire 02 +Phontis Weaponfire 03 +Crematorium Weaponfire 01 +Crematorium Weaponfire 02 +Crematorium Weaponfire 03 +Zonguard Weaponfire B 01 +Zonguard Weaponfire B 02 +Zonguard Weaponfire B 03 +Agonist Weaponfire 01 +Agonist Weaponfire 02 +Agonist Weaponfire 03 +Petract Weaponfire 01 +Petract Weaponfire 02 +Petract Weaponfire 03 +Akreno Weaponfire 01 +Akreno Weaponfire 02 +Akreno Weaponfire 03 +Akreno Passive Charge 01 +Akreno Passive Charge 02 +Akreno Passive Charge 03 +Akreno Passive Proc 01 +Akreno Passive Proc 02 +Akreno Passive Proc 03 Extended Sound #1 Extended Sound #1 Extended Sound #1 diff --git a/mpq/arr/sounds.txt b/mpq/arr/sounds.txt index e30dcd4..b42584d 100644 --- a/mpq/arr/sounds.txt +++ b/mpq/arr/sounds.txt @@ -4044,9 +4044,9 @@ cm\a\vicar\wf-03.wav cm\a\missionary\wf-01.wav cm\a\missionary\wf-02.wav cm\a\missionary\wf-03.wav -cm\a\proselyte\wf-01.wav -cm\a\proselyte\wf-02.wav -cm\a\proselyte\wf-03.wav +cm\a\thaumalogue\wf-01.wav +cm\a\thaumalogue\wf-02.wav +cm\a\thaumalogue\wf-03.wav cm\a\scepter\wf-01.wav cm\a\scepter\wf-02.wav cm\a\scepter\wf-03.wav @@ -4151,4 +4151,35 @@ cm\a\a-explosion-large-02.wav cm\a\a-explosion-large-03.wav cm\f-t\blackguard\wh-01.wav cm\f-t\blackguard\wh-02.wav -cm\f-t\blackguard\wh-03.wav \ No newline at end of file +cm\f-t\blackguard\wh-03.wav +cm\a\proselyte\wf-01.wav +cm\a\proselyte\wf-02.wav +cm\a\proselyte\wf-03.wav +cm\a\proselyte\wf-04.wav +cm\a\aphorist\wf-01.wav +cm\a\aphorist\wf-02.wav +cm\a\aphorist\wf-03.wav +cm\a\aphorist\wh-01.wav +cm\a\aphorist\wh-02.wav +cm\a\aphorist\wh-03.wav +cm\a\phontis\wf-01.wav +cm\a\phontis\wf-02.wav +cm\a\phontis\wf-03.wav +cm\a\crematorium\wf-01.wav +cm\a\crematorium\wf-02.wav +cm\a\crematorium\wf-03.wav +cm\a\zonguard\wf-b-01.wav +cm\a\zonguard\wf-b-02.wav +cm\a\zonguard\wf-b-03.wav +cm\a\agonist\wf-01.wav +cm\a\agonist\wf-02.wav +cm\a\agonist\wf-03.wav +cm\a\akreno\wf-01.wav +cm\a\akreno\wf-02.wav +cm\a\akreno\wf-03.wav +cm\a\akreno\pas-charge-01.wav +cm\a\akreno\pas-charge-02.wav +cm\a\akreno\pas-charge-03.wav +cm\a\akreno\pas-proc-01.wav +cm\a\akreno\pas-proc-02.wav +cm\a\akreno\pas-proc-03.wav \ No newline at end of file diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index ee1b0a7..855bcc5 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 95919c3..547181d 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -1089,31 +1089,31 @@ Askosi Construction (Small) Ogroszaleth Malkothrokor Malkothrokor Remnants -Extended Sprite #575 -Extended Sprite #576 -Extended Sprite #577 -Extended Sprite #578 -Extended Sprite #579 -Extended Sprite #580 -Extended Sprite #581 -Extended Sprite #582 -Extended Sprite #583 -Extended Sprite #584 -Extended Sprite #585 -Extended Sprite #586 -Extended Sprite #587 -Extended Sprite #588 -Extended Sprite #589 -Extended Sprite #590 -Extended Sprite #591 -Extended Sprite #592 -Extended Sprite #593 -Extended Sprite #594 -Extended Sprite #595 -Extended Sprite #596 -Extended Sprite #597 -Extended Sprite #598 -Extended Sprite #599 +Aphorist +Thaumalogue +Avatar +Doronin +Zylode +Agonist +Petract +Phontis +Zonguard +Astrolabe +Akreno +Iconoclast +Crematorium +Paraclete +Zethalor +Scrylyleth +Thaumalogue Remnants +Zethalor Remnants +Conduit +Bestiary +Eyelet +Obelisk +Auxine +Constituent +Missionary Weaponhit Extended Sprite #600 Extended Sprite #601 Extended Sprite #602 diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index ca58e24..b7654ad 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 7446311..b4dd82d 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -557,20 +557,20 @@ Askosi Zonguard Askosi Akreno Askosi Iconoclast Askosi Paraclete -Extended Unit #332 -Extended Unit #333 -Extended Unit #334 -Extended Unit #335 -Extended Unit #336 -Extended Unit #337 -Extended Unit #338 -Extended Unit #339 -Extended Unit #340 -Extended Unit #341 -Extended Unit #342 -Extended Unit #343 -Extended Unit #344 -Extended Unit #345 +Zerg Zethalor (Orkoti) +Zerg Scrylyleth (Zorthos) +Askosi Bestiary +Askosi Conduit +Askosi Obelisk +Askosi Eyelet +Askosi Auxine +Askosi Constituent +Terran Goremast (Upstart) +Terran Broadside (Upstart) +Broadside Turret (Upstart) +Terran Vulture (Upstart) +Terran Cutlass (Futurist) +Cutlass Turret (Futurist) Extended Unit #346 Extended Unit #347 Extended Unit #348 diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index 7f97ad1..92a7d35 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 23739dd..d912de7 100644 --- a/mpq/arr/weapons.txt +++ b/mpq/arr/weapons.txt @@ -218,13 +218,13 @@ Angeltear Rockets (Salamander) Brontes Payload (Cyclops) Flak Cannons (Cyclops Futurist) Sensory Overload (Vibrance) -Flamethrower (Harakan, Golden) +Onla Drivers (Agonist) Corrosive Bioplasma (Iziralisk) -Phase Claws (Cicatus) -Phase Blades (Zealot, Starbound) -Avenging Blaster (Ecclesiast, Khalendric) +Korozzet Beastblades (Doronin) +Utso Carbine (Thaumalogue) +Okli Quadshard (Crematorium) Rotating Ray (Oscilliant) -Rotating Blaster (Renesair) +Ansa Sunshot (Aphorist) Repeating Blaster (Extatus) Autonomous Ray (Unar) Phase Cremator (Ashguard) diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index 40a9138..a563133 100644 Binary files a/mpq/datreq/Buttons.graft and b/mpq/datreq/Buttons.graft differ diff --git a/mpq/datreq/Orders.graft b/mpq/datreq/Orders.graft index 6148f64..e79046f 100644 Binary files a/mpq/datreq/Orders.graft and b/mpq/datreq/Orders.graft differ diff --git a/mpq/datreq/Tech.graft b/mpq/datreq/Tech.graft index 2fe6f20..a576655 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 a5f44e1..41dfbb7 100644 Binary files a/mpq/datreq/Units.graft and b/mpq/datreq/Units.graft differ diff --git a/mpq/game/gasicons.grp b/mpq/game/gasicons.grp index 6968633..1e980de 100644 Binary files a/mpq/game/gasicons.grp and b/mpq/game/gasicons.grp differ diff --git a/mpq/game/icons.grp b/mpq/game/icons.grp index a34dd68..f465873 100644 Binary files a/mpq/game/icons.grp and b/mpq/game/icons.grp differ diff --git a/mpq/portrait/faction/arhaun/fid00.smk b/mpq/portrait/faction/arhaun/fid00.smk new file mode 100644 index 0000000..4e1e55b Binary files /dev/null and b/mpq/portrait/faction/arhaun/fid00.smk differ diff --git a/mpq/portrait/faction/arhaun/fid01.smk b/mpq/portrait/faction/arhaun/fid01.smk new file mode 100644 index 0000000..ef1b238 Binary files /dev/null and b/mpq/portrait/faction/arhaun/fid01.smk differ diff --git a/mpq/portrait/faction/arhaun/fid02.smk b/mpq/portrait/faction/arhaun/fid02.smk new file mode 100644 index 0000000..472f0f6 Binary files /dev/null and b/mpq/portrait/faction/arhaun/fid02.smk differ diff --git a/mpq/portrait/faction/arhaun/tlk00.smk b/mpq/portrait/faction/arhaun/tlk00.smk new file mode 100644 index 0000000..113cf91 Binary files /dev/null and b/mpq/portrait/faction/arhaun/tlk00.smk differ diff --git a/mpq/portrait/faction/arhaun/tlk01.smk b/mpq/portrait/faction/arhaun/tlk01.smk new file mode 100644 index 0000000..95ef63d Binary files /dev/null and b/mpq/portrait/faction/arhaun/tlk01.smk differ diff --git a/mpq/portrait/faction/blackguard/fid00.smk b/mpq/portrait/faction/blackguard/fid00.smk new file mode 100644 index 0000000..6f823d6 Binary files /dev/null and b/mpq/portrait/faction/blackguard/fid00.smk differ diff --git a/mpq/portrait/faction/blackguard/fid01.smk b/mpq/portrait/faction/blackguard/fid01.smk new file mode 100644 index 0000000..69ae407 Binary files /dev/null and b/mpq/portrait/faction/blackguard/fid01.smk differ diff --git a/mpq/portrait/faction/blackguard/fid02.smk b/mpq/portrait/faction/blackguard/fid02.smk new file mode 100644 index 0000000..03bcc34 Binary files /dev/null and b/mpq/portrait/faction/blackguard/fid02.smk differ diff --git a/mpq/portrait/faction/blackguard/tlk00.smk b/mpq/portrait/faction/blackguard/tlk00.smk new file mode 100644 index 0000000..d8edb71 Binary files /dev/null and b/mpq/portrait/faction/blackguard/tlk00.smk differ diff --git a/mpq/portrait/faction/blackguard/tlk01.smk b/mpq/portrait/faction/blackguard/tlk01.smk new file mode 100644 index 0000000..349789b Binary files /dev/null and b/mpq/portrait/faction/blackguard/tlk01.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/fid00.smk b/mpq/portrait/faction/blackjack_golden/fid00.smk new file mode 100644 index 0000000..fdf414a Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/fid00.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/fid01.smk b/mpq/portrait/faction/blackjack_golden/fid01.smk new file mode 100644 index 0000000..626895c Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/fid01.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/fid02.smk b/mpq/portrait/faction/blackjack_golden/fid02.smk new file mode 100644 index 0000000..aa7aa37 Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/fid02.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/tlk00.smk b/mpq/portrait/faction/blackjack_golden/tlk00.smk new file mode 100644 index 0000000..23495e0 Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/tlk00.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/tlk01.smk b/mpq/portrait/faction/blackjack_golden/tlk01.smk new file mode 100644 index 0000000..c1daa71 Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/tlk01.smk differ diff --git a/mpq/portrait/faction/blackjack_golden/tlk02.smk b/mpq/portrait/faction/blackjack_golden/tlk02.smk new file mode 100644 index 0000000..9df06e2 Binary files /dev/null and b/mpq/portrait/faction/blackjack_golden/tlk02.smk differ diff --git a/mpq/portrait/faction/cicatus/fid00.smk b/mpq/portrait/faction/cicatus/fid00.smk new file mode 100644 index 0000000..d5523fa Binary files /dev/null and b/mpq/portrait/faction/cicatus/fid00.smk differ diff --git a/mpq/portrait/faction/cicatus/fid01.smk b/mpq/portrait/faction/cicatus/fid01.smk new file mode 100644 index 0000000..9bcf39f Binary files /dev/null and b/mpq/portrait/faction/cicatus/fid01.smk differ diff --git a/mpq/portrait/faction/cicatus/fid02.smk b/mpq/portrait/faction/cicatus/fid02.smk new file mode 100644 index 0000000..09a3545 Binary files /dev/null and b/mpq/portrait/faction/cicatus/fid02.smk differ diff --git a/mpq/portrait/faction/cicatus/fid03.smk b/mpq/portrait/faction/cicatus/fid03.smk new file mode 100644 index 0000000..206c22e Binary files /dev/null and b/mpq/portrait/faction/cicatus/fid03.smk differ diff --git a/mpq/portrait/faction/cicatus/tlk00.smk b/mpq/portrait/faction/cicatus/tlk00.smk new file mode 100644 index 0000000..78ac6ca Binary files /dev/null and b/mpq/portrait/faction/cicatus/tlk00.smk differ diff --git a/mpq/portrait/faction/cicatus/tlk01.smk b/mpq/portrait/faction/cicatus/tlk01.smk new file mode 100644 index 0000000..114ce47 Binary files /dev/null and b/mpq/portrait/faction/cicatus/tlk01.smk differ diff --git a/mpq/portrait/faction/cicatus/tlk02.smk b/mpq/portrait/faction/cicatus/tlk02.smk new file mode 100644 index 0000000..1c3b323 Binary files /dev/null and b/mpq/portrait/faction/cicatus/tlk02.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/fid00.smk b/mpq/portrait/faction/cleric_futurist/fid00.smk new file mode 100644 index 0000000..81246bf Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/fid00.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/fid01.smk b/mpq/portrait/faction/cleric_futurist/fid01.smk new file mode 100644 index 0000000..3563f5b Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/fid01.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/fid02.smk b/mpq/portrait/faction/cleric_futurist/fid02.smk new file mode 100644 index 0000000..8029f79 Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/fid02.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/fid03.smk b/mpq/portrait/faction/cleric_futurist/fid03.smk new file mode 100644 index 0000000..a2be3f4 Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/fid03.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/tlk00.smk b/mpq/portrait/faction/cleric_futurist/tlk00.smk new file mode 100644 index 0000000..a6ec387 Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/tlk00.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/tlk01.smk b/mpq/portrait/faction/cleric_futurist/tlk01.smk new file mode 100644 index 0000000..2c1b0dc Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/tlk01.smk differ diff --git a/mpq/portrait/faction/cleric_futurist/tlk02.smk b/mpq/portrait/faction/cleric_futurist/tlk02.smk new file mode 100644 index 0000000..9fddbd1 Binary files /dev/null and b/mpq/portrait/faction/cleric_futurist/tlk02.smk differ diff --git a/mpq/portrait/faction/cyclops_futurist/fid00.smk b/mpq/portrait/faction/cyclops_futurist/fid00.smk new file mode 100644 index 0000000..2073040 Binary files /dev/null and b/mpq/portrait/faction/cyclops_futurist/fid00.smk differ diff --git a/mpq/portrait/faction/cyclops_futurist/fid01.smk b/mpq/portrait/faction/cyclops_futurist/fid01.smk new file mode 100644 index 0000000..61780f8 Binary files /dev/null and b/mpq/portrait/faction/cyclops_futurist/fid01.smk differ diff --git a/mpq/portrait/faction/cyclops_futurist/tlk00.smk b/mpq/portrait/faction/cyclops_futurist/tlk00.smk new file mode 100644 index 0000000..292136d Binary files /dev/null and b/mpq/portrait/faction/cyclops_futurist/tlk00.smk differ diff --git a/mpq/portrait/faction/cyclops_futurist/tlk01.smk b/mpq/portrait/faction/cyclops_futurist/tlk01.smk new file mode 100644 index 0000000..17ba67e Binary files /dev/null and b/mpq/portrait/faction/cyclops_futurist/tlk01.smk differ diff --git a/mpq/portrait/faction/dracadin_order/fid00.smk b/mpq/portrait/faction/dracadin_order/fid00.smk new file mode 100644 index 0000000..1a9af3c Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/fid00.smk differ diff --git a/mpq/portrait/faction/dracadin_order/fid01.smk b/mpq/portrait/faction/dracadin_order/fid01.smk new file mode 100644 index 0000000..d1c807f Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/fid01.smk differ diff --git a/mpq/portrait/faction/dracadin_order/fid02.smk b/mpq/portrait/faction/dracadin_order/fid02.smk new file mode 100644 index 0000000..84def48 Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/fid02.smk differ diff --git a/mpq/portrait/faction/dracadin_order/fid03.smk b/mpq/portrait/faction/dracadin_order/fid03.smk new file mode 100644 index 0000000..2d9f04f Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/fid03.smk differ diff --git a/mpq/portrait/faction/dracadin_order/tlk00.smk b/mpq/portrait/faction/dracadin_order/tlk00.smk new file mode 100644 index 0000000..e203393 Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/tlk00.smk differ diff --git a/mpq/portrait/faction/dracadin_order/tlk01.smk b/mpq/portrait/faction/dracadin_order/tlk01.smk new file mode 100644 index 0000000..dd3bf40 Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/tlk01.smk differ diff --git a/mpq/portrait/faction/dracadin_order/tlk02.smk b/mpq/portrait/faction/dracadin_order/tlk02.smk new file mode 100644 index 0000000..6804410 Binary files /dev/null and b/mpq/portrait/faction/dracadin_order/tlk02.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/fid00.smk b/mpq/portrait/faction/ecclesiast_khalendric/fid00.smk index c1190ae..d117775 100644 Binary files a/mpq/portrait/faction/ecclesiast_khalendric/fid00.smk and b/mpq/portrait/faction/ecclesiast_khalendric/fid00.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/fid01.smk b/mpq/portrait/faction/ecclesiast_khalendric/fid01.smk index ebcf0a1..cf62f98 100644 Binary files a/mpq/portrait/faction/ecclesiast_khalendric/fid01.smk and b/mpq/portrait/faction/ecclesiast_khalendric/fid01.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/fid02.smk b/mpq/portrait/faction/ecclesiast_khalendric/fid02.smk index 3be3a9b..62c37cc 100644 Binary files a/mpq/portrait/faction/ecclesiast_khalendric/fid02.smk and b/mpq/portrait/faction/ecclesiast_khalendric/fid02.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/fid03.smk b/mpq/portrait/faction/ecclesiast_khalendric/fid03.smk new file mode 100644 index 0000000..dce1e0e Binary files /dev/null and b/mpq/portrait/faction/ecclesiast_khalendric/fid03.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/tlk00.smk b/mpq/portrait/faction/ecclesiast_khalendric/tlk00.smk index 83c5a55..e067ebe 100644 Binary files a/mpq/portrait/faction/ecclesiast_khalendric/tlk00.smk and b/mpq/portrait/faction/ecclesiast_khalendric/tlk00.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/tlk01.smk b/mpq/portrait/faction/ecclesiast_khalendric/tlk01.smk index e0ee1c0..7b74ea4 100644 Binary files a/mpq/portrait/faction/ecclesiast_khalendric/tlk01.smk and b/mpq/portrait/faction/ecclesiast_khalendric/tlk01.smk differ diff --git a/mpq/portrait/faction/ecclesiast_khalendric/tlk02.smk b/mpq/portrait/faction/ecclesiast_khalendric/tlk02.smk new file mode 100644 index 0000000..464b636 Binary files /dev/null and b/mpq/portrait/faction/ecclesiast_khalendric/tlk02.smk differ diff --git a/mpq/portrait/faction/extatus/fid00.smk b/mpq/portrait/faction/extatus/fid00.smk new file mode 100644 index 0000000..023ed9d Binary files /dev/null and b/mpq/portrait/faction/extatus/fid00.smk differ diff --git a/mpq/portrait/faction/extatus/fid01.smk b/mpq/portrait/faction/extatus/fid01.smk new file mode 100644 index 0000000..a378773 Binary files /dev/null and b/mpq/portrait/faction/extatus/fid01.smk differ diff --git a/mpq/portrait/faction/extatus/fid02.smk b/mpq/portrait/faction/extatus/fid02.smk new file mode 100644 index 0000000..9f9a0ea Binary files /dev/null and b/mpq/portrait/faction/extatus/fid02.smk differ diff --git a/mpq/portrait/faction/extatus/fid03.smk b/mpq/portrait/faction/extatus/fid03.smk new file mode 100644 index 0000000..493a6f5 Binary files /dev/null and b/mpq/portrait/faction/extatus/fid03.smk differ diff --git a/mpq/portrait/faction/extatus/tlk00.smk b/mpq/portrait/faction/extatus/tlk00.smk new file mode 100644 index 0000000..add3e09 Binary files /dev/null and b/mpq/portrait/faction/extatus/tlk00.smk differ diff --git a/mpq/portrait/faction/extatus/tlk01.smk b/mpq/portrait/faction/extatus/tlk01.smk new file mode 100644 index 0000000..3bac7b3 Binary files /dev/null and b/mpq/portrait/faction/extatus/tlk01.smk differ diff --git a/mpq/portrait/faction/extatus/tlk02.smk b/mpq/portrait/faction/extatus/tlk02.smk new file mode 100644 index 0000000..0e96bef Binary files /dev/null and b/mpq/portrait/faction/extatus/tlk02.smk differ diff --git a/mpq/portrait/faction/harakan_golden/fid00.smk b/mpq/portrait/faction/harakan_golden/fid00.smk new file mode 100644 index 0000000..e1ce686 Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/fid00.smk differ diff --git a/mpq/portrait/faction/harakan_golden/fid01.smk b/mpq/portrait/faction/harakan_golden/fid01.smk new file mode 100644 index 0000000..0306353 Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/fid01.smk differ diff --git a/mpq/portrait/faction/harakan_golden/fid02.smk b/mpq/portrait/faction/harakan_golden/fid02.smk new file mode 100644 index 0000000..7e1ecc9 Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/fid02.smk differ diff --git a/mpq/portrait/faction/harakan_golden/fid03.smk b/mpq/portrait/faction/harakan_golden/fid03.smk new file mode 100644 index 0000000..cd9ce35 Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/fid03.smk differ diff --git a/mpq/portrait/faction/harakan_golden/tlk00.smk b/mpq/portrait/faction/harakan_golden/tlk00.smk new file mode 100644 index 0000000..bd011ec Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/tlk00.smk differ diff --git a/mpq/portrait/faction/harakan_golden/tlk01.smk b/mpq/portrait/faction/harakan_golden/tlk01.smk new file mode 100644 index 0000000..96007a5 Binary files /dev/null and b/mpq/portrait/faction/harakan_golden/tlk01.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/fid00.smk b/mpq/portrait/faction/manifold_starbound/fid00.smk new file mode 100644 index 0000000..ee6d8d8 Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/fid00.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/fid01.smk b/mpq/portrait/faction/manifold_starbound/fid01.smk new file mode 100644 index 0000000..bd13d13 Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/fid01.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/fid02.smk b/mpq/portrait/faction/manifold_starbound/fid02.smk new file mode 100644 index 0000000..4b81b4b Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/fid02.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/fid03.smk b/mpq/portrait/faction/manifold_starbound/fid03.smk new file mode 100644 index 0000000..994aefc Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/fid03.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/tlk00.smk b/mpq/portrait/faction/manifold_starbound/tlk00.smk new file mode 100644 index 0000000..2dc4f51 Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/tlk00.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/tlk01.smk b/mpq/portrait/faction/manifold_starbound/tlk01.smk new file mode 100644 index 0000000..a9a69c9 Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/tlk01.smk differ diff --git a/mpq/portrait/faction/manifold_starbound/tlk02.smk b/mpq/portrait/faction/manifold_starbound/tlk02.smk new file mode 100644 index 0000000..a222e09 Binary files /dev/null and b/mpq/portrait/faction/manifold_starbound/tlk02.smk differ diff --git a/mpq/portrait/faction/qilin/fid00.smk b/mpq/portrait/faction/qilin/fid00.smk new file mode 100644 index 0000000..7f2b8d4 Binary files /dev/null and b/mpq/portrait/faction/qilin/fid00.smk differ diff --git a/mpq/portrait/faction/qilin/fid01.smk b/mpq/portrait/faction/qilin/fid01.smk new file mode 100644 index 0000000..f36a6df Binary files /dev/null and b/mpq/portrait/faction/qilin/fid01.smk differ diff --git a/mpq/portrait/faction/qilin/fid02.smk b/mpq/portrait/faction/qilin/fid02.smk new file mode 100644 index 0000000..aff3bd6 Binary files /dev/null and b/mpq/portrait/faction/qilin/fid02.smk differ diff --git a/mpq/portrait/faction/qilin/fid03.smk b/mpq/portrait/faction/qilin/fid03.smk new file mode 100644 index 0000000..5f6e40c Binary files /dev/null and b/mpq/portrait/faction/qilin/fid03.smk differ diff --git a/mpq/portrait/faction/qilin/tlk00.smk b/mpq/portrait/faction/qilin/tlk00.smk new file mode 100644 index 0000000..5e350ab Binary files /dev/null and b/mpq/portrait/faction/qilin/tlk00.smk differ diff --git a/mpq/portrait/faction/qilin/tlk01.smk b/mpq/portrait/faction/qilin/tlk01.smk new file mode 100644 index 0000000..9745ae9 Binary files /dev/null and b/mpq/portrait/faction/qilin/tlk01.smk differ diff --git a/mpq/portrait/faction/qilin/tlk02.smk b/mpq/portrait/faction/qilin/tlk02.smk new file mode 100644 index 0000000..f9a2acf Binary files /dev/null and b/mpq/portrait/faction/qilin/tlk02.smk differ diff --git a/mpq/portrait/faction/quazrokor/fid00.smk b/mpq/portrait/faction/quazrokor/fid00.smk new file mode 100644 index 0000000..6b8e959 Binary files /dev/null and b/mpq/portrait/faction/quazrokor/fid00.smk differ diff --git a/mpq/portrait/faction/quazrokor/fid01.smk b/mpq/portrait/faction/quazrokor/fid01.smk new file mode 100644 index 0000000..6fa98aa Binary files /dev/null and b/mpq/portrait/faction/quazrokor/fid01.smk differ diff --git a/mpq/portrait/faction/quazrokor/fid02.smk b/mpq/portrait/faction/quazrokor/fid02.smk new file mode 100644 index 0000000..7265326 Binary files /dev/null and b/mpq/portrait/faction/quazrokor/fid02.smk differ diff --git a/mpq/portrait/faction/quazrokor/fid03.smk b/mpq/portrait/faction/quazrokor/fid03.smk new file mode 100644 index 0000000..6fa98aa Binary files /dev/null and b/mpq/portrait/faction/quazrokor/fid03.smk differ diff --git a/mpq/portrait/faction/quazrokor/tlk00.smk b/mpq/portrait/faction/quazrokor/tlk00.smk new file mode 100644 index 0000000..1b6d133 Binary files /dev/null and b/mpq/portrait/faction/quazrokor/tlk00.smk differ diff --git a/mpq/portrait/faction/quazrokor/tlk01.smk b/mpq/portrait/faction/quazrokor/tlk01.smk new file mode 100644 index 0000000..0f9af2e Binary files /dev/null and b/mpq/portrait/faction/quazrokor/tlk01.smk differ diff --git a/mpq/portrait/faction/quazrokor/tlk02.smk b/mpq/portrait/faction/quazrokor/tlk02.smk new file mode 100644 index 0000000..f3b0319 Binary files /dev/null and b/mpq/portrait/faction/quazrokor/tlk02.smk differ diff --git a/mpq/portrait/faction/renesair/fid00.smk b/mpq/portrait/faction/renesair/fid00.smk new file mode 100644 index 0000000..9dc64c3 Binary files /dev/null and b/mpq/portrait/faction/renesair/fid00.smk differ diff --git a/mpq/portrait/faction/renesair/fid01.smk b/mpq/portrait/faction/renesair/fid01.smk new file mode 100644 index 0000000..d94ae40 Binary files /dev/null and b/mpq/portrait/faction/renesair/fid01.smk differ diff --git a/mpq/portrait/faction/renesair/tlk00.smk b/mpq/portrait/faction/renesair/tlk00.smk new file mode 100644 index 0000000..6eb75e9 Binary files /dev/null and b/mpq/portrait/faction/renesair/tlk00.smk differ diff --git a/mpq/portrait/faction/tiangou/fid00.smk b/mpq/portrait/faction/tiangou/fid00.smk new file mode 100644 index 0000000..3d40897 Binary files /dev/null and b/mpq/portrait/faction/tiangou/fid00.smk differ diff --git a/mpq/portrait/faction/tiangou/fid01.smk b/mpq/portrait/faction/tiangou/fid01.smk new file mode 100644 index 0000000..8656a29 Binary files /dev/null and b/mpq/portrait/faction/tiangou/fid01.smk differ diff --git a/mpq/portrait/faction/tiangou/fid02.smk b/mpq/portrait/faction/tiangou/fid02.smk new file mode 100644 index 0000000..10f701c Binary files /dev/null and b/mpq/portrait/faction/tiangou/fid02.smk differ diff --git a/mpq/portrait/faction/tiangou/fid03.smk b/mpq/portrait/faction/tiangou/fid03.smk new file mode 100644 index 0000000..eab923b Binary files /dev/null and b/mpq/portrait/faction/tiangou/fid03.smk differ diff --git a/mpq/portrait/faction/tiangou/tlk00.smk b/mpq/portrait/faction/tiangou/tlk00.smk new file mode 100644 index 0000000..e0a0203 Binary files /dev/null and b/mpq/portrait/faction/tiangou/tlk00.smk differ diff --git a/mpq/portrait/faction/tiangou/tlk01.smk b/mpq/portrait/faction/tiangou/tlk01.smk new file mode 100644 index 0000000..219d133 Binary files /dev/null and b/mpq/portrait/faction/tiangou/tlk01.smk differ diff --git a/mpq/portrait/faction/tiangou/tlk02.smk b/mpq/portrait/faction/tiangou/tlk02.smk new file mode 100644 index 0000000..7a4afd9 Binary files /dev/null and b/mpq/portrait/faction/tiangou/tlk02.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/fid00.smk b/mpq/portrait/faction/zealot_starbound/fid00.smk new file mode 100644 index 0000000..62fb07b Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/fid00.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/fid01.smk b/mpq/portrait/faction/zealot_starbound/fid01.smk new file mode 100644 index 0000000..fe5af14 Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/fid01.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/fid02.smk b/mpq/portrait/faction/zealot_starbound/fid02.smk new file mode 100644 index 0000000..46a951a Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/fid02.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/fid03.smk b/mpq/portrait/faction/zealot_starbound/fid03.smk new file mode 100644 index 0000000..62fb07b Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/fid03.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/tlk00.smk b/mpq/portrait/faction/zealot_starbound/tlk00.smk new file mode 100644 index 0000000..92cc336 Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/tlk00.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/tlk01.smk b/mpq/portrait/faction/zealot_starbound/tlk01.smk new file mode 100644 index 0000000..2bb6a88 Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/tlk01.smk differ diff --git a/mpq/portrait/faction/zealot_starbound/tlk02.smk b/mpq/portrait/faction/zealot_starbound/tlk02.smk new file mode 100644 index 0000000..2bb6a88 Binary files /dev/null and b/mpq/portrait/faction/zealot_starbound/tlk02.smk differ diff --git a/mpq/rez/stat.txt b/mpq/rez/stat.txt index 2189e99..459fcd7 100644 --- a/mpq/rez/stat.txt +++ b/mpq/rez/stat.txt @@ -371,12 +371,12 @@ q<1><4>Morph into Quazilisks <1>(<3>Q<1>)<10>Pursuant strain.<0> Quazilisk requires:<10> Quazeth Pool<0> r<3><4>Burrow <1>(<3>R<1>)<10>Burrows the unit, concealing it from enemy vision and rendering it immobile.<0> r<0><4>Unburrow <1>(<3>R<1>)<10>Unburrows the unit, revealing it and allowing it to move.<0> -<0> -<0> +¤<3><4>New Dominion <2>(passive)<10>When allies unload from this transport, they gain 33% attack speed for 10 seconds.<0> +¤<3><4>Terrestrial Assembly <2>(passive)<10>Upon taking fatal damage while mobile, Petracts embed themselves into the surface, becoming immobile and more heavily-armored.<10>During this time, their weapon targets air and ground, and loaded combatants may return fire.<0> w<3><4>Carapace Swarm <1>(<3>W<1>)<10>Creates damage-absorbing cloud cover that lasts for 25 seconds or until it has absorbed 1000 damage.<0> x<3><4>Parasitic Excision <1>(<3>X<1>)<10>After a 1-second channel, the Matraleth deposits a Vilgoleth at the target location.<0> -<0> -<0> +¤<3><4>Warring Winds <2>(passive)<10>Every time the Phontis is struck, it releases a healing pulse worth 5 HP for allies within 8 range.<10>After sustaining ten attacks, the Phontis pulls all combatants within 8 range towards itself.<0> +¤<3><4>Scrapworld: Implosion <2>(passive)<10>This combatant detonates 1 seconds after death, pulling all combatants within 6 range towards its death site and slowing their movement speed by 33% for 5 seconds.<0> g<3><4>Plague <1>(<3>G<1>)<10>After a 1-second channel, creates a 3-range zone that lasts 10 seconds. Victims that enter the zone are infected with Plague, and take up to 50 damage over 5 seconds.<10>On death, victims create a smaller 1.5-range infection zone that lasts 5 seconds. Plague cannot kill its victims.<0> ¤<3><4>Ensnaring Brood <2>(passive)<10>Allies within 4 range of a Matraleth apply Ensnare with every attack. Ensnared targets move and attack 33% slower. Ensnare expires after 2 seconds.<0> a<1><4>Assemble Vassal <1>(<3>A<1>)<10>Light fighter.<0> @@ -388,7 +388,7 @@ z<1><4>Mutate into Zorkiz Shroud <1>(<3>Z<1>)<10>Control node. Enables Zoryustha e<1><4>Warp in Rogue Gallery <1>(<3>E<1>)<10>Profane disciple production.<0> <0> <0> -<0> +c<1><4>Raise Constituent <1>(<3>C<1>)<10>Skybound worker.<0> e<3><4>Salvage <1>(<3>E<1>)<10>Orders the builder to deconstruct the target mechanical unit or structure, returning up to 33% of its resource cost during the channel.<0> e<3><4>Rapid Rendezvous <1>(<3>E<1>)<10>Leaps to the target ground ally within 5 range, activating Impact Dissipation for all allies within 3 range of the jump target.<0> c<3><4>Hijack <1>(<3>C<1>)<10>Leaps to the target hostile, attaching to the victim and slowing their movement speed by 50%.<10><10>After 5 seconds, the Askosi combatant becomes the target.<0> @@ -453,7 +453,7 @@ e<1><4>Profanate Empress <1>(<3>E<1>)<10>Reinforcing destroyer.<0> ¤<3><4>Escape Velocity <2>(passive)<10>Algoztalisk projectiles gain +1 armor penetration for every range traveled.<0> <0> <0> -<0> +¤<3><4>Advancing Motion <2>(passive)<10>This combatant's primary weapon can be fired while moving.<0> Iron Foundry requires:<10> Daedala<0> f<1><4>Build Iron Foundry <1>(<3>F<1>)<10>Advanced vehicle production.<0> Proscenium requires:<10> Cipher AND Gauntlet<0> @@ -491,7 +491,7 @@ a<1><4>Train Autocrat <1>(<3>A<1>)<10>Reigning infantry.<0> e<1><4>Train Olympian <1>(<3>E<1>)<10>Elite infantry.<0> g<1><4>Build Guildhall <1>(<3>G<1>)<10>Enables Olympians and Autocrats.<0> Guildhall requires:<10> Daedala<0> -¤<3><4>Principality Assembly <2>(passive)<10>Upon taking fatal damage while mobile, Scepters embed themselves into the surface, becoming immobile and more heavily-armored.<10>During this time, they gain 2 bonus weapon range and 33% bonus attack speed.<0> +¤<3><4>Principality Assembly <2>(passive)<10>Upon taking fatal damage while mobile, Scepters embed themselves into the surface, becoming immobile and more heavily-armored.<10>During this time, they gain 2 bonus weapon range and 33% bonus attack speed, and grant 1 bonus armor penetration to allies within 8 range.<0> r<3><4>Aural Assault <1>(<3>R<1>)<10>Fires a projectile that blinds all targets within 2 range for 2 seconds. Blinded combatants have their weapon range reduced to a maximum of 2.<0> Okrimnil Aspect requires:<10> Chokral Chazsal<0> ¤<3><4>Fleeting Focus <2>(passive)<10>When struck by a mobile hostile within 2 range, Strigas repulse their attacker backwards by 1 range.<0> @@ -511,7 +511,7 @@ t<1><4>Warp in Astral Omen <1>(<3>T<1>)<10>Corvette production.<0> ¤<3><4>Leading the Blind <2>(passive)<10>Victims of the Charlatan's attacks hallucinate for 1 second. Attackers that damage hallucinations launch a phantom strike that deals half damage.<0> c<1><4>Profanate Charlatan <1>(<3>C<1>)<10>Chaotic ranger.<0> ¤<3><4>Astral Blessing <2>(passive)<10>Victims of this combatant's attacks radiate power, restoring 2 shields to any allies of attacker within 3 range.<0> -¤<3><4>Scrapworld: Vital Remains <2>(passive)<10>When this combatant walks over a corpse, they consume it to restore 10 HP to all allies within 5 range.<0> +¤<3><4>Scrapworld: Vital Remains <2>(passive)<10>When this combatant walks over a corpse, they consume it to empower all allies within 5 range, healing them for 10 HP and granting them 1 non-stacking armor penetration for 4 seconds.<0> ¤<3><4>Lashing Limbs <2>(passive)<10>While moving, Evigrilisks can strike up to 4 targets within their weapon range.<10><10>While stationary, Evigrilisks focus their attacks on a single target.<0> e<1><4>Warp in Empyrean <1>(<3>E<1>)<10>Frontal destroyer.<0> v<1><4>Morph into Evigrilisk <1>(<3>V<1>)<10>Versatile assault strain.<0> @@ -866,7 +866,7 @@ Not enough energy.<0> Not enough energy.<0> w<1><4>Install Grandstand <1>(<3>W<1>)<10>Versatile tower.<0> ¤<3><4>Hotdrop <2>(passive)<10>Trojans have 150% unload speed compared to other transports.<0> -Cosmoscope Requires:<10> Cipher OR Gauntlet<0> +Cosmoscope Requires:<10> Radix OR Function<0> Must target heavily damaged structure.<0> Unit's waypoint list is full.<0> Order limit reached.<0> @@ -933,37 +933,37 @@ Rakzilisk requires:<10> Rakzogth Roost<0> z<1><4>Morph into Ogroszaleth <1>(<3>Z<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> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> -<0> +Adaptive Amitosis:<10> Must be burrowed.<0> +a<1><4>Raise Aphorist <1>(<3>A<1>)<10>Crowd-controlling trooper.<0> +t<1><4>Raise Thaumalogue <1>(<3>T<1>)<10>Enforcing trooper.<0> +v<1><4>Raise Avatar <1>(<3>V<1>)<10>Subsuming trooper.<0> +d<1><4>Raise Doronin <1>(<3>D<1>)<10>Eviscerating cyberbeast.<0> +Avatar requires:<10> Conduit<0> +Doronin requires:<10> Bestiary<0> +a<1><4>Meld Agonist <1>(<3>A<1>)<10>Incessant vehicle.<0> +r<1><4>Meld Petract <1>(<3>R<1>)<10>Frontal transport.<0> +t<1><4>Raise Phontis <1>(<3>T<1>)<10>Ironclad crawler.<0> +z<1><4>Raise Zonguard <1>(<3>Z<1>)<10>Ravenous mechbeast.<0> +Phontis requires:<10> Conduit<0> +Zonguard requires:<10> Bestiary<0> +a<1><4>Raise Akreno <1>(<3>A<1>)<10>Light skybeast.<0> +s<1><4>Meld Meld Iconoclast <1>(<3>S<1>)<10>Crowd-controlling frigate.<0> +c<1><4>Meld Meld Crematorium <1>(<3>C<1>)<10>Assault cruiser.<0> +r<1><4>Raise Paraclete <1>(<3>R<1>)<10>Interdicting skybeast.<0> +Crematorium requires:<10> Conduit<0> +Paraclete requires:<10> Bestiary<0> +v<1><4>Morph into Zethalor <1>(<3>V<1>)<10>Swarming artillery strain.<0> +Zethar Aspect requires:<10> Vornath Pond<0> +r<1><4>Morph into Scrylyleth <1>(<3>V<1>)<10>Territorial strain.<0> +Scrylyl Aspect requires:<10> Irol Iris<0> +b<1><4>Install Conduit <1>(<3>B<1>)<10>Ashen relay.<0> +Conduit Requires<10> Proscenium OR Zylode<0> +b<1><4>Install Bestiary <1>(<3>B<1>)<10>Beast relay.<0> +Bestiary Requires<10> Proscenium OR Zylode<0> +b<1><4>Install Zylode <1>(<3>B<1>)<10>Advanced mechanized production.<0> +Zylode Requires<10> Cipher AND Gauntlet<0> +b<1><4>Install Astrolabe <1>(<3>B<1>)<10>Advanced skyborne production.<0> +Astrolabe Requires<10> Proscenium OR Zylode<0> <0> <0> <0> @@ -1072,7 +1072,7 @@ g<1><4>Build Monogram <1>(<3>G<1>)<10>Reinforcing hovercraft.<0> g<1><4>Build Gorgon <1>(<3>G<1>)<10>All-purpose corvette.<0> a<1><4>Build Salamander <1>(<3>A<1>)<10>Area-denial cruiser.<0> ¤<3><4>Signify: Cowardice <2>(passive)<10>Enemies struck by this combatant have their movement speed reduced by 50% for 3 seconds.<0> -<0> +e<3><4>Place Eyelet <1>(<3>E<1>)<10>Deploys an Eyelet at the target location. Eyelets detect hidden hostiles and can Remateralize allies.<0> ¤<3><4>Signify: Malice <2>(passive)<10>Enemies struck by 5 consecutive attacks have their attack speed reduced by 33%. This effect expires at the same time as Signify: Cowardice.<0> e<1><4>Warp in Legionnaire <1>(<3>E<1>)<10>Melee skirmisher.<0> r<1><4>Warp in Hierophant <1>(<3>R<1>)<10>Disruptive strider.<0> @@ -1090,7 +1090,7 @@ g<1><4>Assemble Golem <1>(<3>G<1>)<10>Sturdy frontline drone.<0> t<1><4>Build Mantle <1>(<3>T<1>)<10>Walker outpost.<0> ¤<3><4>Apollyoid Adhesive <2>(passive)<10>Flame-based attacks set victims alight, rending 1 armor per stack, and dealing 3 damage every second.<10><10>Apollyoid Adhesive burns itself out after 2 seconds of not being stacked.<0> ¤<3><4>Sustaining Sermon <2>(passive)<10>Every second strike, the Cardinal's weapon releases a restorative pulse, granting to all allies within 3 range a heal equal to damage dealt.<0> -¤<3><4>Impact Dissipation <2>(passive)<10>Each time this combatant is attacked by a hostile, it gains 33% increased movement speed for 2 seconds.<0> +¤<3><4>Impact Dissipation <2>(passive)<10>Each time this combatant is attacked by a hostile, it gains 33% increased movement speed for 3 seconds, and regenerates 15 HP over time.<0> Mining Efficiency<0> ¤<3><4>Schematic Unity <2>(passive)<10>Up to 5 Askosi workers can collaborate on construction efforts.<10>When Dyads assist in construction, they increase construction rate by 30%.<0> ¤<3><4>Shared Designs <2>(passive)<10>Up to 5 Askosi workers can collaborate on construction efforts.<10>Each additional Pilgrim increases construction rate by 20%.<0> @@ -1112,7 +1112,7 @@ d<1><4>Train Madcap <1>(<3>D<1>)<10>Mechanized infantry.<0> g<3><4>Land Grab <1>(<3>G<1>)<10>Orders the Wyvern to fire its weapon at the target site.<0> r<1><4>Warp in Strident Stratum <1>(<3>R<1>)<10>Utilitarian production.<0> Mantle requires:<10> Atlas<0> -¤<3><4>Power Overload <2>(passive)<10>Victims of this combatant emit a Booming Blast once per second for every point of armor they have.<0> +¤<3><4>Power Overload <2>(passive)<10>Victims of this combatant sustain 5 damage once per second for every point of armor they have.<0> r<1><4>Build Wyvern <1>(<3>R<1>)<10>Area-denial corvette.<0> v<1><4>Train Savant <1>(<3>V<1>)<10>Versatile infantry.<0> z<1><4>Build Apothecary <1>(<3>Z<1>)<10>Alchemical outpost.<0> @@ -1223,15 +1223,15 @@ w<1><4>Warp in Xenolith <1>(<3>W<1>)<10>Recalling relay.<0> Advanced Warps require:<10> Basic Warp<0> Empowered Warps require:<10> Advanced Warp<0> Supreme Warps require:<10> Empowered Warp<0> -¤<3><4>Writhing Web <2>(passive)<10>For every allied Sovroleth within 8 range, lose 5% movement speed and gain 5% weapon range.<0> +¤<3><4>Writhing Web <2>(passive)<10>For every allied Sovroleth within 8 range, lose 6% movement speed and gain 6% weapon range.<0> ¤<3><4>Babylon Plating <2>(passive)<10>Phalanxes gain +4 armor while in Tank mode.<0> Ogun requires:<10> Quarry<0> ¤<3><4>Blood Tithe <2>(passive)<10>When an Apostle attacks a target, allies within 3 range of the Apostle are healed for 5 HP.<0> e<1><4>Build Cyclops <1>(<3>E<1>)<10>Crowd-controlling walker.<0> ¤<3><4>Nanite Drones <2>(passive)<10>While in Smithy Mode, Oguns repair all structures within 4 range.<0> Nanite Drones:<10> Must be in Smithy Mode<0> -<0> -<0> +¤<3><4>Retaliation Assembly<2>(passive)<10>Upon taking fatal damage while mobile, Thaumalogues embed themselves into the surface, becoming immobile and more heavily-armored. During this time, they gain increased 50% attack speed when damaged.<0> +¤<3><4>Scrapworld: Ash Heap <2>(passive)<10>This combatant's attacks debuff hostiles for 2 seconds. While debuffed, the hostiles lose 1 armor every 2 seconds.<10>If a victim dies during this time, its corpse is turned to ash, spreading the armor debuff to hostiles within 2 range.<0> ¤<3><4>Corpse Cocoon <2>(passive)<10>Corpses touched by this strain are consumed, transforming into eggs that spawn an additional combatant. The gestation time is equal to half of the strain's build time.<0> <0> <0> @@ -1471,7 +1471,7 @@ Mortothrokor requires:<10> Axtoth Axis<0> ¤<3><4>Transcendent Fall <2>(passive)<10>Allies that fall within 4 range of the Herald have their corpses avenged after 1 second. When the Herald falls, hostile corpses within 4 range are ascended.<0> ¤<3><4>Nanite Field <2>(passive)<10>Every second, Shamans release a pulse that heals allies within 6 range for 8 HP.<10>An ally cannot be healed by a Shaman more than once per second.<0> ¤<3><4>Adrenal Frenzy <2>(passive)<10>After landing an attack, this combatant gains 25% increased movement speed for 2 seconds.<0> -¤<3><4>Bloody Rain <2>(passive)<10>Cargo loaded into the Kethrostalor is fired with its next attack.<0> +¤<3><4>Bloody Rain <2>(passive)<10>Cargo loaded into this strain is fired with its next attack.<0> d<1><4>Manifest Droleth <1>(<3>D<1>)<10>Worker strain.<0> a<1><4>Manifest Mason <1>(<3>A<1>)<10>Worker.<0> s<1><4>Manifest Scribe <1>(<3>S<1>)<10>Worker automata.<0> @@ -1791,7 +1791,7 @@ r<1><4>Build Priestess <1>(<3>R<1>)<10>Restorative infantry.<0> b<1><4>Build Barker <1>(<3>B<1>)<10>Frontline cavalry.<0> <27><0><4>Cancel Demolition <1>(<3>ESC<1>)<0> ¤<3><4>Evasive Maneuvers <2>(passive)<10>After falling below 30 HP, Stewards will return to their Solarion, regaining all HP and becoming cleansed of any debuffs.<0> -<0> +¤<3><4>Mechanical Rage <2>(passive)<10>After killing an enemy combatant, the Zonguard gains 7 bonus armor 2 seconds.<0> Chokral Chaszal requires:<10> Othstol Oviform<0> <0> <0> diff --git a/mpq/rez/unitnames.tbl b/mpq/rez/unitnames.tbl index ff520c7..e19ea6b 100644 Binary files a/mpq/rez/unitnames.tbl and b/mpq/rez/unitnames.tbl differ diff --git a/mpq/scripts/iscript_askosi.bin b/mpq/scripts/iscript_askosi.bin index f00a5aa..5293d0a 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 93f2612..c29243a 100644 --- a/mpq/scripts/iscript_askosi.txt +++ b/mpq/scripts/iscript_askosi.txt @@ -1101,7 +1101,7 @@ SpecialState1 [NONE] # ----------------------------------------------------------------------------- # RoveInit: - imgul 2109 0 7 # Rove Shadow (cm\askosi\rove.grp) + imgulnextid 0 7 # Rove Shadow (cm\askosi\rove.grp) playfram 0x00 goto RoveGndAttkToIdle @@ -1137,13 +1137,20 @@ RoveUnused1: RoveGndAttkInit: wait 1 + nobrkcodestart + wait 1 + playfram 0x20 attackwith 1 + wait 1 + playfram 0x00 + nobrkcodeend gotorepeatattk goto RoveGndAttkToIdle RoveWalking: playfram 0x00 setvertpos 0 + imgol 2303 0 0 # Rove Engine goto SkryrokorLocal00 # ----------------------------------------------------------------------------- # @@ -1458,7 +1465,7 @@ SpecialState1 [NONE] # ----------------------------------------------------------------------------- # HelionInit: - imgul 2177 0 42 # Helion Shadow (cm\askosi\helion.grp) + imgulnextid 0 42 # Helion Shadow (cm\askosi\helion.grp) HelionGndAttkToIdle: playfram 0x00 HelionLocal00: @@ -1522,7 +1529,7 @@ SpecialState1 TiradeSpecialState1 # ----------------------------------------------------------------------------- # TiradeInit: - imgul 2179 0 42 # Tirade Shadow (cm\askosi\tirade.grp) + imgulnextid 0 42 # Tirade Shadow (cm\askosi\tirade.grp) TiradeGndAttkToIdle: playfram 0x00 TiradeLocal00: @@ -2021,7 +2028,7 @@ MimicWalking: # ----------------------------------------------------------------------------- # # This header is used by images.dat entries: -# 4026 Intendent (cm\askosi\intendent.grp) +# 2218 Intendent (cm\askosi\intendent.grp) .headerstart IsId 23 Type 21 @@ -2072,7 +2079,6 @@ IntendentGndAttkRpt: wait 1 nobrkcodestart playfram 0x200 - playsndbtwn 1788 1790 # Atreus weapon fire 01, 02, 03 attackwith 1 wait 1 playfram 0x220 @@ -2638,4 +2644,1920 @@ OpticalFlareHitInit: wait 1 playfram 8 wait 1 - goto Generic_Wait1End \ No newline at end of file + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2253 Aphorist (cm\askosi\aphorist.grp) +.headerstart +IsId 33 +Type 21 +Init AphoristInit +Death AphoristDeath +GndAttkInit AphoristGndAttkInit +AirAttkInit AphoristGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt AphoristGndAttkRpt +AirAttkRpt AphoristGndAttkRpt +CastSpell [NONE] +GndAttkToIdle AphoristGndAttkToIdle +AirAttkToIdle AphoristGndAttkToIdle +Unused2 [NONE] +Walking AphoristWalking +WalkingToIdle AphoristGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AphoristInit: + imgulnextid 0 0 # Aphorist Shadow (cm\askosi\aphorist-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +AphoristGndAttkToIdle: + playfram 0x22 + wait 1 + playfram 0x00 + goto SkryrokorLocal00 + +AphoristDeath: + playsndbtwn 3053 3056 # Aphorist death 01, 02, 03, 04 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 947 0 0 # Aphorist remains (cm\protoss\aphorist-death.grp) + wait 1 + end + +AphoristGndAttkInit: + playfram 0x22 + wait 1 + playfram 0x33 +AphoristGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x44 + attack + wait 1 + playfram 0x55 + wait 6 + playfram 0x99 + attack + wait 1 + playfram 0xee + wait 6 + playfram 0x44 + attack + wait 1 + playfram 0x55 + wait 6 + playfram 0x99 + attack + wait 1 + playfram 0xee + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto AphoristGndAttkToIdle + +AphoristWalking: + move 5 + wait 1 + playfram 0xff + move 5 + wait 1 + playfram 0x110 + move 5 + wait 1 + playfram 0x121 + move 5 + wait 1 + playfram 0x132 + move 5 + wait 1 + playfram 0x143 + move 5 + wait 1 + playfram 0x154 + move 5 + wait 1 + playfram 0x165 + move 5 + wait 1 + playfram 0x176 + move 5 + wait 1 + playfram 0x187 + move 5 + wait 1 + playfram 0x198 + move 5 + wait 1 + playfram 0x1a9 + move 5 + wait 1 + playfram 0x1ba + goto AphoristWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 239 Thaumalogue (cm\askosi\thaumalogue.grp) +.headerstart +IsId 34 +Type 21 +Init ThaumalogueInit +Death ThaumalogueDeath +GndAttkInit ThaumalogueGndAttkInit +AirAttkInit ThaumalogueGndAttkInit +Unused1 ThaumalogueUnused1 +GndAttkRpt ThaumalogueGndAttkRpt +AirAttkRpt ThaumalogueGndAttkRpt +CastSpell [NONE] +GndAttkToIdle ThaumalogueGndAttkToIdle +AirAttkToIdle ThaumalogueGndAttkToIdle +Unused2 [NONE] +Walking ThaumalogueWalking +WalkingToIdle ThaumalogueWalkingToIdle +SpecialState1 ObjectSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ThaumalogueInit: + imgulnextid 0 0 # Thaumalogue Shadow (cm\askosi\thaumalogue-shadow.grp) +ThaumalogueWalkingToIdle: + playfram 0x80 +ThaumalogueLocal00: + wait 63 + randcondjmp 25 ThaumalogueLocal01 + randcondjmp 128 ThaumalogueLocal02 + goto ThaumalogueLocal00 + +ThaumalogueLocal01: + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + randcondjmp 192 ThaumalogueLocal03 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + wait 6 + turncwise 2 + wait 3 + turncwise 2 + wait 3 + turncwise 2 + wait 3 + turncwise 2 + wait 3 + turncwise 2 + wait 3 + wait 6 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + turnccwise 2 + wait 3 + goto ThaumalogueLocal04 + +ThaumalogueLocal04: + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + goto ThaumalogueWalkingToIdle + +ThaumalogueLocal03: + wait 13 + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + goto ThaumalogueWalkingToIdle + +ThaumalogueLocal02: + playfram 0xA0 + wait 1 + playfram 0xC0 + wait 1 + turnrand 3 + wait 1 + playfram 0xA0 + wait 1 + goto ThaumalogueWalkingToIdle + +ThaumalogueDeath: + playsndbtwn 296 298 # Terran\Firebat\TFBDth00.WAV | Terran\Firebat\TFBDth02.WAV + imgol 2089 0 0 # Askosi Death Explosion Small (cm\askosi\a-death-small.grp) + setfldirect 0 + playfram 416 + wait 2 + playfram 417 + wait 2 + playfram 418 + wait 2 + playfram 419 + wait 2 + playfram 420 + wait 2 + playfram 421 + wait 2 + playfram 422 + wait 2 + playfram 423 + wait 2 + lowsprul 236 0 0 # Thaumalogue Remnants (terran\thaumalogue-death.grp) + wait 1 + end + +ThaumalogueUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1161 1162 + playfram 422 + wait 2 + playfram 421 + wait 2 + playfram 420 + wait 2 + playfram 419 + wait 2 + playfram 418 + wait 2 + playfram 417 + wait 2 + playfram 416 + wait 2 + setfldirect 12 + nobrkcodeend + goto ThaumalogueWalkingToIdle + +ThaumalogueGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 +ThaumalogueGndAttkRpt: + wait 1 + nobrkcodestart + attackwith 1 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +ThaumalogueGndAttkToIdle: + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + goto ThaumalogueWalkingToIdle + +ThaumalogueWalking: + move 4 + wait 1 + playfram 0xA0 + move 4 + wait 1 + playfram 0xC0 + move 4 + wait 1 + playfram 0xE0 + move 4 + wait 1 + playfram 0x100 + move 4 + wait 1 + playfram 0x120 + move 4 + wait 1 + playfram 0x140 + move 4 + wait 1 + playfram 0x160 + move 4 + wait 1 + playfram 0x180 + move 4 + wait 1 + playfram 0x80 + goto ThaumalogueWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2269 Conduit (cm\askosi\conduit.grp) +.headerstart +IsId 35 +Type 24 +Init ConduitInit +Death LandlockDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 ConduitSpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt ConduitAlmostBuilt +Built ConduitBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ConduitIsWorking +WorkingToIdle ConduitBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ConduitDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ConduitInit: + imgulnextid 0 0 # Conduit Shadow (cm\askosi\conduit-shadow.grp) + playfram 0 + goto SkryrokorLocal00 + +ConduitSpecialState1: + playfram 1 + goto SkryrokorLocal00 + +ConduitAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +ConduitBuilt: + playfram 0 + goto SkryrokorLocal00 + +ConduitIsWorking: + playfram 2 + wait 2 + playfram 0 + waitrand 1 2 + goto ConduitIsWorking + +ConduitDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2271 Bestiary (cm\askosi\bestiary.grp) +.headerstart +IsId 36 +Type 24 +Init BestiaryInit +Death LandlockDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 BestiarySpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt BestiaryAlmostBuilt +Built BestiaryBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking BestiaryIsWorking +WorkingToIdle BestiaryBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable BestiaryDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BestiaryInit: + imgulnextid 0 0 # Bestiary Shadow (cm\askosi\conduit-shadow.grp) + playfram 0 + goto SkryrokorLocal00 + +BestiarySpecialState1: + playfram 1 + goto SkryrokorLocal00 + +BestiaryAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +BestiaryBuilt: + playfram 0 + goto SkryrokorLocal00 + +BestiaryIsWorking: + playfram 2 + wait 2 + playfram 0 + waitrand 1 2 + goto BestiaryIsWorking + +BestiaryDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2273 Zylode (cm\askosi\zylode.grp) +.headerstart +IsId 37 +Type 24 +Init ZylodeInit +Death LandlockDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 ZylodeSpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt ZylodeAlmostBuilt +Built ZylodeBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ZylodeIsWorking +WorkingToIdle ZylodeBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ZylodeDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZylodeInit: + imgulnextid 0 0 # Zylode Shadow (cm\askosi\zylode-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +ZylodeSpecialState1: + playfram 9 + goto SkryrokorLocal00 + +ZylodeAlmostBuilt: + playfram 9 + goto SkryrokorLocal00 + +ZylodeBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +ZylodeIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + goto ZylodeIsWorking + +ZylodeDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2275 Astrolabe (cm\askosi\astrolabe.grp) +.headerstart +IsId 38 +Type 24 +Init AstrolabeInit +Death LandlockDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 AstrolabeSpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt AstrolabeAlmostBuilt +Built AstrolabeBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AstrolabeIsWorking +WorkingToIdle AstrolabeBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable AstrolabeDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AstrolabeInit: + imgulnextid 0 0 # Astrolabe Shadow (cm\askosi\astrolabe-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +AstrolabeSpecialState1: + playfram 1 + goto SkryrokorLocal00 + +AstrolabeAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +AstrolabeBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +AstrolabeIsWorking: + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 12 + wait 1 + playfram 13 + wait 1 + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 16 + wait 1 + playfram 17 + wait 1 + playfram 0 + wait 1 + goto AstrolabeIsWorking + +AstrolabeDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2258 Avatar (cm\askosi\avatar.grp) +.headerstart +IsId 39 +Type 12 +Init AvatarInit +Death AvatarDeath +GndAttkInit AvatarGndAttkInit +AirAttkInit AvatarGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt AvatarGndAttkInit +AirAttkRpt AvatarGndAttkInit +CastSpell [NONE] +GndAttkToIdle AvatarGndAttkToIdle +AirAttkToIdle AvatarGndAttkToIdle +Unused2 [NONE] +Walking AvatarWalking +WalkingToIdle AvatarGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AvatarInit: + imgulnextid 0 0 # Avatar Shadow (cm\askosi\avatar-shadow.grp) +AvatarGndAttkToIdle: + playfram 0x00 + goto AvatarLocal00 + +AvatarLocal00: + wait 62 + randcondjmp 43 AvatarLocal01 + goto AvatarLocal00 + +AvatarLocal01: + randcondjmp 128 AvatarLocal02 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x00 + wait 1 + turnccwise 1 + goto AvatarGndAttkToIdle + +AvatarLocal02: + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x00 + wait 1 + turnccwise 1 + goto AvatarGndAttkToIdle + +AvatarDeath: + playsnd 353 # Terran\VULTURE\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) + wait 1 + wait 3 + end + +AvatarGndAttkInit: + playfram 0x99 + wait 1 + nobrkcodestart + wait 4 + attackwith 1 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto AvatarGndAttkToIdle + +AvatarWalking: + 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 AvatarWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2260 Doronin (cm\askosi\doronin.grp) +.headerstart +IsId 40 +Type 26 +Init DoroninInit +Death DoroninDeath +GndAttkInit DoroninGndAttkInit +AirAttkInit DoroninGndAttkInit +Unused1 DoroninUnused1 +GndAttkRpt DoroninGndAttkInit +AirAttkRpt DoroninGndAttkInit +CastSpell [NONE] +GndAttkToIdle DoroninGndAttkToIdle +AirAttkToIdle DoroninGndAttkToIdle +Unused2 [NONE] +Walking DoroninWalking +WalkingToIdle DoroninWalkingToIdle +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 +# ----------------------------------------------------------------------------- # + +DoroninInit: + imgulnextid 0 -3 # Doronin Shadow (cm\askosi\doronin-shadow.grp) + goto DoroninLocal42 +DoroninLocal42: + playfram 0x00 + wait 1 + goto DoroninLocal00 + +DoroninLocal00: + wait 62 + randcondjmp 85 DoroninLocal01 + goto DoroninLocal00 + +DoroninLocal01: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xa0 + wait 1 + playfram 0xc0 + wait 1 + playfram 0xe0 + wait 1 + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + goto DoroninLocal42 + +DoroninDeath: + playsnd 1917 # Zoryusthaleth death 01 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 + lowsprul 848 0 0 # Zerg Unit Rubble Medium + wait 1 + end + +DoroninUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1171 # Ultrokor death reversed +# playfram 244 + wait 2 +# playfram 243 + wait 2 +# playfram 242 + wait 2 +# playfram 241 + wait 2 +# playfram 240 + wait 2 + wait 2 + setfldirect 12 + nobrkcodeend + goto DoroninLocal42 + +DoroninGndAttkInit: + playfram 0x320 + wait 1 + nobrkcodestart + playfram 0x360 + wait 1 + playfram 0x380 + wait 1 + playfram 0x400 + playsndbtwn 3141 3144 # Doronin weaponfire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x420 + wait 1 + playfram 0x440 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto DoroninGndAttkToIdle + +DoroninGndAttkToIdle: + playfram 0x320 + wait 1 + goto DoroninLocal00 + +DoroninWalking: + playfram 0x180 + move 5 + wait 1 + playfram 0x1A0 + move 5 + wait 1 + playfram 0x1C0 + move 5 + wait 1 + playfram 0x1E0 + move 5 + wait 1 + playfram 0x200 + move 5 + wait 1 + playfram 0x220 + move 5 + wait 1 + playfram 0x240 + move 5 + wait 1 + playfram 0x260 + move 5 + wait 1 + playfram 0x280 + move 5 + wait 1 + playfram 0x2A0 + move 5 + wait 1 + playfram 0x2C0 + move 5 + wait 1 + playfram 0x2E0 + move 5 + wait 1 + playfram 0x300 + move 5 + wait 1 + goto DoroninWalking + +DoroninWalkingToIdle: + playfram 0x00 + goto DoroninLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2257 Thaumalogue Remains (cm\askosi\thaumalogue-remains.grp) +.headerstart +IsId 41 +Type 1 +Init GenericRemnantsThreeInit +Death GenericRemnantsThreeDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsThreeInit: + playfram 0x00 + wait 239 +GenericRemnantsThreeDeath: + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2277 Ash Heap Overlay (cm\askosi\a-fire-v.grp) +.headerstart +IsId 42 +Type 1 +Init Flames_Small_Init +Death Flames_Small_Death +.headerend +# ----------------------------------------------------------------------------- # + +Flames_Small_Init: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + goto Flames_Small_Init + +Flames_Small_Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2178 Crematorium (cm\askosi\crematorium.grp) +.headerstart +IsId 43 +Type 21 +Init CrematoriumInit +Death CrematoriumDeath +GndAttkInit CrematoriumGndAttkInit +AirAttkInit CrematoriumGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt CrematoriumGndAttkInit +AirAttkRpt CrematoriumGndAttkInit +CastSpell [NONE] +GndAttkToIdle CrematoriumGndAttkToIdle +AirAttkToIdle CrematoriumGndAttkToIdle +Unused2 [NONE] +Walking CrematoriumWalking +WalkingToIdle CrematoriumLocal00 +SpecialState1 CrematoriumSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +CrematoriumInit: + imgulnextid 0 42 # Crematorium Shadow (cm\askosi\crematorium.grp) +CrematoriumGndAttkToIdle: + playfram 0x00 +CrematoriumLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto CrematoriumLocal00 + +CrematoriumDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 1065 0 42 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + wait 1 + end + +CrematoriumGndAttkInit: + setvertpos 0 + wait 1 + nobrkcodestart + playfram 0x00 + attackwith 1 + imgol 2245 0 0 # Impact Dissipation (medium) + wait 3 + playfram 0x00 + attackwith 1 + imgol 2245 0 0 # Impact Dissipation (medium) + wait 3 + playfram 0x00 + attackwith 1 + imgol 2245 0 0 # Impact Dissipation (medium) + wait 3 + playfram 0x00 + attackwith 1 + imgol 2245 0 0 # Impact Dissipation (medium) + wait 1 + nobrkcodeend + gotorepeatattk + goto CrematoriumGndAttkToIdle + +CrematoriumWalking: + setvertpos 0 +# imgol 225 0 5 # Crematorium Engines (thingy\tdrGlow.grp) + goto SkryrokorLocal00 + +CrematoriumSpecialState1: + playfram 0x00 + wait 12 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2280 Eyelet (cm\askosi\eyelet.grp) +.headerstart +IsId 44 +Type 26 +Init EyeletInit +Death EyeletDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 EyeletUnused2 +Walking SkryrokorLocal00 +WalkingToIdle EyeletWalkingToIdle +SpecialState1 EyeletSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow EyeletBurrow +UnBurrow EyeletUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EyeletInit: + imgulnextid 0 -6 # Spider Mine Shadow (cm\askosi\eyelet-shadow.grp) +EyeletWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +EyeletDeath: + playsnd 10 # Misc\Explo1.wav + playfram 12 + wait 1 + playfram 13 + wait 1 + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 16 + wait 1 + playfram 0x11 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + end + +EyeletSpecialState1: + castspell + sigorder 1 + playsnd 10 # Misc\Explo1.wav + imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) + goto SkryrokorLocal00 + +EyeletUnused2: + sigorder 32 + sigorder 1 + playsnd 10 # Misc\Explo1.wav + imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) + goto SkryrokorLocal00 + +EyeletBurrow: + nobrkcodestart + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playsnd 354 # Terran\VULTURE\TVuMin01.WAV + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +EyeletUnBurrow: + nobrkcodestart + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playsnd 354 # Terran\VULTURE\TVuMin01.WAV + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + playfram 0x00 + sigorder 4 + nobrkcodeend + goto EyeletWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2282 Obelisk (cm\askosi\obelisk.grp) +.headerstart +IsId 45 +Type 24 +Init ObeliskInit +Death LandlockDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 ObeliskSpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt ObeliskAlmostBuilt +Built ObeliskBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ObeliskIsWorking +WorkingToIdle ObeliskBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ObeliskDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ObeliskInit: + imgulnextid 0 0 # Obelisk Shadow (cm\askosi\obelisk-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +ObeliskSpecialState1: + playfram 1 + goto SkryrokorLocal00 + +ObeliskAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +ObeliskBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +ObeliskIsWorking: + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 12 + wait 1 + playfram 13 + wait 1 + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 16 + wait 1 + playfram 0 + wait 1 + goto ObeliskIsWorking + +ObeliskDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2284 Agonist (cm\askosi\agonist.grp) +.headerstart +IsId 46 +Type 13 +Init AgonistInit +Death AgonistDeath +GndAttkInit AgonistGndAttkInit +AirAttkInit AgonistGndAttkInit +Unused1 AgonistUnused1 +GndAttkRpt AgonistGndAttkInit +AirAttkRpt AgonistGndAttkInit +CastSpell [NONE] +GndAttkToIdle AgonistGndAttkToIdle +AirAttkToIdle AgonistGndAttkToIdle +Unused2 [NONE] +Walking AgonistWalking +WalkingToIdle AgonistGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AgonistInit: + imgulnextid 0 7 # Agonist Shadow (cm\askosi\agonist.grp) + playfram 0x00 + goto AgonistGndAttkToIdle + +AgonistGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto AgonistGndAttkToIdle + +AgonistDeath: + playsnd 353 # Terran\Agonist\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 1065 0 0 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + end + +AgonistUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 # Agonist revive 01 + sprol 742 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto AgonistGndAttkToIdle + +AgonistGndAttkInit: + wait 1 + attackwith 1 + gotorepeatattk + goto AgonistGndAttkToIdle + +AgonistWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2292 Akreno (cm\askosi\akreno.grp) +.headerstart +IsId 47 +Type 21 +Init AkrenoInit +Death AkrenoDeath +GndAttkInit AkrenoGndAttkInit +AirAttkInit AkrenoGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt AkrenoGndAttkInit +AirAttkRpt AkrenoGndAttkInit +CastSpell [NONE] +GndAttkToIdle AkrenoGndAttkToIdle +AirAttkToIdle AkrenoGndAttkToIdle +Unused2 [NONE] +Walking AkrenoWalking +WalkingToIdle AkrenoGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AkrenoInit: + imgulnextid 0 42 # Akreno Shadow (cm\askosi\akreno.grp) +AkrenoGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + goto AkrenoGndAttkToIdle + +AkrenoDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 1065 0 42 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + wait 1 + end + +AkrenoGndAttkInit: + setvertpos 0 + wait 1 + nobrkcodestart + playsnd 1326 # Nathrokor weaponfire 01 + wait 1 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + attackwith 2 + attackwith 2 + wait 1 + nobrkcodeend + gotorepeatattk + goto AkrenoGndAttkToIdle + +AkrenoWalking: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + goto AkrenoWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2178 Iconoclast (cm\askosi\iconoclast.grp) +.headerstart +IsId 48 +Type 21 +Init IconoclastInit +Death IconoclastDeath +GndAttkInit IconoclastGndAttkInit +AirAttkInit IconoclastGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt IconoclastGndAttkInit +AirAttkRpt IconoclastGndAttkInit +CastSpell [NONE] +GndAttkToIdle IconoclastGndAttkToIdle +AirAttkToIdle IconoclastGndAttkToIdle +Unused2 [NONE] +Walking IconoclastWalking +WalkingToIdle IconoclastLocal00 +SpecialState1 IconoclastSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +IconoclastInit: + imgulnextid 0 42 # Iconoclast Shadow (cm\askosi\iconoclast.grp) +IconoclastGndAttkToIdle: + playfram 0x00 +IconoclastLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto IconoclastLocal00 + +IconoclastDeath: + playsndbtwn 1249 1251 # Gorgon death 01, 02, 03 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 1065 0 42 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + wait 1 + end + +IconoclastGndAttkInit: + setvertpos 0 + wait 1 + nobrkcodestart + playfram 0x00 + attackwith 1 + wait 2 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto IconoclastGndAttkToIdle + +IconoclastWalking: + setvertpos 0 +# imgol 225 0 5 # Iconoclast Engines (thingy\tdrGlow.grp) + goto SkryrokorLocal00 + +IconoclastSpecialState1: + playfram 0x00 + wait 12 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2178 Constituent (cm\askosi\constituent.grp) +.headerstart +IsId 49 +Type 15 +Init ConstituentInit +Death ConstituentDeath +GndAttkInit ConstituentGndAttkInit +AirAttkInit ConstituentGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt ConstituentGndAttkInit +AirAttkRpt ConstituentGndAttkInit +CastSpell [NONE] +GndAttkToIdle ConstituentGndAttkToIdle +AirAttkToIdle ConstituentGndAttkToIdle +Unused2 [NONE] +Walking ConstituentWalking +WalkingToIdle ConstituentLocal00 +SpecialState1 ConstituentSpecialState1 +SpecialState2 [NONE] +AlmostBuilt ConstituentAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ConstituentInit: + imgulnextid 0 42 # Constituent Shadow (cm\askosi\constituent.grp) +ConstituentGndAttkToIdle: + playfram 0x00 +ConstituentLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto ConstituentLocal00 + +ConstituentDeath: + playsndbtwn 1249 1251 # Gorgon death 01, 02, 03 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 1065 0 42 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + wait 1 + end + +ConstituentGndAttkInit: + setvertpos 0 + wait 1 + nobrkcodestart + playfram 0x00 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto ConstituentGndAttkToIdle + +ConstituentWalking: + setvertpos 0 +# imgol 225 0 5 # Constituent Engines (thingy\tdrGlow.grp) + goto SkryrokorLocal00 + +ConstituentSpecialState1: + playfram 0x00 + wait 12 + goto SkryrokorLocal00 + +ConstituentAlmostBuilt: + setvertpos 0 + playfram 0x60 + wait 1 +ConstituentLocal01: + playfram 0x80 + useweapon 14 # Fusion Cutter (Harvest) (Fusion Cutter) + sigorder 32 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 10 + playfram 0xA0 + wait 1 + goto ConstituentLocal01 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2290 Zonguard (cm\askosi\zonguard.grp) +.headerstart +IsId 50 +Type 13 +Init ZonguardInit +Death ZonguardDeath +GndAttkInit ZonguardGndAttkInit +AirAttkInit ZonguardGndAttkInit +Unused1 ZonguardUnused1 +GndAttkRpt ZonguardGndAttkInit +AirAttkRpt ZonguardGndAttkInit +CastSpell [NONE] +GndAttkToIdle ZonguardGndAttkToIdle +AirAttkToIdle ZonguardGndAttkToIdle +Unused2 [NONE] +Walking ZonguardWalking +WalkingToIdle ZonguardGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZonguardInit: + imgulnextid 0 7 # Zonguard Shadow (cm\askosi\zonguard.grp) + playfram 0x00 + goto ZonguardGndAttkToIdle + +ZonguardGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto ZonguardGndAttkToIdle + +ZonguardDeath: + playsnd 353 # Terran\Zonguard\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 1065 0 0 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + end + +ZonguardUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 # Zonguard revive 01 + sprol 742 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto ZonguardGndAttkToIdle + +ZonguardGndAttkInit: + wait 1 + attackwith 1 + attackwith 1 + gotorepeatattk + goto ZonguardGndAttkToIdle + +ZonguardWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2286 Petract (cm\askosi\petract.grp) +.headerstart +IsId 51 +Type 21 +Init PetractInit +Death PetractDeath +GndAttkInit PetractGndAttkInit +AirAttkInit PetractGndAttkInit +Unused1 PetractUnused1 +GndAttkRpt PetractGndAttkInit +AirAttkRpt PetractGndAttkInit +CastSpell [NONE] +GndAttkToIdle PetractGndAttkToIdle +AirAttkToIdle PetractGndAttkToIdle +Unused2 [NONE] +Walking PetractWalking +WalkingToIdle PetractGndAttkToIdle +SpecialState1 ObjectSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PetractInit: + imgulnextid 0 0 # Petract Shadow (cm\askosi\petract-shadow.grp) + playfram 0x00 + goto PetractGndAttkToIdle + +PetractGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto PetractGndAttkToIdle + +PetractDeath: + playsnd 353 # Terran\Petract\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 1065 0 0 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + end + +PetractUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 # Petract revive 01 + sprol 742 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto PetractGndAttkToIdle + +PetractGndAttkInit: + wait 1 + attackwith 1 + attackwith 1 + gotorepeatattk + goto PetractGndAttkToIdle + +PetractWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2288 Phontis (cm\askosi\phontis.grp) +.headerstart +IsId 52 +Type 21 +Init PhontisInit +Death PhontisDeath +GndAttkInit PhontisGndAttkInit +AirAttkInit PhontisGndAttkInit +Unused1 SkryrokorLocal00 +GndAttkRpt PhontisGndAttkInit +AirAttkRpt PhontisGndAttkInit +CastSpell [NONE] +GndAttkToIdle PhontisGndAttkToIdle +AirAttkToIdle PhontisGndAttkToIdle +Unused2 [NONE] +Walking PhontisWalking +WalkingToIdle PhontisGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhontisInit: + imgulnextid 0 0 # Phontis Shadow (cm\askosi\phontis-shadow.grp) + goto PhontisGndAttkToIdle + +PhontisGndAttkToIdle: + playfram 0x220 + goto SkryrokorLocal00 + +PhontisDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 1065 0 0 # Askosi Unit Rubble (cm\askosi\a-rubble-tiny.grp) + wait 1 + end + +PhontisGndAttkInit: + playfram 0x220 +PhontisGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x200 + attackwith 1 + wait 1 + playfram 0x220 + wait 4 + playfram 0x200 + attackwith 1 + wait 1 + playfram 0x220 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto PhontisGndAttkToIdle + +PhontisWalking: + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x20 + move 4 + wait 1 + 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 0x100 + move 4 + wait 1 + playfram 0x120 + move 4 + wait 1 + playfram 0x140 + move 4 + wait 1 + playfram 0x160 + move 4 + wait 1 + playfram 0x180 + move 4 + wait 1 + playfram 0x1A0 + move 4 + wait 1 + playfram 0x1C0 + move 4 + wait 1 + playfram 0x1E0 + goto PhontisWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2302 Electric Impact Small (cm\askosi\lightning-hit-small.grp) +.headerstart +IsId 53 +Type 2 +Init LightningImpactSmallInit +Death LightningImpactSmallDeath +GndAttkInit LightningImpactSmallDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LightningImpactSmallInit: + wait 1 + sigorder 1 + wait 1 +LightningImpactSmallDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 3 + wait 1 + playfram 5 + wait 1 + playfram 7 + wait 1 + playfram 9 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +.headerstart +IsId 291 +Type 15 +Init Engines_GlowHeaderInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit Generic_Wait1End +Unused1 [NONE] +GndAttkRpt Generic_Wait1End +AirAttkRpt Generic_Wait1End +CastSpell Generic_Wait1End +GndAttkToIdle Generic_Wait1End +AirAttkToIdle Generic_Wait1End +Unused2 [NONE] +Walking Engines_GlowHeaderInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Engines_GlowHeaderInit: + engset 0 + wait 1 + engset 1 + wait 1 + goto Engines_GlowHeaderInit \ No newline at end of file diff --git a/mpq/scripts/iscript_protoss.bin b/mpq/scripts/iscript_protoss.bin index 00edab0..36f7d4d 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 655169d..11da4a9 100644 --- a/mpq/scripts/iscript_protoss.txt +++ b/mpq/scripts/iscript_protoss.txt @@ -1512,9 +1512,9 @@ WarpIn ZealotWarpIn # ----------------------------------------------------------------------------- # ZealotInit: - imgul 152 0 0 # Zealot Shadow (protoss\pzeShad.grp) + imgulnextid 0 0 # Zealot Shadow (protoss\zealot-shadow.grp) ZealotWalkingToIdle: - playfram 0x55 + playfram 0xC0 ZealotLocal00: wait 62 randcondjmp 64 ZealotLocal01 @@ -1523,7 +1523,7 @@ ZealotLocal00: ZealotLocal01: playfram 0x00 wait 1 - playfram 0x22 + playfram 0x40 ZealotLocal03: wait 1 waitrand 14 21 @@ -1555,20 +1555,20 @@ ZealotLocal04: ZealotDeath: playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV setfldirect 0 - playfram 221 + playfram 416 wait 2 - playfram 222 + playfram 417 wait 2 lowsprul 815 0 0 # Zealot Remains - playfram 223 + playfram 418 wait 2 - playfram 224 + playfram 419 wait 2 - playfram 225 + playfram 420 wait 2 - playfram 226 + playfram 421 wait 2 - playfram 227 + playfram 422 wait 2 end @@ -1577,17 +1577,17 @@ ZealotUnused1: nobrkcodestart setfldirect 0 playsnd 1187 - playfram 226 + playfram 422 wait 2 - playfram 225 + playfram 421 wait 2 - playfram 224 + playfram 420 wait 2 - playfram 223 + playfram 419 wait 2 - playfram 222 + playfram 418 wait 2 - playfram 221 + playfram 417 wait 2 setfldirect 12 nobrkcodeend @@ -1598,22 +1598,22 @@ ZealotGndAttkInit: wait 1 ZealotGndAttkRpt: playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV | Protoss\ZEALOT\pzeAtt01.WAV - playfram 0x11 + playfram 0x20 wait 1 nobrkcodestart - playfram 0x22 + playfram 0x40 wait 1 - playfram 0x33 + playfram 0x60 wait 1 - playfram 0x44 + playfram 0x80 + attackmelee 1 1897 # Legionnaire weapon hit 01 + wait 1 + playfram 0x60 + wait 1 + playfram 0x40 attackmelee 1 0 wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - attackmelee 1 0 - wait 1 - playfram 0x11 + playfram 0x20 wait 1 playfram 0x00 nobrkcodeend @@ -1625,28 +1625,28 @@ ZealotGndAttkToIdle: ZealotWalking: move 4 wait 1 - playfram 0x55 + playfram 0xA0 move 4 wait 1 - playfram 0x66 + playfram 0xC0 move 4 wait 1 - playfram 0x77 + playfram 0xE0 move 4 wait 1 - playfram 0x88 + playfram 0x100 move 4 wait 1 - playfram 0x99 + playfram 0x120 move 4 wait 1 - playfram 0xaa + playfram 0x140 move 4 wait 1 - playfram 0xbb + playfram 0x160 move 4 wait 1 - playfram 0xcc + playfram 0x180 goto ZealotWalking ZealotWarpIn: @@ -1666,19 +1666,19 @@ Death Generic_Wait1End ZealotDeathInit: setfldirect 0 - playfram 0xdd + playfram 416 wait 2 - playfram 222 + playfram 417 wait 2 - playfram 223 + playfram 418 wait 2 - playfram 224 + playfram 419 wait 2 - playfram 225 + playfram 420 wait 2 - playfram 226 + playfram 421 wait 2 - playfram 227 + playfram 422 wait 2 end @@ -11039,20 +11039,20 @@ Death Generic_Wait1End # ----------------------------------------------------------------------------- # ZealotDeathReversedInit: - playfram 227 - wait 2 - playfram 226 - wait 2 - playfram 225 - wait 2 - playfram 224 - wait 2 - playfram 223 - wait 2 - playfram 222 - wait 2 - playfram 0xdd - wait 2 + playfram 422 + wait 2 + playfram 421 + wait 2 + playfram 420 + wait 2 + playfram 419 + wait 2 + playfram 418 + wait 2 + playfram 417 + wait 2 + playfram 416 + wait 2 end # ----------------------------------------------------------------------------- # @@ -14818,13 +14818,13 @@ CicatusGndAttkRpt: playfram 0x160 attackmelee 1 1897 # Legionnaire weapon hit 01 wait 1 - playfram 0x180 + playfram 0x140 wait 1 nobrkcodeend - playfram 0x1A0 - wait 1 playfram 0x120 wait 1 + playfram 0x100 + wait 1 gotorepeatattk ignorerest CicatusGndAttkToIdle: diff --git a/mpq/scripts/iscript_zerg.bin b/mpq/scripts/iscript_zerg.bin index 08011fa..5639ff5 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 843823d..9f0213a 100644 --- a/mpq/scripts/iscript_zerg.txt +++ b/mpq/scripts/iscript_zerg.txt @@ -17818,4 +17818,431 @@ MalkothrokorUnBurrow: imgol 423 -15 9 # Burrowing Dust (thingy\bDust.grp) wait 1 sigorder 4 - goto MalkothrokorGndAttkToIdle \ No newline at end of file + goto MalkothrokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2262 Zethalor (cm\faction-z\zethalor.grp) +.headerstart +IsId 838 +Type 26 +Init ZethalorInit +Death ZethalorDeath +GndAttkInit ZethalorGndAttkInit +AirAttkInit ZethalorGndAttkInit +Unused1 ZethalorUnused1 +GndAttkRpt ZethalorGndAttkRpt +AirAttkRpt ZethalorGndAttkRpt +CastSpell [NONE] +GndAttkToIdle ZethalorGndAttkToIdle +AirAttkToIdle ZethalorGndAttkToIdle +Unused2 [NONE] +Walking ZethalorWalking +WalkingToIdle ZethalorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 ZethalorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ZethalorBurrow +UnBurrow ZethalorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZethalorInit: + imgulnextid 0 -5 # Zethalor Shadow (cm\faction-z\zethalor-shadow.grp) +ZethalorWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +ZethalorDeath: + playsnd 896 # Zerg\Zergling\ZZeDth00.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + lowsprul 849 0 0 # Zerg Unit Rubble Small + wait 1 + end + +ZethalorUnused1: + 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 ZethalorGndAttkToIdle + +ZethalorGndAttkInit: + playfram 0x120 + wait 1 + playfram 0x160 + wait 2 +ZethalorGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2014 2015 # Liiralisk attack 01, 02 + playfram 0x1A0 + wait 1 + playfram 0x1E0 + attackwith 1 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x160 + wait 1 + playfram 0x120 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +ZethalorGndAttkToIdle: + playfram 0x00 + wait 1 + goto ZethalorWalkingToIdle + +ZethalorWalking: + 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 0x100 + move 6 + wait 1 + playfram 0x00 + goto ZethalorWalking + +ZethalorSpecialState2: + playfram 0x280 + goto SkryrokorLocal00 + +ZethalorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x00 + wait 1 +# playfram 0x280 + wait 1 +# playfram 0x2A0 + wait 1 +# playfram 0x2C0 + wait 1 +# playfram 0x2E0 + wait 1 +# playfram 0x300 + sigorder 4 + playfram 0x280 + goto SkryrokorLocal00 + +ZethalorUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) +# playfram 0x300 + wait 1 +# playfram 0x2E0 + wait 1 +# playfram 0x2C0 + wait 1 +# playfram 0x2A0 + wait 1 + playfram 0x00 + wait 1 + sigorder 4 + goto ZethalorWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2265 Scrylyleth (unit/cm/zerg/evigrilisk.grp) +.headerstart +IsId 839 +Type 26 +Init ScrylylethInit +Death ScrylylethDeath +GndAttkInit ScrylylethGndAttkInit +AirAttkInit ScrylylethGndAttkInit +Unused1 ScrylylethUnused1 +GndAttkRpt ScrylylethGndAttkInit +AirAttkRpt ScrylylethGndAttkInit +CastSpell [NONE] +GndAttkToIdle ScrylylethGndAttkToIdle +AirAttkToIdle ScrylylethGndAttkToIdle +Unused2 [NONE] +Walking ScrylylethWalking +WalkingToIdle ScrylylethWalkingToIdle +SpecialState1 [NONE] +SpecialState2 ScrylylethSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ScrylylethBurrow +UnBurrow ScrylylethUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ScrylylethInit: + imgulnextid 0 0 # Scrylyleth Shadow (cm\faction-z\scrylyleth-shadow.grp) +ScrylylethWalkingToIdle: + playfram 0x00 +ScrylylethLocal00: + wait 62 + randcondjmp 25 ScrylylethLocal01 + randcondjmp 128 ScrylylethLocal02 + goto ScrylylethLocal00 + +ScrylylethLocal01: + wait 1 + goto ScrylylethWalkingToIdle + +ScrylylethLocal02: + randcondjmp 128 ScrylylethLocal03 + playfram 0xcc + wait 1 + turnccwise 1 + playfram 0xdd + wait 1 + turnccwise 1 + playfram 0xee + wait 1 + turnccwise 1 + playfram 0xff + wait 1 + turnccwise 1 + playfram 0xee + wait 1 + turnccwise 1 + playfram 0xdd + wait 1 + turnccwise 1 + playfram 0xcc + wait 1 + turnccwise 1 + goto ScrylylethWalkingToIdle + +ScrylylethLocal03: + playfram 0xcc + wait 1 + turncwise 1 + playfram 0xdd + wait 1 + turncwise 1 + playfram 0xee + wait 1 + turncwise 1 + playfram 0xff + wait 1 + turncwise 1 + playfram 0xee + wait 1 + turncwise 1 + playfram 0xdd + wait 1 + turncwise 1 + playfram 0xcc + wait 1 + turncwise 1 + goto ScrylylethWalkingToIdle + +ScrylylethDeath: + playsnd 1080 # Zerg\LURKER\ZLuDth00.WAV + setfldirect 0 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 +# playfram 221 +# wait 2 +# playfram 222 +# wait 2 +# playfram 223 +# wait 2 +# playfram 224 +# wait 2 +# playfram 225 +# wait 2 +# playfram 226 +# wait 2 +# playfram 227 +# wait 2 +# playfram 228 +# wait 2 +# playfram 229 +# wait 2 + lowsprul 484 0 0 # Lakizilisk Remnants (zerg\zLakizilisk.grp) + wait 1 + end + +ScrylylethUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + sprol 753 0 0 # Ovileth death reversed + playsnd 1172 # Hydralisk Revive 01 +# playfram 229 + wait 2 +# playfram 228 + wait 2 +# playfram 227 + wait 2 +# playfram 226 + wait 2 +# playfram 225 + wait 2 +# playfram 224 + wait 2 +# playfram 223 + wait 2 +# playfram 222 + wait 2 +# playfram 221 + wait 2 + setfldirect 12 + nobrkcodeend + goto ScrylylethWalkingToIdle + +ScrylylethGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + playsndbtwn 1898 1900 # Scrylyleth weaponfire 01, 02, 03 + imgoluselo 518 0 0 # Geszithalor Attack Overlay (thingy\eplMuzz.grp) + attack + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + playsndbtwn 1898 1900 # Scrylyleth weaponfire 01, 02, 03 + attack + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + playsndbtwn 1898 1900 # Scrylyleth weaponfire 01, 02, 03 + attack + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + playsndbtwn 1898 1900 # Scrylyleth weaponfire 01, 02, 03 + attack + wait 1 + playfram 0xcc + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +ScrylylethGndAttkToIdle: + playfram 0x00 + wait 1 + goto ScrylylethWalkingToIdle + +ScrylylethWalking: + move 4 + wait 1 + playfram 0xdd + move 4 + wait 1 + playfram 0xee + move 4 + wait 1 + playfram 0xff + move 4 + wait 1 + playfram 0x110 + move 4 + wait 1 + playfram 0x121 + move 4 + wait 1 + playfram 0x132 + move 4 + wait 1 + playfram 0x143 + move 4 + wait 1 + playfram 0x154 + move 4 + wait 1 + playfram 0x165 + goto ScrylylethWalking + +ScrylylethSpecialState2: + playfram 0x176 + goto SkryrokorLocal00 + +ScrylylethBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x176 + sigorder 4 + wait 1 + goto SkryrokorLocal00 + +ScrylylethUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x110 + wait 1 + playfram 0xff + wait 1 + playfram 0xee + wait 1 + playfram 0xdd + wait 1 + sigorder 4 + goto ScrylylethWalkingToIdle \ No newline at end of file diff --git a/mpq/sound/cm/a/agonist/wf-01.wav b/mpq/sound/cm/a/agonist/wf-01.wav new file mode 100644 index 0000000..1eae9e2 Binary files /dev/null and b/mpq/sound/cm/a/agonist/wf-01.wav differ diff --git a/mpq/sound/cm/a/agonist/wf-02.wav b/mpq/sound/cm/a/agonist/wf-02.wav new file mode 100644 index 0000000..bf25d0b Binary files /dev/null and b/mpq/sound/cm/a/agonist/wf-02.wav differ diff --git a/mpq/sound/cm/a/agonist/wf-03.wav b/mpq/sound/cm/a/agonist/wf-03.wav new file mode 100644 index 0000000..17bc444 Binary files /dev/null and b/mpq/sound/cm/a/agonist/wf-03.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-charge-01.wav b/mpq/sound/cm/a/akreno/pas-charge-01.wav new file mode 100644 index 0000000..a07e943 Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-charge-01.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-charge-02.wav b/mpq/sound/cm/a/akreno/pas-charge-02.wav new file mode 100644 index 0000000..e9f1ae8 Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-charge-02.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-charge-03.wav b/mpq/sound/cm/a/akreno/pas-charge-03.wav new file mode 100644 index 0000000..cd4647e Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-charge-03.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-proc-01.wav b/mpq/sound/cm/a/akreno/pas-proc-01.wav new file mode 100644 index 0000000..5e14cd0 Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-proc-01.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-proc-02.wav b/mpq/sound/cm/a/akreno/pas-proc-02.wav new file mode 100644 index 0000000..94a1f20 Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-proc-02.wav differ diff --git a/mpq/sound/cm/a/akreno/pas-proc-03.wav b/mpq/sound/cm/a/akreno/pas-proc-03.wav new file mode 100644 index 0000000..66c0326 Binary files /dev/null and b/mpq/sound/cm/a/akreno/pas-proc-03.wav differ diff --git a/mpq/sound/cm/a/akreno/wf-01.wav b/mpq/sound/cm/a/akreno/wf-01.wav new file mode 100644 index 0000000..67bc79a Binary files /dev/null and b/mpq/sound/cm/a/akreno/wf-01.wav differ diff --git a/mpq/sound/cm/a/akreno/wf-02.wav b/mpq/sound/cm/a/akreno/wf-02.wav new file mode 100644 index 0000000..20ae481 Binary files /dev/null and b/mpq/sound/cm/a/akreno/wf-02.wav differ diff --git a/mpq/sound/cm/a/akreno/wf-03.wav b/mpq/sound/cm/a/akreno/wf-03.wav new file mode 100644 index 0000000..e05162d Binary files /dev/null and b/mpq/sound/cm/a/akreno/wf-03.wav differ diff --git a/mpq/sound/cm/a/aphorist/wf-01.wav b/mpq/sound/cm/a/aphorist/wf-01.wav new file mode 100644 index 0000000..25315df Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wf-01.wav differ diff --git a/mpq/sound/cm/a/aphorist/wf-02.wav b/mpq/sound/cm/a/aphorist/wf-02.wav new file mode 100644 index 0000000..74600c3 Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wf-02.wav differ diff --git a/mpq/sound/cm/a/aphorist/wf-03.wav b/mpq/sound/cm/a/aphorist/wf-03.wav new file mode 100644 index 0000000..0dcdf07 Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wf-03.wav differ diff --git a/mpq/sound/cm/a/aphorist/wh-01.wav b/mpq/sound/cm/a/aphorist/wh-01.wav new file mode 100644 index 0000000..e37b37f Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wh-01.wav differ diff --git a/mpq/sound/cm/a/aphorist/wh-02.wav b/mpq/sound/cm/a/aphorist/wh-02.wav new file mode 100644 index 0000000..af0fecf Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wh-02.wav differ diff --git a/mpq/sound/cm/a/aphorist/wh-03.wav b/mpq/sound/cm/a/aphorist/wh-03.wav new file mode 100644 index 0000000..de4835a Binary files /dev/null and b/mpq/sound/cm/a/aphorist/wh-03.wav differ diff --git a/mpq/sound/cm/a/crematorium/wf-01.wav b/mpq/sound/cm/a/crematorium/wf-01.wav new file mode 100644 index 0000000..4657e8d Binary files /dev/null and b/mpq/sound/cm/a/crematorium/wf-01.wav differ diff --git a/mpq/sound/cm/a/crematorium/wf-02.wav b/mpq/sound/cm/a/crematorium/wf-02.wav new file mode 100644 index 0000000..ce88b5a Binary files /dev/null and b/mpq/sound/cm/a/crematorium/wf-02.wav differ diff --git a/mpq/sound/cm/a/crematorium/wf-03.wav b/mpq/sound/cm/a/crematorium/wf-03.wav new file mode 100644 index 0000000..efb2ea5 Binary files /dev/null and b/mpq/sound/cm/a/crematorium/wf-03.wav differ diff --git a/mpq/sound/cm/a/petract/wf-01.wav b/mpq/sound/cm/a/petract/wf-01.wav new file mode 100644 index 0000000..c1e5582 Binary files /dev/null and b/mpq/sound/cm/a/petract/wf-01.wav differ diff --git a/mpq/sound/cm/a/petract/wf-02.wav b/mpq/sound/cm/a/petract/wf-02.wav new file mode 100644 index 0000000..8f9243e Binary files /dev/null and b/mpq/sound/cm/a/petract/wf-02.wav differ diff --git a/mpq/sound/cm/a/petract/wf-03.wav b/mpq/sound/cm/a/petract/wf-03.wav new file mode 100644 index 0000000..26d0b4a Binary files /dev/null and b/mpq/sound/cm/a/petract/wf-03.wav differ diff --git a/mpq/sound/cm/a/phontis/wf-01.wav b/mpq/sound/cm/a/phontis/wf-01.wav new file mode 100644 index 0000000..c50f8c9 Binary files /dev/null and b/mpq/sound/cm/a/phontis/wf-01.wav differ diff --git a/mpq/sound/cm/a/phontis/wf-02.wav b/mpq/sound/cm/a/phontis/wf-02.wav new file mode 100644 index 0000000..9c2103b Binary files /dev/null and b/mpq/sound/cm/a/phontis/wf-02.wav differ diff --git a/mpq/sound/cm/a/phontis/wf-03.wav b/mpq/sound/cm/a/phontis/wf-03.wav new file mode 100644 index 0000000..90f8ce4 Binary files /dev/null and b/mpq/sound/cm/a/phontis/wf-03.wav differ diff --git a/mpq/sound/cm/a/proselyte/wf-01.wav b/mpq/sound/cm/a/proselyte/wf-01.wav new file mode 100644 index 0000000..529f60d Binary files /dev/null and b/mpq/sound/cm/a/proselyte/wf-01.wav differ diff --git a/mpq/sound/cm/a/proselyte/wf-02.wav b/mpq/sound/cm/a/proselyte/wf-02.wav new file mode 100644 index 0000000..01fb64f Binary files /dev/null and b/mpq/sound/cm/a/proselyte/wf-02.wav differ diff --git a/mpq/sound/cm/a/proselyte/wf-03.wav b/mpq/sound/cm/a/proselyte/wf-03.wav new file mode 100644 index 0000000..825a587 Binary files /dev/null and b/mpq/sound/cm/a/proselyte/wf-03.wav differ diff --git a/mpq/sound/cm/a/proselyte/wf-04.wav b/mpq/sound/cm/a/proselyte/wf-04.wav new file mode 100644 index 0000000..820fb1f Binary files /dev/null and b/mpq/sound/cm/a/proselyte/wf-04.wav differ diff --git a/mpq/sound/cm/a/thaumalogue/wf-01.wav b/mpq/sound/cm/a/thaumalogue/wf-01.wav new file mode 100644 index 0000000..819b881 Binary files /dev/null and b/mpq/sound/cm/a/thaumalogue/wf-01.wav differ diff --git a/mpq/sound/cm/a/thaumalogue/wf-02.wav b/mpq/sound/cm/a/thaumalogue/wf-02.wav new file mode 100644 index 0000000..c1fbdc5 Binary files /dev/null and b/mpq/sound/cm/a/thaumalogue/wf-02.wav differ diff --git a/mpq/sound/cm/a/thaumalogue/wf-03.wav b/mpq/sound/cm/a/thaumalogue/wf-03.wav new file mode 100644 index 0000000..d7dbbee Binary files /dev/null and b/mpq/sound/cm/a/thaumalogue/wf-03.wav differ diff --git a/mpq/sound/cm/a/tirade/wf-01.wav b/mpq/sound/cm/a/tirade/wf-01.wav index c1e5582..2b78efc 100644 Binary files a/mpq/sound/cm/a/tirade/wf-01.wav and b/mpq/sound/cm/a/tirade/wf-01.wav differ diff --git a/mpq/sound/cm/a/tirade/wf-02.wav b/mpq/sound/cm/a/tirade/wf-02.wav index 8f9243e..3c30621 100644 Binary files a/mpq/sound/cm/a/tirade/wf-02.wav and b/mpq/sound/cm/a/tirade/wf-02.wav differ diff --git a/mpq/sound/cm/a/tirade/wf-03.wav b/mpq/sound/cm/a/tirade/wf-03.wav index 26d0b4a..28979e0 100644 Binary files a/mpq/sound/cm/a/tirade/wf-03.wav and b/mpq/sound/cm/a/tirade/wf-03.wav differ diff --git a/mpq/sound/cm/a/zonguard/wf-b-01.wav b/mpq/sound/cm/a/zonguard/wf-b-01.wav new file mode 100644 index 0000000..3a98004 Binary files /dev/null and b/mpq/sound/cm/a/zonguard/wf-b-01.wav differ diff --git a/mpq/sound/cm/a/zonguard/wf-b-02.wav b/mpq/sound/cm/a/zonguard/wf-b-02.wav new file mode 100644 index 0000000..b29d5db Binary files /dev/null and b/mpq/sound/cm/a/zonguard/wf-b-02.wav differ diff --git a/mpq/sound/cm/a/zonguard/wf-b-03.wav b/mpq/sound/cm/a/zonguard/wf-b-03.wav new file mode 100644 index 0000000..2385c33 Binary files /dev/null and b/mpq/sound/cm/a/zonguard/wf-b-03.wav differ diff --git a/mpq/sound/cm/t/striga/agg-01.wav b/mpq/sound/cm/t/striga/agg-01.wav index 2417119..07531b8 100644 Binary files a/mpq/sound/cm/t/striga/agg-01.wav and b/mpq/sound/cm/t/striga/agg-01.wav differ diff --git a/mpq/sound/cm/t/striga/agg-02.wav b/mpq/sound/cm/t/striga/agg-02.wav index 9873eb3..d818231 100644 Binary files a/mpq/sound/cm/t/striga/agg-02.wav and b/mpq/sound/cm/t/striga/agg-02.wav differ diff --git a/mpq/sound/cm/t/striga/agg-03.wav b/mpq/sound/cm/t/striga/agg-03.wav index ea641aa..9e59574 100644 Binary files a/mpq/sound/cm/t/striga/agg-03.wav and b/mpq/sound/cm/t/striga/agg-03.wav differ diff --git a/mpq/sound/cm/t/striga/agg-04.wav b/mpq/sound/cm/t/striga/agg-04.wav index 1c8f27a..461c9e9 100644 Binary files a/mpq/sound/cm/t/striga/agg-04.wav and b/mpq/sound/cm/t/striga/agg-04.wav differ diff --git a/mpq/sound/cm/t/striga/hlp-01.wav b/mpq/sound/cm/t/striga/hlp-01.wav index 8f4dc15..560e109 100644 Binary files a/mpq/sound/cm/t/striga/hlp-01.wav and b/mpq/sound/cm/t/striga/hlp-01.wav differ diff --git a/mpq/sound/cm/t/striga/hlp-02.wav b/mpq/sound/cm/t/striga/hlp-02.wav index eb64260..04f8cd0 100644 Binary files a/mpq/sound/cm/t/striga/hlp-02.wav and b/mpq/sound/cm/t/striga/hlp-02.wav differ diff --git a/mpq/sound/cm/t/striga/hlp-03.wav b/mpq/sound/cm/t/striga/hlp-03.wav index 21f6fb1..470db14 100644 Binary files a/mpq/sound/cm/t/striga/hlp-03.wav and b/mpq/sound/cm/t/striga/hlp-03.wav differ diff --git a/mpq/sound/cm/t/striga/hlp-04.wav b/mpq/sound/cm/t/striga/hlp-04.wav index ccb1d6c..2e05734 100644 Binary files a/mpq/sound/cm/t/striga/hlp-04.wav and b/mpq/sound/cm/t/striga/hlp-04.wav differ diff --git a/mpq/sound/cm/t/striga/rdy-01.wav b/mpq/sound/cm/t/striga/rdy-01.wav index 487e6bf..c826143 100644 Binary files a/mpq/sound/cm/t/striga/rdy-01.wav and b/mpq/sound/cm/t/striga/rdy-01.wav differ diff --git a/mpq/sound/cm/t/striga/rdy-02.wav b/mpq/sound/cm/t/striga/rdy-02.wav index 7c19578..9e21462 100644 Binary files a/mpq/sound/cm/t/striga/rdy-02.wav and b/mpq/sound/cm/t/striga/rdy-02.wav differ diff --git a/mpq/sound/cm/t/striga/rdy-03.wav b/mpq/sound/cm/t/striga/rdy-03.wav index e71d60f..136564e 100644 Binary files a/mpq/sound/cm/t/striga/rdy-03.wav and b/mpq/sound/cm/t/striga/rdy-03.wav differ diff --git a/mpq/sound/cm/t/striga/wht-01.wav b/mpq/sound/cm/t/striga/wht-01.wav index 72d9575..285fd5b 100644 Binary files a/mpq/sound/cm/t/striga/wht-01.wav and b/mpq/sound/cm/t/striga/wht-01.wav differ diff --git a/mpq/sound/cm/t/striga/wht-02.wav b/mpq/sound/cm/t/striga/wht-02.wav index 29f75ea..2a07bbb 100644 Binary files a/mpq/sound/cm/t/striga/wht-02.wav and b/mpq/sound/cm/t/striga/wht-02.wav differ diff --git a/mpq/sound/cm/t/striga/wht-03.wav b/mpq/sound/cm/t/striga/wht-03.wav index 596c5ed..924aedc 100644 Binary files a/mpq/sound/cm/t/striga/wht-03.wav and b/mpq/sound/cm/t/striga/wht-03.wav differ diff --git a/mpq/sound/cm/t/striga/wht-04.wav b/mpq/sound/cm/t/striga/wht-04.wav index c46db2a..284cd7c 100644 Binary files a/mpq/sound/cm/t/striga/wht-04.wav and b/mpq/sound/cm/t/striga/wht-04.wav differ diff --git a/mpq/sound/cm/t/striga/yes-01.wav b/mpq/sound/cm/t/striga/yes-01.wav index 483ca18..0910c3f 100644 Binary files a/mpq/sound/cm/t/striga/yes-01.wav and b/mpq/sound/cm/t/striga/yes-01.wav differ diff --git a/mpq/sound/cm/t/striga/yes-02.wav b/mpq/sound/cm/t/striga/yes-02.wav index 08728f3..96bc8a6 100644 Binary files a/mpq/sound/cm/t/striga/yes-02.wav and b/mpq/sound/cm/t/striga/yes-02.wav differ diff --git a/mpq/sound/cm/t/striga/yes-03.wav b/mpq/sound/cm/t/striga/yes-03.wav index 746472d..71db740 100644 Binary files a/mpq/sound/cm/t/striga/yes-03.wav and b/mpq/sound/cm/t/striga/yes-03.wav differ diff --git a/mpq/sound/cm/t/striga/yes-04.wav b/mpq/sound/cm/t/striga/yes-04.wav index bc19d10..3e28f30 100644 Binary files a/mpq/sound/cm/t/striga/yes-04.wav and b/mpq/sound/cm/t/striga/yes-04.wav differ diff --git a/mpq/tileset/Jungle.vf4 b/mpq/tileset/Jungle.vf4 index a347e17..42d40d4 100644 Binary files a/mpq/tileset/Jungle.vf4 and b/mpq/tileset/Jungle.vf4 differ diff --git a/mpq/tileset/install.cv5 b/mpq/tileset/install.cv5 new file mode 100644 index 0000000..f56ae99 Binary files /dev/null and b/mpq/tileset/install.cv5 differ diff --git a/mpq/tileset/install.vf4 b/mpq/tileset/install.vf4 new file mode 100644 index 0000000..ba202f0 Binary files /dev/null and b/mpq/tileset/install.vf4 differ diff --git a/mpq/tileset/install.vr4 b/mpq/tileset/install.vr4 new file mode 100644 index 0000000..56b2bc4 Binary files /dev/null and b/mpq/tileset/install.vr4 differ diff --git a/mpq/tileset/install.vx4ex b/mpq/tileset/install.vx4ex index 5ab4479..c5c5dd9 100644 Binary files a/mpq/tileset/install.vx4ex and b/mpq/tileset/install.vx4ex differ diff --git a/mpq/tileset/install.wpe b/mpq/tileset/install.wpe new file mode 100644 index 0000000..4cc1c81 Binary files /dev/null and b/mpq/tileset/install.wpe differ diff --git a/mpq/unit/cm/askosi/agonist.grp b/mpq/unit/cm/askosi/agonist.grp new file mode 100644 index 0000000..70e55b7 Binary files /dev/null and b/mpq/unit/cm/askosi/agonist.grp differ diff --git a/mpq/unit/cm/askosi/aphorist-attack.lol b/mpq/unit/cm/askosi/aphorist-attack.lol new file mode 100644 index 0000000..5cb56c4 Binary files /dev/null and b/mpq/unit/cm/askosi/aphorist-attack.lol differ diff --git a/mpq/unit/cm/askosi/aphorist-shadow.grp b/mpq/unit/cm/askosi/aphorist-shadow.grp new file mode 100644 index 0000000..6c62045 Binary files /dev/null and b/mpq/unit/cm/askosi/aphorist-shadow.grp differ diff --git a/mpq/unit/cm/askosi/aphorist.grp b/mpq/unit/cm/askosi/aphorist.grp new file mode 100644 index 0000000..9b21d3c Binary files /dev/null and b/mpq/unit/cm/askosi/aphorist.grp differ diff --git a/mpq/unit/cm/askosi/astrolabe-damage.lof b/mpq/unit/cm/askosi/astrolabe-damage.lof new file mode 100644 index 0000000..2562c8a Binary files /dev/null and b/mpq/unit/cm/askosi/astrolabe-damage.lof differ diff --git a/mpq/unit/cm/askosi/astrolabe-shadow.grp b/mpq/unit/cm/askosi/astrolabe-shadow.grp index c3d0a42..6234a5b 100644 Binary files a/mpq/unit/cm/askosi/astrolabe-shadow.grp and b/mpq/unit/cm/askosi/astrolabe-shadow.grp differ diff --git a/mpq/unit/cm/askosi/astrolabe.grp b/mpq/unit/cm/askosi/astrolabe.grp index 8d0a768..b322701 100644 Binary files a/mpq/unit/cm/askosi/astrolabe.grp and b/mpq/unit/cm/askosi/astrolabe.grp differ diff --git a/mpq/unit/cm/askosi/auxine.grp b/mpq/unit/cm/askosi/auxine.grp new file mode 100644 index 0000000..69dc0e9 Binary files /dev/null and b/mpq/unit/cm/askosi/auxine.grp differ diff --git a/mpq/unit/cm/askosi/avatar-shadow.grp b/mpq/unit/cm/askosi/avatar-shadow.grp new file mode 100644 index 0000000..9ed2417 Binary files /dev/null and b/mpq/unit/cm/askosi/avatar-shadow.grp differ diff --git a/mpq/unit/cm/askosi/avatar.grp b/mpq/unit/cm/askosi/avatar.grp new file mode 100644 index 0000000..1c04d9f Binary files /dev/null and b/mpq/unit/cm/askosi/avatar.grp differ diff --git a/mpq/unit/cm/askosi/bestiary-damage.lof b/mpq/unit/cm/askosi/bestiary-damage.lof new file mode 100644 index 0000000..593057b Binary files /dev/null and b/mpq/unit/cm/askosi/bestiary-damage.lof differ diff --git a/mpq/unit/cm/askosi/bestiary-shadow.grp b/mpq/unit/cm/askosi/bestiary-shadow.grp new file mode 100644 index 0000000..05f28b8 Binary files /dev/null and b/mpq/unit/cm/askosi/bestiary-shadow.grp differ diff --git a/mpq/unit/cm/askosi/bestiary.grp b/mpq/unit/cm/askosi/bestiary.grp new file mode 100644 index 0000000..7c38cf0 Binary files /dev/null and b/mpq/unit/cm/askosi/bestiary.grp differ diff --git a/mpq/unit/cm/askosi/conduit-damage.lof b/mpq/unit/cm/askosi/conduit-damage.lof new file mode 100644 index 0000000..41cb610 Binary files /dev/null and b/mpq/unit/cm/askosi/conduit-damage.lof differ diff --git a/mpq/unit/cm/askosi/conduit-shadow.grp b/mpq/unit/cm/askosi/conduit-shadow.grp new file mode 100644 index 0000000..8ed84e4 Binary files /dev/null and b/mpq/unit/cm/askosi/conduit-shadow.grp differ diff --git a/mpq/unit/cm/askosi/conduit.grp b/mpq/unit/cm/askosi/conduit.grp new file mode 100644 index 0000000..ee09ce7 Binary files /dev/null and b/mpq/unit/cm/askosi/conduit.grp differ diff --git a/mpq/unit/cm/askosi/constituent.grp b/mpq/unit/cm/askosi/constituent.grp new file mode 100644 index 0000000..d018b61 Binary files /dev/null and b/mpq/unit/cm/askosi/constituent.grp differ diff --git a/mpq/unit/cm/askosi/doronin-shadow.grp b/mpq/unit/cm/askosi/doronin-shadow.grp new file mode 100644 index 0000000..c1380b6 Binary files /dev/null and b/mpq/unit/cm/askosi/doronin-shadow.grp differ diff --git a/mpq/unit/cm/askosi/doronin.grp b/mpq/unit/cm/askosi/doronin.grp new file mode 100644 index 0000000..98595b8 Binary files /dev/null and b/mpq/unit/cm/askosi/doronin.grp differ diff --git a/mpq/unit/cm/askosi/eyelet-shadow.grp b/mpq/unit/cm/askosi/eyelet-shadow.grp new file mode 100644 index 0000000..de0e8ca Binary files /dev/null and b/mpq/unit/cm/askosi/eyelet-shadow.grp differ diff --git a/mpq/unit/cm/askosi/eyelet.grp b/mpq/unit/cm/askosi/eyelet.grp new file mode 100644 index 0000000..9bbfe12 Binary files /dev/null and b/mpq/unit/cm/askosi/eyelet.grp differ diff --git a/mpq/unit/cm/askosi/iconoclast.grp b/mpq/unit/cm/askosi/iconoclast.grp new file mode 100644 index 0000000..d6e7996 Binary files /dev/null and b/mpq/unit/cm/askosi/iconoclast.grp differ diff --git a/mpq/unit/cm/askosi/lightning-hit-medium.grp b/mpq/unit/cm/askosi/lightning-hit-medium.grp new file mode 100644 index 0000000..ae42170 Binary files /dev/null and b/mpq/unit/cm/askosi/lightning-hit-medium.grp differ diff --git a/mpq/unit/cm/askosi/lightning-hit-small.grp b/mpq/unit/cm/askosi/lightning-hit-small.grp new file mode 100644 index 0000000..d1d9cb3 Binary files /dev/null and b/mpq/unit/cm/askosi/lightning-hit-small.grp differ diff --git a/mpq/unit/cm/askosi/obelisk-damage.lof b/mpq/unit/cm/askosi/obelisk-damage.lof new file mode 100644 index 0000000..80b00ec Binary files /dev/null and b/mpq/unit/cm/askosi/obelisk-damage.lof differ diff --git a/mpq/unit/cm/askosi/obelisk-shadow.grp b/mpq/unit/cm/askosi/obelisk-shadow.grp new file mode 100644 index 0000000..2838fbb Binary files /dev/null and b/mpq/unit/cm/askosi/obelisk-shadow.grp differ diff --git a/mpq/unit/cm/askosi/obelisk.grp b/mpq/unit/cm/askosi/obelisk.grp new file mode 100644 index 0000000..2a7b5c5 Binary files /dev/null and b/mpq/unit/cm/askosi/obelisk.grp differ diff --git a/mpq/unit/cm/askosi/paraclete.grp b/mpq/unit/cm/askosi/paraclete.grp new file mode 100644 index 0000000..0327861 Binary files /dev/null and b/mpq/unit/cm/askosi/paraclete.grp differ diff --git a/mpq/unit/cm/askosi/petract-shadow.grp b/mpq/unit/cm/askosi/petract-shadow.grp new file mode 100644 index 0000000..20d6a1b Binary files /dev/null and b/mpq/unit/cm/askosi/petract-shadow.grp differ diff --git a/mpq/unit/cm/askosi/petract.grp b/mpq/unit/cm/askosi/petract.grp new file mode 100644 index 0000000..83104d0 Binary files /dev/null and b/mpq/unit/cm/askosi/petract.grp differ diff --git a/mpq/unit/cm/askosi/phontis-attack.lol b/mpq/unit/cm/askosi/phontis-attack.lol new file mode 100644 index 0000000..1ffcf36 Binary files /dev/null and b/mpq/unit/cm/askosi/phontis-attack.lol differ diff --git a/mpq/unit/cm/askosi/phontis-shadow.grp b/mpq/unit/cm/askosi/phontis-shadow.grp new file mode 100644 index 0000000..d0fe7cc Binary files /dev/null and b/mpq/unit/cm/askosi/phontis-shadow.grp differ diff --git a/mpq/unit/cm/askosi/phontis.grp b/mpq/unit/cm/askosi/phontis.grp new file mode 100644 index 0000000..163effa Binary files /dev/null and b/mpq/unit/cm/askosi/phontis.grp differ diff --git a/mpq/unit/cm/askosi/proscenium.grp b/mpq/unit/cm/askosi/proscenium.grp index c424679..00d9ba6 100644 Binary files a/mpq/unit/cm/askosi/proscenium.grp and b/mpq/unit/cm/askosi/proscenium.grp differ diff --git a/mpq/unit/cm/askosi/rove-engine.grp b/mpq/unit/cm/askosi/rove-engine.grp new file mode 100644 index 0000000..ffe190b Binary files /dev/null and b/mpq/unit/cm/askosi/rove-engine.grp differ diff --git a/mpq/unit/cm/askosi/rove.grp b/mpq/unit/cm/askosi/rove.grp index 74b7462..2de13ef 100644 Binary files a/mpq/unit/cm/askosi/rove.grp and b/mpq/unit/cm/askosi/rove.grp differ diff --git a/mpq/unit/cm/askosi/scralia.grp b/mpq/unit/cm/askosi/scralia.grp new file mode 100644 index 0000000..f5db55f Binary files /dev/null and b/mpq/unit/cm/askosi/scralia.grp differ diff --git a/mpq/unit/cm/askosi/thaumalogue-remains.grp b/mpq/unit/cm/askosi/thaumalogue-remains.grp new file mode 100644 index 0000000..6b621e5 Binary files /dev/null and b/mpq/unit/cm/askosi/thaumalogue-remains.grp differ diff --git a/mpq/unit/cm/askosi/thaumalogue-shadow.grp b/mpq/unit/cm/askosi/thaumalogue-shadow.grp new file mode 100644 index 0000000..e68a4a2 Binary files /dev/null and b/mpq/unit/cm/askosi/thaumalogue-shadow.grp differ diff --git a/mpq/unit/cm/askosi/thaumalogue.grp b/mpq/unit/cm/askosi/thaumalogue.grp new file mode 100644 index 0000000..c86008c Binary files /dev/null and b/mpq/unit/cm/askosi/thaumalogue.grp differ diff --git a/mpq/unit/cm/askosi/zonguard.grp b/mpq/unit/cm/askosi/zonguard.grp new file mode 100644 index 0000000..355f390 Binary files /dev/null and b/mpq/unit/cm/askosi/zonguard.grp differ diff --git a/mpq/unit/cm/askosi/zylode-damage.lof b/mpq/unit/cm/askosi/zylode-damage.lof new file mode 100644 index 0000000..918a32d Binary files /dev/null and b/mpq/unit/cm/askosi/zylode-damage.lof differ diff --git a/mpq/unit/cm/askosi/zylode.grp b/mpq/unit/cm/askosi/zylode.grp index ab4fe36..feec3b9 100644 Binary files a/mpq/unit/cm/askosi/zylode.grp and b/mpq/unit/cm/askosi/zylode.grp differ diff --git a/mpq/unit/cm/faction-p/zealot-starbound-shadow.grp b/mpq/unit/cm/faction-p/zealot-starbound-shadow.grp index 678097d..232df87 100644 Binary files a/mpq/unit/cm/faction-p/zealot-starbound-shadow.grp and b/mpq/unit/cm/faction-p/zealot-starbound-shadow.grp differ diff --git a/mpq/unit/cm/faction-p/zealot-starbound.grp b/mpq/unit/cm/faction-p/zealot-starbound.grp index dac16fc..35e5c3e 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/faction-t/cutlass-turret.grp b/mpq/unit/cm/faction-t/cutlass-turret.grp new file mode 100644 index 0000000..71f49b1 Binary files /dev/null and b/mpq/unit/cm/faction-t/cutlass-turret.grp differ diff --git a/mpq/unit/cm/faction-t/goremast-shadow.grp b/mpq/unit/cm/faction-t/goremast-shadow.grp new file mode 100644 index 0000000..c8ff775 Binary files /dev/null and b/mpq/unit/cm/faction-t/goremast-shadow.grp differ diff --git a/mpq/unit/cm/faction-t/goremast.grp b/mpq/unit/cm/faction-t/goremast.grp new file mode 100644 index 0000000..ea4dd44 Binary files /dev/null and b/mpq/unit/cm/faction-t/goremast.grp differ diff --git a/mpq/unit/cm/faction-z/scrylyleth-birth.grp b/mpq/unit/cm/faction-z/scrylyleth-birth.grp new file mode 100644 index 0000000..49192ae Binary files /dev/null and b/mpq/unit/cm/faction-z/scrylyleth-birth.grp differ diff --git a/mpq/unit/cm/faction-z/scrylyleth-shadow.grp b/mpq/unit/cm/faction-z/scrylyleth-shadow.grp new file mode 100644 index 0000000..f21384a Binary files /dev/null and b/mpq/unit/cm/faction-z/scrylyleth-shadow.grp differ diff --git a/mpq/unit/cm/faction-z/scrylyleth.grp b/mpq/unit/cm/faction-z/scrylyleth.grp new file mode 100644 index 0000000..a2b70d2 Binary files /dev/null and b/mpq/unit/cm/faction-z/scrylyleth.grp differ diff --git a/mpq/unit/cm/faction-z/scrylyleth.loa b/mpq/unit/cm/faction-z/scrylyleth.loa new file mode 100644 index 0000000..e1731c1 Binary files /dev/null and b/mpq/unit/cm/faction-z/scrylyleth.loa differ diff --git a/mpq/unit/cm/faction-z/zethalor-birth.grp b/mpq/unit/cm/faction-z/zethalor-birth.grp new file mode 100644 index 0000000..d75388a Binary files /dev/null and b/mpq/unit/cm/faction-z/zethalor-birth.grp differ diff --git a/mpq/unit/cm/faction-z/zethalor-remains.grp b/mpq/unit/cm/faction-z/zethalor-remains.grp new file mode 100644 index 0000000..a8d8dfe Binary files /dev/null and b/mpq/unit/cm/faction-z/zethalor-remains.grp differ diff --git a/mpq/unit/cm/faction-z/zethalor-shadow.grp b/mpq/unit/cm/faction-z/zethalor-shadow.grp new file mode 100644 index 0000000..5d969a6 Binary files /dev/null and b/mpq/unit/cm/faction-z/zethalor-shadow.grp differ diff --git a/mpq/unit/cm/faction-z/zethalor.grp b/mpq/unit/cm/faction-z/zethalor.grp new file mode 100644 index 0000000..44d5de4 Binary files /dev/null and b/mpq/unit/cm/faction-z/zethalor.grp differ diff --git a/mpq/unit/cmdbtns/.cmdicons.grp-ojvamg b/mpq/unit/cmdbtns/.cmdicons.grp-ojvamg new file mode 100644 index 0000000..a702f46 Binary files /dev/null and b/mpq/unit/cmdbtns/.cmdicons.grp-ojvamg differ diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index e2522a1..e1cf10a 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 fcc9748..b8005b7 100644 Binary files a/mpq/unit/cmdbtns/uniticons.grp and b/mpq/unit/cmdbtns/uniticons.grp differ diff --git a/mpq/unit/protoss/zealot-shadow.grp b/mpq/unit/protoss/zealot-shadow.grp new file mode 100644 index 0000000..4463bf4 Binary files /dev/null and b/mpq/unit/protoss/zealot-shadow.grp differ diff --git a/mpq/unit/protoss/zealot.grp b/mpq/unit/protoss/zealot.grp index 6f6f1bc..4275065 100644 Binary files a/mpq/unit/protoss/zealot.grp and b/mpq/unit/protoss/zealot.grp differ diff --git a/mpq/unit/terran/medic.grp b/mpq/unit/terran/medic.grp deleted file mode 100644 index 92b4ee2..0000000 Binary files a/mpq/unit/terran/medic.grp and /dev/null differ diff --git a/mpq/unit/thingy/tileset/platform/LBSign02.grp b/mpq/unit/thingy/tileset/platform/LBSign02.grp index f11a349..e6095f6 100644 Binary files a/mpq/unit/thingy/tileset/platform/LBSign02.grp and b/mpq/unit/thingy/tileset/platform/LBSign02.grp differ diff --git a/mpq/unit/thingy/tileset/platform/LBSign05.grp b/mpq/unit/thingy/tileset/platform/LBSign05.grp index 9daaf2f..2ba6b36 100644 Binary files a/mpq/unit/thingy/tileset/platform/LBSign05.grp and b/mpq/unit/thingy/tileset/platform/LBSign05.grp differ diff --git a/mpq/unit/wirefram/grpwire.grp b/mpq/unit/wirefram/grpwire.grp index 7cc2535..32ef92a 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 24869d3..64b3eb7 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 2d98c00..a64c26f 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -1,12 +1,5 @@ -# 7 January 2026 -## Year 4, month 1, patch 1 - -## Patch overview -**Happy new year!** This major update to Cosmonarchy allows the Askosi to be selected in singleplayer and multiplayer lobbies. Huge thanks to **Jesse** for the UI changes that made this possible! - -This patch also contains a bevy of balance adjustments ahead of our first tribunal stage, an assortment of new unit graphics, and a pair of exciting new Zerg units! - -Welcome to the future, where the 4th race is now available to all players. Keep watch for future updates that add more Askosi units and structures! +# 27 January 2026 +## Year 4, month 1, patch 2 ## Patch goals - Continue balancing for all races @@ -14,177 +7,138 @@ Welcome to the future, where the 4th race is now available to all players. Keep - Further improve audiovisuals - [Subscribe on ko-fi](https://ko-fi.com/pr0nogoandveeq7) to get a sneak peek of the incoming changes! -### *Notes in italics are from Pr0nogo* - # Core changes +## Random (c. Jesse) +- Now supports **Askosi**! +- Now displays the race assigned to players on map start +- It is now possible to select which races will be eligible for random selection via config! + ## User Interface (c. Jesse) -- You can now select **Askosi** in singleplayer maps and multiplayer lobbies! - - *Starcraft modding history is made.* - - Random doesn't support Askosi, **yet** - - AI support is not yet implemented - - Vespene and supply icons are incorrect -- **Singleplayer Menu:** - - Added tutorial buttons in main singleplayer screen -- **Multiplayer Menu:** - - Now auto-selects CrownLink, with the option to select other network providers - - Added better communication about CrownLink connection status -- **Ingame Options Menu:** - - Added additional latency compensation options to the latency menu (c. Jesse) - - *We will eventually retire DBC thanks to these new options!* +- Launch screen version string now displays build version +- CrownLink passwords are now shown in lobby, if applicable -## Desyncs -- Improved floating point determinism (c. Veeq7) -- Disabled celebrations (e.g. Christmas) from appearing in Ranked play, reducing desync count from mismatched active skins -- Enabled desync errors to be reported more than once per session (no longer have to restart client between desync errors) -- **ReplayKraken** now auto-uploads desync materials and indicates when a game has had a desync, improving our ability to track and triage desync issues - -## Triggers -- Added `set_nydus_link` for creating Nydus-style links between two units (b. 3crow) -- Added `buttonset` to `set_unit_stat` (b. 3crow) +## Game Modes +- **Faction Wars:** + - Now randomizes player faction after 1 minute, if not set ## Bugfixes -- **Stability** - - Protected against a rare crash related to issuing orders via minimap (r. Newt, c. DF) -- **Gameplay:** - - Prevented **Anodyne Annex** from applying to allied units (r. Moonpaw) +- **Desyncs:** + - Resolved desyncs related to construction and training speeds (c. Veeq7 & Jesse) +- **Stability:** + - Fixed common Solarion crash (r. MuskyHusky) + - Fixed Grandstand cargo crash (r. ConcealedOrganic) - **Audiovisual** - - Fixed missing construction SFX for **Ogun** - - Corrected **Olympian Titan's Fist** weapon range (r. GreenEggs'NSpam) - - Corrected **Herald** wireframe (r. TheBeaver99) - - Corrected tooltip for **Corpse Cocoon** (r. Concealed Organic) - - Lardfix: Terran vespene status icon had missing borders (c. Raenarill) + - Fixed vespene and supply icons for Askosi (c. Jesse) + - Fixed various text display issues related to unit training and cancel context ## Audiovisuals -- New advisor: **Bloodsummon** (b. Hamster) -- New sprites for: - - **Cleric** (c. DeltaCadmius & Solstice), incl. **Futurist Federation** variant - - **Simulacrum** (c. DeltaCadimus), incl. **Astral Omen** variant -- Modified sprites for: - - **Mason**, **Maverick**, **Harakan**, **Cyprian** (c. Solstice) -- New portrait for: - - **Simulacrum** (c. DeltaCadimus) +- New sprite for: + - **Zealot** (incl. Starbound variant; c. Solstice) + - **Rove** - New unit responses for: - - **Sevenstep** (c. The Shambler) - - **Sycophant** - - **Liiralisk** -- **Amaranth** banter can now only play if the Amaranth is above 80% life -- Added visuals for: - - **Adrenal Frenzy** -- Added weaponhit SFX for: - - **Blackguard** -- New icons for: (c. Raenarill) - - Weapons: Adherent, Cabalist, Golem, Vibrance, Cikralisk, Protathalor, Ghitorokor, Kagralisk, Evigrilisk, Okrimnilisk, Konvilisk, Akistrokor - - Passives: Dishonorable Discharge, Deathless Procession, Eternal Service, Lithe Organelle, Crushing Tide, Lashing Limbs, Endless Limbs, Miasma + - **Striga** (c. OunceOfMilia) # Balance changes ## Terran -- [Cyprian](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cyprian): - - Resource cost 50/50 » 75/50 - - *Acknowledgement of early-game power-to-cost ratio.* -- [Cleric](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cleric): - - **Nanorepair:** - - Each target can now only be healed by one Cleric - - Now increases target armor by 2, from 1 -- [Shaman](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/shaman): - - Resource costs 100/100 » 200/200 - - Build time 30 » 35 - - HP 140 » 160 - - **Nanite Field:** - - Heal amount 4 » 8 - - Can no longer heal a unit more frequently than once per second -- [Apostle](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/apostle): - - Armor 2 » 1 - - Death and revive animations vastly lengthened - - *Reducing stackability* -- [Autocrat](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/autocrat): - - Death and revive animations vastly lengthened - - *Reducing stackability* -- [Dilettante](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/dilettante): - - **NEW: Beginner's Luck** - - Dodges an attack every 2 seconds - - *Fun, AND thematic!* -- [Cyclops](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/cyclops): - - Build time 16 » 20 - - *Demand more Fulcrums (and thus more commitment) from Cyclops flood builds* -- [Triton](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/triton): - - Resource costs 150/150 » 150/100 - - **Lobotomy Warhead:** - - Stun timer 3 » 4 - - Slow timer 6 » 8 -- [Wraith](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/wraith): - - HP 100 » 110 -- [Magnetar](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/magnetar): - - **Yamato Cannon:** - - Weapon damage 250 » 75 - - Now applies **Apollyoid Adhesive** for 10 seconds -- [Stockade](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/stockade): - - Time cost 45 » 50 - - *Slight nudge-back to first-unit timings in bio openers.* -- [Tencendur](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/tencendur): - - HP 450 » 600 -- **NEW:** [Quadriga](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/quadriga): - - Factional **Valkyrie** replacement: reinforced gunboat for the **Golden Republic** -- **NEW:** [Serathiel](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/serathiel): - - Factional **Seraph** replacement: combat specialist for the **Hecaton Coalition** +- [Lodestone](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/lodestone): + - Sight range 10 » 12 +- [Atlas](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/atlas): + - Build time 75 » 60 +- [Daedala](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/daedala): + - Build time 120 » 100 ## Protoss -- [Dracadin](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/dracadin): - - HP 120 » 140 - - *Also applies to Order of the Sacred Saber variant* -- [Legionnaire](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/legionnaire): - - Shields 45 » 60 -- [Amaranth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/amaranth): - - Shields 60 » 80 -- [Mind Tyrant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/mind-tyrant): - - **Maledictus:** - - Malefactors can now only Tyrannize victims if the Tyrant has 10 energy, and each Tyrannized victim expends 10 energy. -- [Manifold](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/manifold): - - HP 70 » 80 - - Shields 30 » 50 -- [Rogue Gallery](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/rogue-gallery): - - Resource costs 150/100 » 150/75 -- [Manifold (Starbound)](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/manifold-starbound): - - HP 80 » 90 - - Shields 30 » 50 +- [Atreus](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/atreus): + - Resource costs 200/50 » 200/25 +- [Grand Library](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/grand-library): + - Resource costs 250/50 » 225/50 + - Build time 55 » 60 +- [Prostration Stage](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/prostration-stage): + - Resource costs 400/200 450/200 + - Build time 65 » 70 +- [Unitary Union](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/unitary-union): + - Resource costs 400/350 450/350 + - Build time 65 » 70 +- [Argosy](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/argosy): + - Build time 70 » 75 ## Zerg -- **Adrenal Frenzy:** - - Used by **Quazrokor** and **Nathrokor** - - No longer procs when attacking allies +- **Bone of Reflection:** + - *Used by Tethzorokor, Zarcavrokor** + - Armor penetration 3 » 0 - [Agrileth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/agrileth): - - Now has **Cagragenesis** -- [Zethrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/zethrokor): - - Collision size reduced by ~10% - - *Also applies to Sovrokor* -- [Quazilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/quazilisk): - - Now has **Adrenal Frenzy** -- [Bactalisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/bactalisk): - - **Corrosive Acid:** - - Attack cooldown 1.5 » 1.33 - - *Experimenting with Bactalisk cost-efficiency* + - Resource costs 150/100 » 150/50 + - Transport weight 8 » 6 - [Tethzorokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethzorokor): - HP 240 » 220 - - Resource costs 150/25 » 150/50 - - Build time 25 » 28 -- [Lakizilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/lakizilisk): - - HP 130 » 140 -- [Ultrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ultrokor): - - **Kaiser Blades:** - - Weapon cooldown 0.67 » 0.58 -- [Tethvith Swamp](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethvith-swamp): - - Resource costs 150/150 » 400/250 - - Build time 45 » 50 -- [Zozarc Gorge](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/zozarc-gorge): - - Resource costs 500/350 » 300/450 -- **NEW:** [Malkothrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/malkothrokor): - - Mobile hive organ; requires Othstol Oviform - - Concept by Pr0nogo; bountied by jakulangski! -- **NEW:** [Ogroszaleth](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/ogroszaleth): - - Area-denial strain; requires Rakzogth Roost - - Concept by Pr0nogo; bountied by SmrtyCakes! -- **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 +- [Irol Iris](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/irol-iris): + - Build time 60 » 20 +- [Othstol Oviform](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/othstol-oviform): + - Build time 120 » 40 + +## Askosi +- **New arrivals:** + - T1: Eyelet (from Proselyte) + - T2: Constituent (from Bounty) + - T2: Biotic (Aphorist, Thaumalogue, Avatar, Doronin), Conduit, Bestiary + - T2: Skybound (Akreno, Iconoclast, Crematorium), Astrolabe +- **Booming Blast:** + - Used by **Vicar** + - Now deals friendly splash +- **Rematerialize:** + - Used by **Vicar** and **Emissary** + - Ability range 5 » 6 +- [Dyad](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/dyad): + - Resource costs 50/50 » 50/25 +- [Mimic](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/mimic): + - Sight range 8 » 9 + - **Scrapworld: Vital Remains:** + - Now grants 1 non-stacking armor pen to allies for 4 seconds +- [Vicar](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/vicar): + - Resource costs 75/50 » 100/50 + - **Ospo Twinshard:** + - Weapon range 7 » 6 +- [Rove](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/rove): + - Armor 1 » 0 + - Collision size reduced by ~10% + - Acceleration adjusted +- [Scepter](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/scepter): + - **Principality Assembly:** + - While active, now grants 1 stacking armor pen to allies within 8 range +- [Intendent](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/intendent): + - Resource costs 150/50 » 125/50 + - HP 140 » 120 + - Armor 2 » 1 + - **Ersa Driver:** + - Armor penetration 3 » 0 + - Weapon range 6 » 5 +- [Helion](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/helion): + - Resource costs 100/50 » 100/25 + - Build time 18 » 15 + - HP 120 » 100 + - **Usko Scrapray:** + - Weapon cooldown 0.63 » 0.5 +- [Tirade](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/tirade): + - Armor 2 » 1 + - **Ikta Driver:** + - Weapon damage 10 » 7 +- [Grandstand](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/grandstand): + - No longer has **Booming Blast** + - Now has **Power Overload** +- [Chantry](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/chantry): + - Resource costs 100/50 » 75/50 + - HP 350 » 400 +- [Radix](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/radix): + - Build time 50 » 65 +- [Cipher](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/cipher): + - Build time 65 » 75 +- [Function](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/function): + - Build time 60 » 75 +- [Gauntlet](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/gauntlet): + - Resource costs 200/75 » 200/100 + - Build time 80 » 90 +- [Cosmoscope](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=askosi/cosmoscope): + - Resource costs 100/150 100/100 + - Now requires Radix OR Function, from Cipher OR Gauntlet \ No newline at end of file diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 64717cf..5ca74db 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ