diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 821e5848..50fbe2c2 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 b59fdbe3..09c34efb 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -625,8 +625,8 @@ Grandstand (Vision) Mimic Intendent Object -Extended Flingy #419 -Extended Flingy #420 +Abutment +Proscenium Extended Flingy #421 Extended Flingy #422 Extended Flingy #423 diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index 08f91d29..9476df3e 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 770f639a..bcee1f08 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 e74aa858..e9d708a0 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -2220,10 +2220,10 @@ Intendent Intendent Shadow Object Object Shadow -Extended Image #1220 -Extended Image #1221 -Extended Image #1222 -Extended Image #1223 +Abutment +Abutment Shadow +Proscenium +Proscenium Shadow Extended Image #1224 Extended Image #1225 Extended Image #1226 diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index f4d50fde..fe691ad1 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 228c48fb..7b761923 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -1076,8 +1076,8 @@ Grandstand (Vision) Mimic Intendent Object -Extended Sprite #562 -Extended Sprite #563 +Abutment +Proscenium Extended Sprite #564 Extended Sprite #565 Extended Sprite #566 diff --git a/mpq/arr/units.datex b/mpq/arr/units.datex index 87dea677..37938410 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 b413be6c..105a57b2 100644 --- a/mpq/arr/units.txt +++ b/mpq/arr/units.txt @@ -537,8 +537,8 @@ Zerg Cerebrate (The Fall) Zerg Overmind (With Shell, The Fall) Zerg Overmind (The Fall) Askosi Avatar -Extended Unit #312 -Extended Unit #313 +Askosi Abutment +Askosi Proscenium Extended Unit #314 Extended Unit #315 Extended Unit #316 diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index d18328be..cdb4cdd2 100644 Binary files a/mpq/arr/weapons.datex and b/mpq/arr/weapons.datex differ diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index 97b4d02d..9ab7f6d6 100644 Binary files a/mpq/datreq/Buttons.graft and b/mpq/datreq/Buttons.graft differ diff --git a/mpq/datreq/Units.graft b/mpq/datreq/Units.graft index ebf2f3ca..86ab2c5d 100644 Binary files a/mpq/datreq/Units.graft and b/mpq/datreq/Units.graft differ diff --git a/mpq/game/icons.grp b/mpq/game/icons.grp index d95585a3..a7fe2569 100644 Binary files a/mpq/game/icons.grp and b/mpq/game/icons.grp differ diff --git a/mpq/rez/help.bin b/mpq/rez/help.bin index 3af61352..79ae80a1 100644 Binary files a/mpq/rez/help.bin and b/mpq/rez/help.bin differ diff --git a/mpq/rez/helpmenu.bin b/mpq/rez/helpmenu.bin index 602cb9c6..a8a09541 100644 Binary files a/mpq/rez/helpmenu.bin and b/mpq/rez/helpmenu.bin differ diff --git a/mpq/rez/netdlg.bin b/mpq/rez/netdlg.bin new file mode 100644 index 00000000..2619e62d Binary files /dev/null and b/mpq/rez/netdlg.bin differ diff --git a/mpq/rez/stat.txt b/mpq/rez/stat.txt index 5417a99c..a873b521 100644 --- a/mpq/rez/stat.txt +++ b/mpq/rez/stat.txt @@ -456,18 +456,18 @@ e<1><4>Profanate Empress <1>(<3>E<1>)<10>Reinforcing destroyer.<0> <0> Iron Foundry requires:<10> Daedala<0> f<1><4>Build Iron Foundry <1>(<3>F<1>)<10>Advanced vehicle production.<0> -<0> +Proscenium requires:<10> Cipher AND Gauntlet<0> z<1><4>Mutate into Kazitrith Cesiant <1>(<3>Z<1>)<10>Support cell.<0> ¤<3><4>Plethoral Gestation <2>(passive)<10>This strain is not consumed by tissue construction, and emerges when its work is complete.<0> ¤<3><4>Aberrant Gestation <2>(passive)<10>This strain mutates directly into advanced tissues.<0> ¤<3><4>Radiant Rifts <2>(passive)<10>Upon completing a harvest, Artisans channel for 2 seconds, returning their cargo at the end of the channel.<0> -<0> +r<1><4>Install Proscenium <1>(<3>R<1>)<10>Advanced biotic production.<0> ¤<3><4>Wear and Tear <2>(passive)<10>When under half health, Blackjacks lose 33% movement and attack speeds.<0> t<1><4>Morph into Gosvileth <1>(<3>T<1>)<10>Advanced worker strain.<0> ¤<3><4>Criticality <2>(passive)<10>Victims of the Aspirant are debuffed for 2 seconds. If killed during this time, they create a 2-range energy field that lasts 5 seconds and restores 4 shields or HP per second for all allied ground combatants.<0> -<0> +Abutment requires:<10> Cipher AND Gauntlet<0> Gosvil Aspect requires:<10> Irol Iris<0> -<0> +r<1><4>Install Abutment <1>(<3>R<1>)<10>Vespene processor.<0> a<1><4>Assemble Artisan <1>(<3>A<1>)<10>Advanced harvester.<0> ¤<3><4>Caustic Discharge <2>(passive)<10>Keskathalor attacks create a pool of acid that deals 30 impact damage over 5 seconds to all ground targets. Targets that move through the acid gain 150% movement speed for 3 seconds.<0> ¤<3><4>Ion Field <2>(passive)<10>Diadem attacks leave behind a field that deals 100 damage over 10 seconds to all ground targets. Units that move through the field gain 150% attack speed for 2 seconds.<0> @@ -1244,7 +1244,7 @@ Talos requires:<10> Quarry<0> t<1><4>Build Talos <1>(<3>T<1>)<10>Airborne worker.<0> <0> ¤<3><4>Deathless Procession <2>(passive)<10>This combatant gains 25% movement speed while its shields hold.<0> -a<3><4>Nanorepair <1>(<3>A<1>)<10>Heals a target ground ally for 9 HP per second. While being healed by at least one Cleric, the ally gains +1 armor.<0> +a<3><4>Nanorepair <1>(<3>A<1>)<10>Heals a target ground ally for 9 HP per second. While being healed by a Cleric, the ally gains +2 armor.<0> x<1><4>Warp in Engram <1>(<3>X<1>)<10>Heavy tower.<0> a<3><4>Heal <1>(<3>A<1>)<10>Heals a target ground ally for 9 HP per second.<0> <27><0><4>Rescind Control <1>(<3>ESC<1>)<0> diff --git a/mpq/rez/tips_dlg.bin b/mpq/rez/tips_dlg.bin index c58e36ad..980755d5 100644 Binary files a/mpq/rez/tips_dlg.bin and b/mpq/rez/tips_dlg.bin differ diff --git a/mpq/rez/titledlg.bin b/mpq/rez/titledlg.bin index 7d416d1c..0ca09784 100644 Binary files a/mpq/rez/titledlg.bin and b/mpq/rez/titledlg.bin differ diff --git a/mpq/scripts/iscript_askosi.bin b/mpq/scripts/iscript_askosi.bin index 4c7dc1e4..c2cf745c 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 fa07ced9..f1cd3969 100644 --- a/mpq/scripts/iscript_askosi.txt +++ b/mpq/scripts/iscript_askosi.txt @@ -2290,4 +2290,145 @@ ObjectWalkingToIdle: ObjectSpecialState1: playfram 0x00 wait 12 - goto SkryrokorLocal00 \ No newline at end of file + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2222 Abutment (cm\askosi\abutment.grp) +.headerstart +IsId 26 +Type 24 +Init AbutmentInit +Death AbutmentDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 AbutmentSpecialState1 +SpecialState2 AbutmentSpecialState2 +AlmostBuilt AbutmentAlmostBuilt +Built AbutmentBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle AbutmentBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AbutmentInit: + imgulnextid 0 0 # Abutment Shadow (cm\askosi\abutment-shadow.grp) + playfram 1 +AbutmentLocal00: + wait 5 + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + creategasoverlays 1 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 1 + waitrand 5 50 + creategasoverlays 2 + goto AbutmentLocal00 + +AbutmentDeath: + playsnd 7 # Misc\ExploLrg.wav + sprol 272 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +AbutmentSpecialState1: + playfram 11 + goto AbutmentLocal00 + +AbutmentSpecialState2: + playfram 11 + goto AbutmentLocal00 + +AbutmentAlmostBuilt: + playfram 11 + goto AbutmentLocal00 + +AbutmentBuilt: + playfram 0x00 + wait 5 +AbutmentLocal01: + creategasoverlays 0 + wait 20 + waitrand 5 100 + goto AbutmentLocal01 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2224 Proscenium (cm\askosi\proscenium.grp) +.headerstart +IsId 27 +Type 24 +Init ProsceniumInit +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 ProsceniumSpecialState1 +SpecialState2 SkryrokorLocal00 +AlmostBuilt ProsceniumAlmostBuilt +Built ProsceniumBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ProsceniumIsWorking +WorkingToIdle ProsceniumBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ProsceniumDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ProsceniumInit: + playfram 0x00 + imgulnextid 0 0 # Proscenium Shadow (cm\askosi\proscenium-shadow.grp) + goto SkryrokorLocal00 + +ProsceniumSpecialState1: + playfram 0 + goto SkryrokorLocal00 + +ProsceniumAlmostBuilt: + playfram 0 + goto SkryrokorLocal00 + +ProsceniumBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +ProsceniumIsWorking: + playfram 1 + wait 2 + playfram 0 + waitrand 1 2 + goto ProsceniumIsWorking + +ProsceniumDisable: + goto SkryrokorLocal00 \ No newline at end of file diff --git a/mpq/scripts/iscript_terran.bin b/mpq/scripts/iscript_terran.bin index 068352f8..1ff9304c 100644 Binary files a/mpq/scripts/iscript_terran.bin and b/mpq/scripts/iscript_terran.bin differ diff --git a/mpq/scripts/iscript_terran.txt b/mpq/scripts/iscript_terran.txt index 0ccb0f63..8270d0ee 100644 --- a/mpq/scripts/iscript_terran.txt +++ b/mpq/scripts/iscript_terran.txt @@ -8727,13 +8727,15 @@ ApostleDeath: playfram 0x00 imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) wait 2 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 lowsprul 565 0 0 # Apostle Remnants (cm\terran\apostle-death.grp) - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 5 - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 5 - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 9 end ApostleUnused1: @@ -13142,13 +13144,15 @@ AutocratDeath: playfram 0x00 imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 5 - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 5 - imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) - wait 9 end AutocratUnused1: diff --git a/mpq/unit/cm/askosi/abutment-damage.lof b/mpq/unit/cm/askosi/abutment-damage.lof new file mode 100644 index 00000000..89cd1b4f Binary files /dev/null and b/mpq/unit/cm/askosi/abutment-damage.lof differ diff --git a/mpq/unit/cm/askosi/abutment-gas.los b/mpq/unit/cm/askosi/abutment-gas.los new file mode 100644 index 00000000..991d81c8 Binary files /dev/null and b/mpq/unit/cm/askosi/abutment-gas.los differ diff --git a/mpq/unit/cm/askosi/abutment-shadow.grp b/mpq/unit/cm/askosi/abutment-shadow.grp new file mode 100644 index 00000000..94474967 Binary files /dev/null and b/mpq/unit/cm/askosi/abutment-shadow.grp differ diff --git a/mpq/unit/cm/askosi/abutment.grp b/mpq/unit/cm/askosi/abutment.grp new file mode 100644 index 00000000..df11f769 Binary files /dev/null and b/mpq/unit/cm/askosi/abutment.grp differ diff --git a/mpq/unit/cm/askosi/proscenium-damage.lof b/mpq/unit/cm/askosi/proscenium-damage.lof new file mode 100644 index 00000000..928de80a Binary files /dev/null and b/mpq/unit/cm/askosi/proscenium-damage.lof differ diff --git a/mpq/unit/cm/askosi/proscenium-shadow.grp b/mpq/unit/cm/askosi/proscenium-shadow.grp new file mode 100644 index 00000000..df88e7e0 Binary files /dev/null and b/mpq/unit/cm/askosi/proscenium-shadow.grp differ diff --git a/mpq/unit/cm/askosi/proscenium.grp b/mpq/unit/cm/askosi/proscenium.grp new file mode 100644 index 00000000..c424679a Binary files /dev/null and b/mpq/unit/cm/askosi/proscenium.grp differ diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index 6002d5c3..85fb83d6 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 06cc4892..4f52c862 100644 Binary files a/mpq/unit/cmdbtns/uniticons.grp and b/mpq/unit/cmdbtns/uniticons.grp differ diff --git a/mpq/unit/terran/mason-engine.grp b/mpq/unit/terran/mason-engine.grp index ae69d046..1fb9bfeb 100644 Binary files a/mpq/unit/terran/mason-engine.grp and b/mpq/unit/terran/mason-engine.grp differ diff --git a/mpq/unit/terran/mason.grp b/mpq/unit/terran/mason.grp index 67e07643..f79d64aa 100644 Binary files a/mpq/unit/terran/mason.grp and b/mpq/unit/terran/mason.grp differ diff --git a/mpq/unit/terran/mason.loo b/mpq/unit/terran/mason.loo index f59850d6..d6e71d43 100644 Binary files a/mpq/unit/terran/mason.loo and b/mpq/unit/terran/mason.loo differ diff --git a/patchnotes.md b/patchnotes.md index e08a009c..8750e4d1 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -9,6 +9,10 @@ # Core changes +## Options menu +- Added additional latency options to the latency menu (c. Jesse) + - *We will eventually retire DBC thanks to these new options!* + ## Desyncs - 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) @@ -21,6 +25,8 @@ ## 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 Herald wireframe (r. TheBeaver99) @@ -32,7 +38,7 @@ - **Cleric** (c. DeltaCadmius & Solstice), incl. **Futurist Federation** variant - **Simulacrum** (c. DeltaCadimus). incl. **Astral Omen** variant - Modified sprites for: - - **Maverick**, **Harakan**, **Cyprian** (c. Solstice) + - **Mason**, **Maverick**, **Harakan**, **Cyprian** (c. Solstice) - New portrait for: - **Simulacrum** (c. DeltaCadimus) - New unit responses for: diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 497186bb..7cb7cca1 100644 Binary files a/plugins/gptp.qdp and b/plugins/gptp.qdp differ