From 86cc29c7af9586bd8ce4c4fe2f92b6b84ff7a7de Mon Sep 17 00:00:00 2001 From: Pr0nogo Date: Sat, 3 May 2025 07:54:07 -0400 Subject: [PATCH] 3 May 2025 -- Acropolis #3 opening stages --- master changelog.md | 9 +- mpq/arr/flingy.datex | Bin 15000 -> 15000 bytes mpq/arr/flingy.txt | 2 +- mpq/arr/images.datex | Bin 114000 -> 114000 bytes mpq/arr/images.tbl | Bin 58099 -> 58170 bytes mpq/arr/images.txt | 6 +- mpq/arr/sfxdata.dat | Bin 180000 -> 180000 bytes mpq/arr/sfxdata.txt | 2 +- mpq/arr/sounds.txt | 3 +- mpq/arr/sprites.datex | Bin 7210 -> 7210 bytes mpq/arr/sprites.txt | 4 +- mpq/arr/techdata.datex | Bin 1900 -> 1900 bytes mpq/arr/units.datex | Bin 291000 -> 291000 bytes mpq/arr/upgrades.datex | Bin 1281 -> 1281 bytes mpq/arr/upgrades.txt | 8 +- mpq/arr/weapons.datex | Bin 10752 -> 10752 bytes mpq/arr/weapons.txt | 2 +- mpq/datreq/Buttons.graft | Bin 67772 -> 67832 bytes mpq/datreq/Orders.graft | Bin 1528 -> 1534 bytes mpq/rez/stat_txt.tbl | Bin 65556 -> 65454 bytes mpq/scripts/iscript.txt | 52609 ---------------- mpq/scripts/iscript_askosi.bin | Bin 0 -> 1537 bytes mpq/scripts/iscript_askosi.txt | 102 + mpq/scripts/iscript_general.bin | Bin 0 -> 8894 bytes mpq/scripts/iscript_general.txt | 4293 ++ mpq/scripts/iscript_protoss.bin | Bin 0 -> 31389 bytes mpq/scripts/iscript_protoss.txt | 14862 +++++ mpq/scripts/iscript_terran.bin | Bin 0 -> 37859 bytes mpq/scripts/iscript_terran.txt | 18778 ++++++ mpq/scripts/iscript_zerg.bin | Bin 0 -> 34683 bytes mpq/scripts/iscript_zerg.txt | 16253 +++++ mpq/sound/cm/t/apostle/revive-01.wav | Bin 0 -> 65196 bytes mpq/tileset/badlands.cv5 | Bin 196196 -> 196300 bytes .../protoss/p-laser-large.grp} | Bin .../cm/zerg/corrosive-touch-explosion.grp | Bin 0 -> 38349 bytes mpq/unit/cmdbtns/cmdicons.grp | Bin 410279 -> 437417 bytes patchnotes.md | 151 +- plugins/aice.qdp | Bin 480768 -> 0 bytes plugins/gptp.qdp | Bin 1899520 -> 1914880 bytes 39 files changed, 54433 insertions(+), 52651 deletions(-) delete mode 100644 mpq/scripts/iscript.txt create mode 100644 mpq/scripts/iscript_askosi.bin create mode 100644 mpq/scripts/iscript_askosi.txt create mode 100644 mpq/scripts/iscript_general.bin create mode 100644 mpq/scripts/iscript_general.txt create mode 100644 mpq/scripts/iscript_protoss.bin create mode 100644 mpq/scripts/iscript_protoss.txt create mode 100644 mpq/scripts/iscript_terran.bin create mode 100644 mpq/scripts/iscript_terran.txt create mode 100644 mpq/scripts/iscript_zerg.bin create mode 100644 mpq/scripts/iscript_zerg.txt create mode 100644 mpq/sound/cm/t/apostle/revive-01.wav rename mpq/unit/{neutral/datadisk.grp => cm/protoss/p-laser-large.grp} (100%) create mode 100644 mpq/unit/cm/zerg/corrosive-touch-explosion.grp delete mode 100644 plugins/aice.qdp diff --git a/master changelog.md b/master changelog.md index b8f3c44..c6b438d 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 +- [19 April 2025](#19-april-2025) - [5 April 2025](#5-april-2025) - [22 March 2025](#22-march-2025) - [8 March 2025](#8-march-2025) @@ -20,11 +21,11 @@ See patchnotes.md for info on the most recent patch! - [25 May 2024](#25-may-2024) - [16 April 2024](#16-april-2024) - [13 April 2024](#13-april-2024) -- [6 April 2024](#6-april-2024] +- [6 April 2024](#6-april-2024) - [23 March 2024](#23-march-2024) -- [16 March 2024](#16-march-2024] -- [2 March 2024][#2-march-2024] -- [30 December 2023][#30-december-2023] +- [16 March 2024](#16-march-2024) +- [2 March 2024](#2-march-2024) +- [30 December 2023](#30-december-2023) - [3 December 2023](#3-december-2023) - [25 November 2023](#25-november-2023) - [4 November 2023](#4-november-2023) diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 6896a4192a05a489099b770d28c28b1da4471276..700ee64bbc60e9399da53c4fd801a89c433b5c25 100644 GIT binary patch delta 99 zcmV-p0G$7rb(nRqW&{H01Czi6NVBj6v;zVv1hZxcrUL?%1hWnd;sOBxv+)kA0Rpfc zvz`z*3jy4-;TvBAlkgh~vp^rr2m!5=kq#5HASm+)0U?tSF(tD(F{%fX!8R1KIhX;G FISJeHB0K;9 delta 100 zcmV-q0Gt1qb(nRqW(1SK1WL281hfMJRRgnT2&Mx9cm=Z#4B`R-)wA&qs{ym55X=UX zPz?yPa2I9-v*a6G1C#I@4zoZX%m|ZACJ2*oAPlo0DDw!DLop_^IWejSljJrMvN@Om Gk~s@lgd{ou diff --git a/mpq/arr/flingy.txt b/mpq/arr/flingy.txt index 64a345d..068e169 100644 --- a/mpq/arr/flingy.txt +++ b/mpq/arr/flingy.txt @@ -561,7 +561,7 @@ Tencendur Inzorthrokor Manifold (Starbound) Yblyleth -Extended Flingy #355 +Terran Heavy Missile Aion Extended Flingy #356 Extended Flingy #357 Extended Flingy #358 diff --git a/mpq/arr/images.datex b/mpq/arr/images.datex index b48d17fa1ff0f1a0602841f85c604ea25e962e35..e2357c7dce2d31bc457b1e67a4913d664a7cabc6 100644 GIT binary patch delta 6570 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 delta 6444 zcmai&3z&{&9>%|KW{er;z>F~lnTZ?+jbn&Vn@UKBD>|ZsqHR%0F$|rf5^s`@TS=$w zps!NtFm30gbli^C?p7)kilWs1?$75v z<=NX3i9~HOwYEH?Fxp(6ms;0#d;KW$$QM(ad+*9fE$KHmnVCo?qp>}kM&C@%iAGkH zMeDlF!DmO)4{nK{7FG1GpPDrwzuv+lUrG0hmh>w~jTus%jJ6+C8s!bnN$otSLsm3# zP{XLpuvW=rYS^$H$>@<$MX9kPl3CH_-nr51qw}MRqw~=0)a)ZxZ6*5b>eaKRsXi+3!u>LjnKwWCQj@_rxJWq zD0NOn&7dq6H^;Yd+!9sI9*)DJ%Im~?5{uT*&TZ|{4$PlkZAT|NSu3rbtzE2Lt$SOm ztlg~Ltv#$gt-aBG?E6^zN^3akeopLb?T-$Efv_J80Bz}DG_U|K7Q3xA?X~zD9N%PZ zXf5zVti*L7Iiq^t1s}APQ z-M%J$WOv0H?uq$(@qdZM_r?7E_79*M@IiFBa}PO}veu#xgH*MT{OURXkNz4Y5-aeJ z#p1{DPsHMt_$OoWQ~0MHKZ`yCn&2vQK3omqRPFCJ?eGEie_;M}2PF@*A7VWWJs1vw zp>QY+15Gg8I>M^jk#K}#ou0$-M>*E`$KsE3d^~yrq<{ZMJ2}ca8a>ATM0AY(SnD|S zB>R)mQ{Ys`b|?lt5G114^M8)$3h4}!r^PyY>$ zw#+y7$py=@I z;`AL>Exj^#S1fnsL)Mg4OM2K|^^e-Gus(){z4~9OzAN2l?@Zre@9}YInftI1O%|Ux z`1_~}UN!N4@%(e1;Cb`~`+GgdOT>YflhKRWMbWzKob*1dcIoTZH>_*WH|^iHYWjEV z-?hFMYb&|G@g8^&{)Ydec;gPhhQ++KXB`uXFql>p!jkLO+Gi;B)7+DD_(p zOX>S1s#s%x1sh-sY=p4DO=-_B>FZchokG0T`ERY?S+`j=>2~|?tv{eU-~kq)v2+6n zIw|Ir7d!P!(u!6wnDi&u1wVu0U#$8PP@J@?b2e8@CaPbBc+hRCKm&z%4b&Jdl7}YFN%w>jSO`O)DYT=$6m14&&=)jD z^9;^E|NVyLE|`k8f^w*UwxEs=SzB9E);8AmRvlEkm{+_B#)Ecnd7@h)QAyARI)h%! zZiI&LFa;gmxs$arBN45XQeFWd%@c`?7*171w z7=xT2Y|YneozCR`Bo1&=gX*jv=vX)XgX|AR!z+pOG2%nqHq?5kRS)I!sNvi6p4{d& zdS)wi1kKvMqg*W=_&Dnc)=}2c)?-lhKNdaFxiQwURxSS|`*FKr^T-DD^9t+hh`)li z5MPPcS`=Ru^NQya$GMC6YEat(R4g>tpc-e9ezG#xl348Ib*MUNQwm7fWiQ{eZuet9k>uMBQBwlyo4eJ{8&9sk3 z%x@Zvou5^Q0?wIkt?#(Qd)9DheF`lX5=99J`jSWp)Y z9+I0~90u3GVl9+Vr=OD^pZX&Cd(=3uc(|tejEwYiRF~3v$J(eb;7j-l^69k!-3XiD z8&E%8Vzsnwi4M;zt!YiP-7P1RJq5zIdPnEKx9&i9g5E8DL<1UCYvnB|oWB`NOGlQQ@MJnhfVFsi}_-ZW)@8OB{)~$uM za@?PR^ml;+eE`+O;Xt%2Gl?}}h3m^v&9P_rWU3%Ye+bd;^i^Ju z0cnx7%I)F)CDp<8Am7t%b31wRga@ztq}Adya0!3IC|r~*j4Br8UD#;pibhM5gUbF5 Dg-Obo diff --git a/mpq/arr/images.tbl b/mpq/arr/images.tbl index a6f3963da67ff43d16edbcf43874452f8f9e457c..4bd0d934ad5863cb5a939d875ad833cb8ab2e7a5 100644 GIT binary patch delta 4022 zcmV;n4@vOz#RIy=1AnOpR1akjc@K*Zoe!@M!4J?6;Sc%`3J@C*FAzTvRuE?pc@T>b zoDi)Lz7Wt5=MeM|2oV|)ED=EwT@h~)f)SAsq7k$a%@N%Z?hybI4-z2~GZIV^UJ`H; zffADvr4qCf#uC^P>JkGJ6%!{DIulD1T@!B;h!dO>uoJ`+)PED?6ZI1a6dM#S6hRbM z6m%4k6s#1^6z~)Y6)6=-6gL77`zzR815Jg87LV+8DSZ6 z8H5>>8KfDu8Gpzb+8OQ{0vZ+?DH=W+QW|C&c^Zxysv5-_*&6K{0vi?^DH}W+P#a_$ zc^ixyo*S_n#2eTf>l^{2UM+Bpo&#NF7@p zZykdjmmRAeza7&Z=pFnW5FR5QH6BSGTOMy7gC3S1sec~59?u@(9`zmv9~mDlA3+~g zA88+bADADsAI~4;ANd~*AR!<$AV(luAZ{RkAdn!WAh;mRAl@MGAOay4Au1t0AyOe` zA$cK=A)+C+A<7}%A@LyuA{QbkB0C~aB4Z+VB8noNBC#UGBGw}5BKsl^BO)U-BS#}z zBWWXeBY%q{n1O(b9>awLQ#mL#YoyClve;Ux4V2qhaO zFC{}IS0!sDekGA5q$Ri|%O%|?HswTcB(kA96`6dh} zA15*=MJHJ&Y$tywk|(Aox+l#i-6!!U1t=LPEPp6JC{ie9D0wK2D4-~`D90$J}y!&W-fXzjxM4uwl2yp-Y)Vk z1}_;eEH6JVQZHpMcrS}Do-eX5#V^<|>o5H;4lp7xHZV&tUodnqhcKEjt}wzd)-dWY z{xA|TCNVlOPBCIJb}@=Eo-wj9#xdA2?0+%-F%L2zGBYwoGFUQfGJP_UGNm%PGR-pK zGW9YEGaEB6GeR>~GiWnH4HW$HZe9pHdHofHhMOWHh-cv zv^K^z**5Do{x%XfB{w-YO*ddSbT^1MoHwsG!#CA8=r{W}4LBe;GdM>$S~zJqc{qzW zn>edDyEw}@+c@hu`#1|Z8#yaEJULA{UO8_$fH{#lqB*lU#5vVD=sEj24mu(_MLKFa zjXJVA)jIk*9XmohWjl&HuRGK``F}eeJVQKaJdHfEJl8z@JRv^J@Y*l zJ~=*IK7T%ALGwWqLNh{BLUTfsLbF2CLi0isLo-8DLvuruL$gEEL-RuuL^DKFM1OWfn?$}u z<3t8UD@9I4b48X#yG7nb14brBNk(i&k4Cgc*+%|GBS%O_ZAX$vw@2JZ0Z1lDOGt1? zl}Nfs-$(>WDM?OAb4i#r4<$HBDMge}7G+P03B}O%qNyPF+rcPNh!CPU}t$PcKhWPjpY0Pr6Ut zPXJIOP)1N`P>fKoP}5NNP#aM{QDaeuQL9nVQS?z5Qan;%QiM{dQpZx~QU+5dQ$La5?V4^Qd)9akXo=>&|2_X5L+-?P+M?YkXx}^)LZvk7+gABTU>oypIpLRVfbMiVm@MFVuWI+V#Z?VV)1O?A5oaZ5IcH60VP|z` ziD#W>v1i3+*=Ou$|7Q|tC1^TmQD|jof@qj%v}n+1=x7CL8fi0WNNHqgfN7R#uxZh0 z=V=6L9BMmiSAS}3YJzH-YOrd?YUFAGYanYpYgub{YnN-bYs+irYxHXkY%Od_Y;0_d zY_Dv@Y~gJ7Y!GcRZBlJ%ZH8^CZO(1vZ2@i`ZZ>XUZg*~#ZnJL0ZrpD4ZWC`cZ&Pn_ zZ;)@RZ^v)qZvt>5a6@okaC>l-aJF#SaP@E!aV~LBaesGlpK-x)*m3@G9C9*pRdR1~ zkaDqd&T{5*3v(lLLUUnrcXO0;vvbRH>T?NnA#_W0YIKTpsdUS9=5zpcA$2}=RdsE3 zjCG=QzjfPn`gIw0Hg-~Wb#{w(sCLD6;&ujiDtAA3TX%PNk9V$j&3E8;_;(t3F?dOM zUwCwQkbiioc*=O+c>Z`3c`A8Gd0u&Yd6;>#dDMCGc@BCldQ*CNdW(9WdcS(sdiZ)B zdqI0?dxd+bd&_(2dkK6Wd^dbne06+@e58E2eARsId<=aueOP^NeT#jceY}0yefE74 zelLDJep!BaewTi=e%XHZehhype@B01e}#Xge}BV&*?;qY6o55=Qh;iJiGZSj!hqg@ z`+yjMG=WQjVu6H#p@GGLr&ui}#Buj8=?@jJ1sCj1rAQjaZFzjgXD6jn9qd zjRcMvjy#TFj)RV$j=7H7j`5BRk1mf$kAG>8iI1U=z>m$3+K=at^p6aXE09f)aFCLa zsgS>r+>rQ?6p=TPPLXVpgOQ(+xslqD`;i`!LXugMb&`{kvXan}?ve(RC6hUmRFiF! zjgzyJ(v#|w2$VIHVU&WDqLjpx>68nVCzU>xT$OQ^iIu69zm?UM@|6#kE0#x=UVoN+ zmXnsTmdTdrmi?9)mot}7mu8oQm!y}ym(`c_ml2pXm{OQ_n3|ZrnBJHLnJk$|nQNJj znXZ}Dnf#d>nn9XpnuVI9n!}pfn(~?vn=qSGn{k_(o5P#noBW#^oHm?WoPnICoXni~ zoF$!6ooJngotvGvoz$K0oe!Qso_}ecgPxt9!Jg)x3ZFHfVV{hjr=P>0-kLjLr{t#&s5q!%sF0|>sO+d3sW_=usduTCsky1xsqU!@ zswk>Gs#B_Ps)nkgs=%t%s`9E9t2(Ptt8S}{tF5citLCc$tRAd8tXQmUtb(kWtg@`k ztnI7=tst#9tyisgt(dL2t$)$2@vRZAH?B~waITTAs;#hW^B(FTLR9Pp3F0)j#akG`PxwF@^^|KSSF|<##akP}Qv$WB)?z9WFEwxCsYJatiwV}1Wwb`}s zwGOr{wnesOwtTjlwz0O)w(+(Jw;{Jcw{5qZx5&5lwvexx{SK2y2iTLy79UQyC%CxyJWkEyQ;g*yX(6Nye7Oq zyj;9^yqCPSyw<$-ynh(IIlWlDcD<9mslCU&-M#v~7rr#UP`+!vh`yx0zrNSL{JtB% zIKNcCalekgs=va&;lBgGAiz1mS-^Y1k-)FO&A{cr1i>-EUBP<6m%+5b-N6LHGQvv2 zX~KxYp~At!+rs?99m6`qP{U@!gu|u7#>3vj{=*l{%8tsj%GSyQ%PPxH%XZ6{ z%fZX)%LvRT%zs17V9b2XnasG%*v$9L7tJ`$TFraSoz1_^@68|1PtJPIrOwdK^UfB} zLC!J)C|=r)kW1|)q~Zb z)xOo))$`R5)-BdZ)@s(1*0t8&*7nvG*D=>p*K*gH*RQ*g)7~*n8NU*tgi# z*!tKX*+AK7*@W4r*~QuE*$>(@+DO`C+J4%W+N|2i+UD8-+ZEd}+fCbM+ko4l+s51A z+X37m+VW1>z#& zLgHfLeBzzryyDs7_u?JndS!BFTw!))Zf9k3F0)+^meZ4M(FhM?Z*p>Pb7^*EEp%^n cV`!6+#2ONCEo@E@yIZ0DC)H`2YX_ delta 3979 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 diff --git a/mpq/arr/images.txt b/mpq/arr/images.txt index e33b30e..5085cf5 100644 --- a/mpq/arr/images.txt +++ b/mpq/arr/images.txt @@ -2035,9 +2035,9 @@ Yblyleth Birth Yblyleth Mutate Large Protoss Laser Healing Pulse Underlay -Extended Image #1035 -Extended Image #1036 -Extended Image #1037 +Terran Heavy Missile Aion +Corrosive Touch Explosion +Skryrokor Death Reversed Extended Image #1038 Extended Image #1039 Extended Image #1040 diff --git a/mpq/arr/sfxdata.dat b/mpq/arr/sfxdata.dat index 88672b1d526e8a700042dfcf10b0065e98f6c07a..55e3f07f7f7380f2dd7e342d92b8c27aade393d4 100644 GIT binary patch delta 31 ncmZ4Rk88m{u7)j)=5Etp+cBDN4{&4L#MrLj!MI$(gQ*+<)A9>+ delta 31 ncmZ4Rk88m{u7)j)=5Ev9*fE-I4{&4L%-F8r!MI$(gQ*+<)Bp>0 diff --git a/mpq/arr/sfxdata.txt b/mpq/arr/sfxdata.txt index 4fb9212..152a9f8 100644 --- a/mpq/arr/sfxdata.txt +++ b/mpq/arr/sfxdata.txt @@ -3509,7 +3509,7 @@ Cikralisk Under Attack 04 Cikralisk Death 01 Cikralisk Death 02 Cikralisk Death 03 -Extended Sound #1 +Apostle Revive 01 Extended Sound #1 Extended Sound #1 Extended Sound #1 diff --git a/mpq/arr/sounds.txt b/mpq/arr/sounds.txt index e9b0f89..d66d514 100644 --- a/mpq/arr/sounds.txt +++ b/mpq/arr/sounds.txt @@ -3508,4 +3508,5 @@ cm\z\cikralisk\hlp-03.wav cm\z\cikralisk\hlp-04.wav cm\z\cikralisk\dth-01.wav cm\z\cikralisk\dth-02.wav -cm\z\cikralisk\dth-02.wav \ No newline at end of file +cm\z\cikralisk\dth-02.wav +cm\t\apostle\revive-01.wav \ No newline at end of file diff --git a/mpq/arr/sprites.datex b/mpq/arr/sprites.datex index 88f4c38fb5ae602aa27b0ccd4322b977b99d516c..b8d469270c8b4f7b35e20b41d9550b504d75ed3b 100644 GIT binary patch delta 90 zcmZ2wvC3kD3lr04_RVfg9jwgX*uQSR$gae~#K5rmD>n l2});z=*YXJ%kvnk*i9UK4v delta 90 zcmZ2wvC3kD3lmc}<7PLe4p!#p%sHDcvMaGL2@7xj%FV(uc_xqJWC4NGlmGK51L-6v joe82h8wf3A1Pg57QQRyi@|K;Mjhkt*po}Cl8ygz{QCJ(! diff --git a/mpq/arr/sprites.txt b/mpq/arr/sprites.txt index ae1e0e5..d5c4c16 100644 --- a/mpq/arr/sprites.txt +++ b/mpq/arr/sprites.txt @@ -997,8 +997,8 @@ Inzorthrokor Inzorthrokor Remains Manifold (Starbound) Yblyleth -Extended Sprite #1 -Extended Sprite #1 +Corrosive Touch Explosion +Terran Heavy Missile Aion Extended Sprite #1 Francisco Goska Stroluum diff --git a/mpq/arr/techdata.datex b/mpq/arr/techdata.datex index 78cc5e844e8c86d58e12412797da5d1bbeaca439..43cc9aa4ca25aadcca9e6fec47f9f45b6752cbe7 100644 GIT binary patch delta 14 VcmaFE_l9pn3lrms&8LD4$((ka-XV265_&K9IlN};!&inp?+|#0oqPONs@aMxT5w@F0A7 zY;%HoSo&=qdUOvfTo!CzLRJ3Q+}&7JzOq6rUgTaJnoN-gV&S&B#=paMvBU}7%WjE3 zAuX@V{FE%nMwzWxIy}Bt|5a5}56M@)`BLU+>`9&K{u{S~r4<;Ip$jobNl^QF1# z>BE|TvSW~|PVT-Gl>PPZ|4{Mg_ugTmdbT$TRH|?G7XtjTzlLEO0J}7f)}eZ*1`1HD zG5uRe`@^rF+1n#LeGD;AB1}INk|Lr-D@~Sy2sVghY8ge7%5xAyrjX|ddd+d3U8tBx zE}LaQOoz+v2W4bpGUIYC)^A)suPv%Wm5H@6XZ{8p6-V2iHGX;vnv-+B0Ij~@x7j;V Cvv_|1 diff --git a/mpq/arr/upgrades.datex b/mpq/arr/upgrades.datex index 255184df50165ee692f4b93f7ede425a512c9023..f9872aff354145fc6d4a94fa996d8094ceb8339f 100644 GIT binary patch delta 133 zcmZqVYUG-b#eRYzh2aFliHU{96W4J}d{cxfF!=#v5yu7g3+x9t4{%P7Vk#0~WPrd2 zj3CI!F!>=<>EsVgtdql-vpA|4YZx;alNl$UU@l_+%kqcCg~fHUBa0mq1LNdI7Hbwp RAeelB#gYTWU|?Wi1ONmACsP0b delta 143 zcmZqVYUG-b#XgMz3?~*Av!^hC;l$U)SVSk^XDsGezz>0wqnL^W9xx(9Muy1`nMx;r zU}Bvd#+=2mk7+;C0j7gYlTR=gvG+5AV9#Vn7CR;;rpb*g)-0?*F!=zBB?kipFaiKr C^D89) diff --git a/mpq/arr/upgrades.txt b/mpq/arr/upgrades.txt index 6ed230b..698652d 100644 --- a/mpq/arr/upgrades.txt +++ b/mpq/arr/upgrades.txt @@ -51,10 +51,10 @@ Argus Talisman (DA +50) Unknown Upgrade50 Caduceus Reactor (Medic +50) Chitinous Plating -Askosi Biotic Bolting -Askosi Crawler Bolting -Askosi Sky Bolting -Askosi Structure Bolting +Anabolic Synthesis +Charon Booster +Unknown Upgrade55 +Unknown Upgrade56 Protoss Structure Armor Zerg Structure Armor Terran Structure Armor diff --git a/mpq/arr/weapons.datex b/mpq/arr/weapons.datex index 1abeabcd275ee52e8179db71a099c4239b33ced1..4ac461cbd96b1a6e36fe7ebeb61c135d20898172 100644 GIT binary patch delta 326 zcmXBNyGuf09LDkYc{=DhQQ#n?c!ZRT#Hc>{R8!mK{NzK z5QJxGPP$0Y#iHv_Yg>)c(i`zi-_P*-l`^Hw(Xz%a+ACT_tD~TOsGn;Tu$LM)i5=T; z6`h7l=)x@;gjd37waZO47^ZM3@`%oV@+yj|bc>KE{E;mC){&4g{{}Q!^%r5tc%Vng zYQP7Fy%lH&AgjS<(EbP}0GEuK-3ZA!a||B4V&Gn z#h0269m8rh%5-?P{*8M~sXU`R33v2Aa}nR-ipRWT5<@5;jy#f>L6swD!8p>G#yl4A uqB@I7j3S3qPAS{wJ~Qf6O8tAJ?6v%k8{YDoGG~QYpshyyco9yn(jg+}4w$WUX@$41<6xyYsO%@;$xkv{CcP|EOd!F#ku~(`=SbBZ&tM5NSj39#c`V~vIan9>LrHwn zm&k;PyvPANv7N3mZd6w6Echulx{$^JzNw{JDkJ$EYDl3f*S5?O22qyW7WS|&yM!V( pu!;&kXj9mgx>W_K%F4eic*+iTrlnV!D|S@nz^C@G%7gFh;x9>WOMd_W diff --git a/mpq/arr/weapons.txt b/mpq/arr/weapons.txt index d536012..d22ccf9 100644 --- a/mpq/arr/weapons.txt +++ b/mpq/arr/weapons.txt @@ -151,7 +151,7 @@ Khaydarin Ray (Matrix) Blindside Rockets (Sundog) Twinstrike Flamethrowers (Matador) Bisecting Blades (Zarcavrokor) -Bones of Reflection (Zarcavrokor) +Bones of Reflection Retractor Batteries (Pegasus) Lancet Missiles (Pegasus) Chimera Cannons (Hippogriff) diff --git a/mpq/datreq/Buttons.graft b/mpq/datreq/Buttons.graft index 842c84de43b0a43ca7c2f20084a897d02032ba26..72e085ab59daa41802921a3b34e5823bfc453ba2 100644 GIT binary patch delta 3034 zcmZuzYitx{6#ZtpOCRjmmetPINU5&iqa;w3G={8D3}B-_z)ej+3=b6)sHs1oDwJYC zFttYE8o);g1`{Q)ZMV~=U0~a!U`?AK5PT6Hp(Pqf5Fu2fH3aWz?}S@oli4|YzH{$A z_kQ2(^zgR8-`fJ#M@j3(jJq>U+IEdGPxAEuUu79(8C0CJ+*>$vUeLZ^dk1FsS z?W!vFKAAUUJ+#Ks`eT7(fh?06m7^+H70mX&e7-l=Zn3@9%Z9QF&W{rG1^PJXob9b& zb+28}H)^fKF0r%BcU-t?rEMo|FH-$OE}duygtLq@s&ptbK&tc|e(F13x*sCh`Cxu^7nt~BrWU@IprbIOgZ=shCd|o(5 z7?fGT7g_;cMEQwm#n)`kZ|-STpjY7mg(nI|-L%9a+i|K*xTR-Rt;x#CW`!S>D2$|u zzD-1}TDr`iadH|LTW6@M(XE^(RWRuHSm-;v!KHkRCj4G1l*7lB2U2yvq0^01DqQ8+ zQc-Uyd`V@9iXQz&RJJtDZ;BRfP(E!@=CHDXK5TMhzC#?G#mYGjgx^KAWI)s#eEA*a zQh(F*iCaaT@x%cv?DFCCPJ1N>_$|B&!HKQuLTJ?R!!ixSLZ{DH1<9v0F4Et?#_7cdto z*)qjyr2ZE7sdn+e!DgXM0R0Y1Ht^#FgD;WUj(DJVl10>z4ABxVuX4A@P~xOmMMzR@ z)5oHL$y0p!TQgOaSi!l$<9O7wdAHIxe`n)$5~X?W!R$~6@2bL=1hXMCNTsdr#NEP# znQ0b$XSTI`Y{Im$HDI-|n=tyFhTokssg7edOE5A&r*My8%%Pr6w?<=rFPOj{=~QE6 z*eOns`M6+cPQytMxjvxzZEkF_#IwZAmd%6v1;S$|=Bk|-5FRsHj$Zb5v{`lM#3L$P z5sWOyl=maz!eRb|@NjBNcElzGBi8Q{URMeaeYZGJ8Y*kgxA@WT2vc!mpsr1+0NV$K4OZz8nj9}z^mOsFAm?r({86eF`6;b18Sy zDPfRplfpeJL&r!9d50bxZsUvY2yHwVu-4K1&Tu}`{wmvrBv)wP!Jl9Ef9bKhP}1_v zj29(#!cpd{MFag>rLPr?N&0`th!#)bc)>VIMS`_a@G;8o3e&Yzz?m!xIGM>i7kle<~Ob_XtM!`!e}a z#DT(>1l>%#vF~LWWnSSA|53amJWBqfu)j0lC-Vt$9sg~FVyn6Fa1rbms9d>%F}$t8 z;rCK;GEf*78maWZAQPy+(=B{Pt=0-giF%%R)bZaIyudHf@~-L58qtK9*@P#^yViZw S&WGTP_(%9fueN)}oc{njuicXX delta 3098 zcmZuze@vBS6n?+U#d`%Vf>->!qE=pLP$^(*&FM}0gNT+5H4V*~y24srMu}#qT{feE zOQ#;{k7g@3%caS$52joY#N7Ou)3RlAYfu|4mK*6Zb2dBA<$QGJy4!c}!}Ff=oadbP z{l1S|yS+WTz19b9){O;pe@dlORa~A-@rrckd`Uco9(p0&X(~_m1iL)8F=j4bGx>@p zN0a@|nZ;)&cnU42Y3*%4Eh|j-pY@*g`prtq+5h@f4|1uge3CN|UFGq-Y&pf%mnV2r zeW^ZL{q9a$Rh90XuB-HVW?D{ReQ%N{&vHf@e$Mo4ww%i!zds%sEB6nKvldh2(30Go zamL)eYYhLGe(xwA&)Bg>v5#>!bsj2>eap~|oF|dUI-T?%-;!*Mhq+X~{uCYxYa|}n zr*f~U-0u~BUd3dM;`w+!gxpyGQ2IKt*v3Jp7yocOWhdoP5+atbu@CkyZEH1s*|wzU57{a3m8#-j!s{xC*+8?}?NF6Of+^rH%mHWSMY1|@IFg6~zU z5uQU5A9xEe>Y)CPaM5Gp0q3k(F!Y~M_@rR?X`rmm@DuLLu`8cSzZyf~L#YepZv-Re z2QSTTnQS%Cj!rwWN|Jfql*lHbfePU<`Vy`S(xZlnvh2BLBYs%`$Nff!Xv(4%BvV!e2a2F z@pfJV#*|7`{4M3aNaEojN##Dx!pP+`vtXQ=JoZPm*u+95%{pqA`9vD?94{CLG*vJn zJ(3(VaGbCI)p|R)H7LCC)EDmO-uEek$yG zHgZFGy(7(Wg3*uSok~AN#e}J?H%P7Vw8ZE=Y8?6vx=dv>i4uA|rSNgV@aTT9Z5M?H zu2cAHrP=8-^j%LTd{A+B4xK-dlZ-iUqW-uY_(e7n3d8(Z2~u^tm+r)mN8Q%|yi|xb z|CnsafJTbyDJn6DU$5e81#9onaVH4=Kw?+s_hc*`Qqk@)N5ru3@cE;Pc~Et_Rxs|? zYbyRAs~1=qytj5}qQu}1ohle7Et{-kcCPymjP{C(`4R~nN$e`0k)l_H(gmKR-T)d+qY6YXtX2DS3CYXOrqvCfd{v*NY<`cn~#1{%5^qIwD_x4Zn zK;w0DPJ&Q)4S(Uj1^=7yFmY31ck{sK^Fd17bOHC>1q-k7nCwtcX{8CqaO-KXHykP# z1}gghnQ1h=&kmKS)mp(&Zlr~M;eh+L;RUli;b2!^Uf?Z>OJlaqz5Se#6DK{H2)rUK WKxQCuudnV)qxoHFxH~w^|J1+ui}xx3 diff --git a/mpq/datreq/Orders.graft b/mpq/datreq/Orders.graft index 63daca58d5cad7d4c6e46dd6d4440f4c223b76d4..857e632a714bf6c3cdcf148865ef28fc5fd011bb 100644 GIT binary patch delta 17 Zcmeyt{f~RYHD;DJ2FCxJuQ01H0RTnM2G9Ti delta 12 Tcmeyz{eyeMHRjECn3b3SDJlg_ diff --git a/mpq/rez/stat_txt.tbl b/mpq/rez/stat_txt.tbl index 3e05a9d7ac1837933394b2ce248702cbff737b05..74681e084a1b1e48105a83063ef683491d366964 100644 GIT binary patch delta 3362 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 delta 3619 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 diff --git a/mpq/scripts/iscript.txt b/mpq/scripts/iscript.txt deleted file mode 100644 index 5639edc..0000000 --- a/mpq/scripts/iscript.txt +++ /dev/null @@ -1,52609 +0,0 @@ -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 000 Scourge (zerg\avenger.grp) -.headerstart -IsId 0 -Type 12 -Init ScourgeInit -Death ScourgeDeath -GndAttkInit [NONE] -AirAttkInit ScourgeAirAttkInit -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt ScourgeAirAttkInit -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle ScourgeAirAttkToIdle -Unused2 [NONE] -Walking ScourgeWalking -WalkingToIdle ScourgeAirAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ScourgeInit: - imgul 1 0 42 # Scourge Shadow (zerg\avenger.grp) - playfram 0x00 - wait 2 -ScourgeAirAttkToIdle: - playfram 0x00 - setvertpos 0 - wait 3 - playfram 0x11 - wait 3 - playfram 0x22 - setvertpos 1 - wait 3 - playfram 0x33 - setvertpos 2 - wait 3 - playfram 0x44 - setvertpos 1 - wait 3 - goto ScourgeAirAttkToIdle - -ScourgeDeath: - playsnd 776 # Zerg\AVENGER\ZAvDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 1 - end - -ScourgeAirAttkInit: - playsnd 778 # Zerg\AVENGER\ZAvHit00.WAV - sprol 132 0 0 # Scourge Explosion (zerg\zavExplo.grp) - wait 1 - attackwith 2 - gotorepeatattk - goto ScourgeAirAttkToIdle - -ScourgeWalking: - setvertpos 0 -ScourgeLocal01: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - goto ScourgeLocal01 - -InfestedTerranWalkingToIdle: - playfram 0x00 -ScourgeLocal00: - wait 125 - goto ScourgeLocal00 - -Generic_Wait1End: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 003 Scourge Death (zerg\zavDeath.grp) -.headerstart -IsId 2 -Type 0 -Init ScourgeDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ScourgeDeathInit: - playfram 0x00 - wait 2 - imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 004 Scourge Explosion (zerg\zavExplo.grp) -.headerstart -IsId 3 -Type 1 -Init ScourgeExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ScourgeExplosionInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 005 Rilirokor (zerg\brood.grp) -.headerstart -IsId 4 -Type 12 -Init RilirokorInit -Death RilirokorDeath -GndAttkInit RilirokorGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt RilirokorGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle RilirokorGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking RilirokorWalking -WalkingToIdle RilirokorGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -RilirokorInit: - imgul 6 0 0 # Rilirokor Shadow (zerg\zbrShad.grp) -RilirokorGndAttkToIdle: - playfram 0x11 - wait 27 - playfram 0x22 - wait 27 - goto RilirokorGndAttkToIdle - -RilirokorDeath: - wait 1 - randcondjmp 51 RilirokorDeathFinal - wait 1 - waitrand 1 2 - goto RilirokorDeathFinal -RilirokorDeathFinal: - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV - lowsprul 134 0 0 # Rilirokor Remnants (zerg\zbrDeath.grp) - wait 1 - end - -RilirokorGndAttkInit: - playfram 0x77 - wait 1 - nobrkcodestart - playfram 0x88 - wait 1 - playfram 0x99 - attackmelee 1 786 # Zerg\BROODLING\ZBrAtt00.WAV - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - nobrkcodeend - gotorepeatattk - goto RilirokorGndAttkToIdle - -RilirokorWalking: - move 7 - wait 1 - playfram 0x11 - move 7 - wait 1 - playfram 0x22 - move 7 - wait 1 - playfram 0x33 - move 7 - wait 1 - playfram 0x44 - move 7 - wait 1 - playfram 0x55 - move 7 - wait 1 - playfram 0x66 - move 7 - wait 1 - playfram 0x00 - goto RilirokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 008 Infested Terran (zerg\bugguy.grp) -.headerstart -IsId 6 -Type 0 -Init InfestedTerranInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InfestedTerranInit: - imgul 9 0 0 # Infested Terran Shadow (zerg\zbgShad.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 010 Infested Terran Explosion (thingy\zbgExplo.grp) -.headerstart -IsId 7 -Type 1 -Init InfestedTerranExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -InfestedTerranExplosionInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 011 Zerg Cocoon (zerg\cocoon.grp) -.headerstart -IsId 8 -Type 14 -Init ZergCocoonInit -Death ZergCocoonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 ZergCocoonUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell ZergCocoonCastSpell -GndAttkToIdle ZergCocoonGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 ZergCocoonUnused2 -Walking ZergCocoonWalking -WalkingToIdle [NONE] -SpecialState1 ZergCocoonSpecialState1 -SpecialState2 ZergCocoonSpecialState2 -AlmostBuilt ZergCocoonAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ZergCocoonInit: - imgul 12 0 42 # Zerg Cocoon Shadow (zerg\cocoon.grp) - # Mutalisk mutate - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - waitrand 10 15 -ZergCocoonWalking: - 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 - goto ZergCocoonWalking - -ZergCocoonDeath: - playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV - imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) - wait 1 - end - -ZergCocoonSpecialState1: - sigorder 4 - goto ScourgeLocal00 - -ZergCocoonSpecialState2: - playfram 14 - wait 2 - playfram 13 - wait 2 - playfram 12 - wait 2 - playfram 11 - wait 2 - playfram 10 - wait 2 - playfram 9 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -ZergCocoonGndAttkToIdle: - wait 1 - goto ZergCocoonWalking - -ZergCocoonUnused1: - # unused - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - playfram 27 - wait 2 - playfram 28 - wait 2 - goto ZergCocoonWalking - -ZergCocoonUnused2: - # unused - playfram 27 - wait 2 - playfram 26 - wait 2 - playfram 25 - wait 2 - playfram 24 - wait 2 - playfram 23 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -ZergCocoonAlmostBuilt: - # Ovileth mutate - playfram 29 - wait 2 - playfram 30 - wait 2 - playfram 31 - wait 2 - playfram 32 - wait 2 - playfram 33 - wait 2 - playfram 34 - wait 2 - goto ZergCocoonWalking - -ZergCocoonCastSpell: - # Ovileth cancel - playfram 33 - wait 2 - playfram 32 - wait 2 - playfram 31 - wait 2 - playfram 30 - wait 2 - playfram 29 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 013 Isthrathaleth (zerg\defiler.grp) -.headerstart -IsId 9 -Type 26 -Init IsthrathalethInit -Death IsthrathalethDeath -GndAttkInit IsthrathalethGndAttkInit -AirAttkInit [NONE] -Unused1 IsthrathalethUnused1 -GndAttkRpt IsthrathalethGndAttkInit -AirAttkRpt [NONE] -CastSpell IsthrathalethCastSpell -GndAttkToIdle IsthrathalethGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 IsthrathalethUnused2 -Walking IsthrathalethWalking -WalkingToIdle IsthrathalethGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 IsthrathalethSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow IsthrathalethBurrow -UnBurrow IsthrathalethUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IsthrathalethInit: - imgul 14 0 3 # Isthrathaleth Shadow (zerg\defiler.grp) - playfram 0x00 - wait 2 -IsthrathalethGndAttkToIdle: - playfram 0x00 - wait 3 - playfram 0x11 - wait 3 - playfram 0x22 - wait 3 - playfram 0x11 - wait 3 - goto IsthrathalethGndAttkToIdle - -IsthrathalethDeath: - playsnd 815 # Zerg\DEFILER\ZDeDth00.WAV - setfldirect 0 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xaa - wait 2 - playfram 0xbb - wait 2 - lowsprul 139 0 0 # Isthrathaleth Remnants (zerg\zdeDeath.grp) - wait 1 - end - -IsthrathalethUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1180 - playfram 0xbb - wait 2 - playfram 0xaa - wait 2 - playfram 0x99 - wait 2 - playfram 0x88 - wait 2 - setfldirect 13 - nobrkcodeend - goto IsthrathalethGndAttkToIdle - -IsthrathalethGndAttkInit: - playsnd 110 # Bullet\zdeAtt00.wav - imgoluselo 518 0 0 # Geszithalor Attack Overlay (thingy\eplMuzz.grp) - attackwith 1 - gotorepeatattk - goto IsthrathalethGndAttkToIdle - -IsthrathalethCastSpell: - playfram 0x00 - nobrkcodestart - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - castspell - nobrkcodeend - gotorepeatattk - sigorder 2 - goto IsthrathalethGndAttkToIdle - -IsthrathalethUnused2: - playfram 0x00 - nobrkcodestart - sigorder 32 - playsnd 820 # Isthrathaleth pissed 02 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - castspell - nobrkcodeend - sigorder 2 - goto IsthrathalethGndAttkToIdle - -IsthrathalethWalking: - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - goto IsthrathalethWalking - -IsthrathalethSpecialState2: - playfram 0x110 - goto ScourgeLocal00 - -IsthrathalethBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -IsthrathalethUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xff - wait 1 - playfram 0xee - wait 1 - playfram 0xdd - wait 1 - playfram 0xcc - wait 1 - sigorder 4 - goto IsthrathalethGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 017 Droleth (zerg\drone.grp) -.headerstart -IsId 11 -Type 26 -Init DrolethInit -Death DrolethDeath -GndAttkInit DrolethGndAttkInit -AirAttkInit [NONE] -Unused1 DrolethUnused1 -GndAttkRpt DrolethGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking DrolethWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -SpecialState2 DrolethSpecialState2 -AlmostBuilt DrolethAlmostBuilt -Built [NONE] -Landing DrolethWalking -LiftOff DrolethLiftOff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow DrolethBurrow -UnBurrow DrolethUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DrolethInit: - imgul 18 0 7 # Droleth Shadow (zerg\drone.grp) - goto InfestedTerranWalkingToIdle - -DrolethDeath: - playsnd 833 # Zerg\DRONE\ZDrDth00.WAV - setfldirect 0 - playfram 0xaa - wait 2 - playfram 0xbb - wait 2 - playfram 0xcc - wait 2 - playfram 0xdd - wait 2 - playfram 0xee - wait 2 - playfram 0xff - wait 2 - playfram 0x110 - wait 2 - playfram 0x121 - wait 2 - lowsprul 141 0 0 # Droleth Remnants (zerg\zdrDeath.grp) - wait 1 - end - -DrolethUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1169 # Droleth Revive 01 - playfram 0x121 - wait 2 - playfram 0x110 - wait 2 - playfram 0xff - wait 2 - playfram 0xee - wait 2 - playfram 0xdd - wait 2 - playfram 0xcc - wait 2 - playfram 0xbb - wait 2 - playfram 0xaa - wait 2 - setfldirect 13 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -DrolethGndAttkInit: - setvertpos 0 - playsnd 2485 # Droleth Weaponfire 01 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - wait 1 - attackwith 1 - gotorepeatattk - goto ScourgeLocal00 - -DrolethWalking: - setvertpos 0 -DrolethLocal00: - playfram 0x11 - move 4 - wait 1 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - move 4 - wait 1 - goto DrolethLocal00 - -DrolethSpecialState2: - playfram 0x176 - goto ScourgeLocal00 - -DrolethAlmostBuilt: - setvertpos 0 - wait 1 - waitrand 4 7 - playsndbtwn 1533 1535 # Droleth mining 01, 02, 03 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - wait 2 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0x55 - goto DrolethAlmostBuilt - -DrolethLiftOff: - sigorder 16 - goto ScourgeLocal00 - -DrolethBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - playfram 0x154 - wait 1 - playfram 0x165 - wait 1 - playfram 0x176 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -DrolethUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x165 - wait 1 - playfram 0x154 - wait 1 - playfram 0x143 - wait 1 - playfram 0x132 - wait 1 - playfram 0x00 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 021 Egg (zerg\egg.grp) -.headerstart -IsId 13 -Type 13 -Init EggInit -Death EggDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 EggSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -EggInit: - imgul 22 0 -4 # Egg Shadow (zerg\zegShad.grp) - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 -EggLocal00: - 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 EggLocal00 - -EggDeath: - playsnd 830 # Zerg\Egg\ZEgDth00.WAV - lowsprul 143 0 0 # Egg Remnants (zerg\zegDeath.grp) - wait 1 - end - -EggSpecialState1: - wait 1 - nobrkcodestart - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 024 Egg Remnants (zerg\zegDeath.grp) -.headerstart -IsId 14 -Type 1 -Init EggRemnantsInit -Death EggRemnantsDeath -.headerend -# ----------------------------------------------------------------------------- # - -EggRemnantsInit: - 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 219 -EggRemnantsDeath: - wait 1 - playfram 10 - wait 255 - wait 24 - playfram 11 - wait 255 - wait 24 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 025 Geszithalor (zerg\guardian.grp) -.headerstart -IsId 15 -Type 12 -Init GeszithalorInit -Death GeszithalorDeath -GndAttkInit GeszithalorGndAttkInit -AirAttkInit GeszithalorGndAttkInit -Unused1 GeszithalorUnused1 -GndAttkRpt GeszithalorGndAttkInit -AirAttkRpt GeszithalorGndAttkInit -CastSpell [NONE] -GndAttkToIdle GeszithalorGndAttkToIdle -AirAttkToIdle GeszithalorGndAttkToIdle -Unused2 [NONE] -Walking GeszithalorWalking -WalkingToIdle GeszithalorGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GeszithalorInit: - imgul 26 0 42 # Geszithalor Shadow (zerg\guardian.grp) - playfram 0x00 - wait 2 -GeszithalorGndAttkToIdle: - 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 - goto GeszithalorGndAttkToIdle - -GeszithalorDeath: - playsnd 852 # Zerg\Geszithalor\ZGuDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 186 0 42 # Zerg Building Rubble Small - wait 1 - end - -GeszithalorUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1175 # Geszithalor revive 01 - wait 8 - sprol 753 0 0 - wait 10 - setfldirect 14 - tmprmgraphicend - nobrkcodeend - goto GeszithalorGndAttkToIdle - -GeszithalorGndAttkInit: - playsnd 71 # Bullet\ZGuFir00.wav - imgoluselo 518 0 0 # Geszithalor Attack Overlay (thingy\eplMuzz.grp) - attackwith 1 - gotorepeatattk - goto GeszithalorGndAttkToIdle - -GeszithalorWalking: - 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 - goto GeszithalorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 027 Geszithalor Birth (zerg\cocoon.grp) -.headerstart -IsId 16 -Type 13 -Init GeszithalorBirthInit -Death ZergCocoonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GeszithalorBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -GeszithalorBirthInit: - imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) - goto ZergCocoonWalking - -GeszithalorBirthSpecialState1: - wait 1 - nobrkcodestart - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 028 Geszithalor Death (zerg\zguDeath.grp) -.headerstart -IsId 17 -Type 0 -Init GeszithalorDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GeszithalorDeathInit: - playfram 0x00 - wait 2 - imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 029 Hydralisk (zerg\hydra.grp) -.headerstart -IsId 18 -Type 26 -Init HydraliskInit -Death HydraliskDeath -GndAttkInit HydraliskGndAttkInit -AirAttkInit HydraliskGndAttkInit -Unused1 HydraliskUnused1 -GndAttkRpt HydraliskGndAttkRpt -AirAttkRpt HydraliskGndAttkRpt -CastSpell [NONE] -GndAttkToIdle HydraliskGndAttkToIdle -AirAttkToIdle HydraliskGndAttkToIdle -Unused2 [NONE] -Walking HydraliskWalking -WalkingToIdle HydraliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 HydraliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow HydraliskBurrow -UnBurrow HydraliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HydraliskInit: - imgul 30 0 0 # Hydralisk Shadow (zerg\zhyShad.grp) -HydraliskWalkingToIdle: - playfram 0x55 -HydraliskLocal00: - wait 62 - randcondjmp 25 HydraliskLocal01 - randcondjmp 128 HydraliskLocal02 - goto HydraliskLocal00 - -HydraliskLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 25 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto HydraliskWalkingToIdle - -HydraliskLocal02: - randcondjmp 128 HydraliskLocal03 - playfram 0x66 - wait 1 - turnccwise 1 - playfram 0x77 - wait 1 - turnccwise 1 - playfram 0x88 - wait 1 - turnccwise 1 - playfram 0x99 - wait 1 - turnccwise 1 - playfram 0xaa - wait 1 - turnccwise 1 - playfram 0xbb - wait 1 - turnccwise 1 - goto HydraliskWalkingToIdle - -HydraliskLocal03: - playfram 0x66 - wait 1 - turncwise 1 - playfram 0x77 - wait 1 - turncwise 1 - playfram 0x88 - wait 1 - turncwise 1 - playfram 0x99 - wait 1 - turncwise 1 - playfram 0xaa - wait 1 - turncwise 1 - playfram 0xbb - wait 1 - turncwise 1 - goto HydraliskWalkingToIdle - -HydraliskDeath: - playsnd 867 # Zerg\Hydra\ZHyDth00.WAV - setfldirect 0 - playfram 0x121 - wait 2 - playfram 290 - wait 2 - playfram 291 - wait 2 - playfram 292 - wait 2 - playfram 293 - wait 2 - playfram 294 - wait 2 - playfram 295 - wait 2 - playfram 296 - wait 2 - lowsprul 147 0 0 # Hydralisk Remnants (zerg\zhyDeath.grp) - wait 1 - end - -HydraliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 # Hydralisk Revive 01 - playfram 296 - wait 2 - playfram 295 - wait 2 - playfram 294 - wait 2 - playfram 293 - wait 2 - playfram 292 - wait 2 - playfram 291 - wait 2 - playfram 290 - wait 2 - playfram 0x121 - wait 2 - setfldirect 12 - nobrkcodeend - goto HydraliskWalkingToIdle - -HydraliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x22 - wait 1 -HydraliskGndAttkRpt: - wait 1 - playfram 0x44 - playsnd 64 # Bullet\SpoogHit.wav - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - attack - wait 1 - playfram 0x33 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -HydraliskGndAttkToIdle: - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto HydraliskWalkingToIdle - -HydraliskWalking: - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0x55 - goto HydraliskWalking - -HydraliskSpecialState2: - playfram 0x110 - goto ScourgeLocal00 - -HydraliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -HydraliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xff - wait 1 - playfram 0xee - wait 1 - playfram 0xdd - wait 1 - playfram 0xcc - wait 1 - sigorder 4 - goto HydraliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 032 Hydralisk Remnants (zerg\zhyDeath.grp) -# 1237 Bactalisk Remnants (cm\zerg\bactalisk-death.grp) -# 1415 Axitrilisk Remnants (cm\shared\axitrilisk-death.grp) -.headerstart -IsId 19 -Type 1 -Init HydraliskRemnantsInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -HydraliskRemnantsInit: - playfram 0x00 - wait 255 - wait 24 - 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: -# 033 Infested Kerrigan (zerg\uikerr.grp) -.headerstart -IsId 20 -Type 26 -Init InfestedKerriganInit -Death InfestedKerriganDeath -GndAttkInit InfestedKerriganGndAttkInit -AirAttkInit InfestedKerriganGndAttkInit -Unused1 [NONE] -GndAttkRpt InfestedKerriganGndAttkRpt -AirAttkRpt InfestedKerriganGndAttkRpt -CastSpell InfestedKerriganCastSpell -GndAttkToIdle InfestedKerriganGndAttkToIdle -AirAttkToIdle InfestedKerriganGndAttkToIdle -Unused2 [NONE] -Walking InfestedKerriganWalking -WalkingToIdle InfestedKerriganWalkingToIdle -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 InfestedKerriganBurrow -UnBurrow InfestedKerriganUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InfestedKerriganInit: - imgul 34 0 0 # Infested Kerrigan Shadow (zerg\uikShad.grp) -InfestedKerriganWalkingToIdle: - playfram 0x88 -InfestedKerriganLocal00: - wait 62 - randcondjmp 128 InfestedKerriganLocal01 - goto InfestedKerriganLocal00 - -InfestedKerriganLocal01: - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - turnrand 3 - wait 1 - playfram 0x88 - wait 1 - goto InfestedKerriganWalkingToIdle - -InfestedKerriganDeath: - playsnd 967 # Zerg\ZERGKERRI\UKiDth00.wav - imgol 231 0 0 # Ghost Death (terran\ghost.grp) - wait 1 - end - -InfestedKerriganGndAttkInit: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 -InfestedKerriganGndAttkRpt: - nobrkcodestart - playsnd 112 # Bullet\UKiFir00.wav - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - attackmelee 1 0 # Protoss\Artanis\PAtYes03.wav - wait 3 - playfram 0x66 - wait 2 - playfram 0x55 - wait 2 - playfram 0x44 - wait 2 - playfram 0x33 - wait 2 - nobrkcodeend - gotorepeatattk - ignorerest -InfestedKerriganGndAttkToIdle: - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - playfram 0x00 - wait 2 - goto InfestedKerriganWalkingToIdle - -InfestedKerriganCastSpell: - playfram 0x00 - nobrkcodestart - 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 - castspell - sigorder 2 - wait 2 - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -InfestedKerriganWalking: - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0xdd - move 4 - wait 1 - playfram 0xee - move 4 - wait 1 - playfram 0xff - move 4 - wait 1 - playfram 0x88 - goto InfestedKerriganWalking - -InfestedKerriganBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - sigorder 4 - goto ScourgeLocal00 - -InfestedKerriganUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x88 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 036 Larva (zerg\larva.grp) -.headerstart -IsId 21 -Type 12 -Init LarvaInit -Death LarvaDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking LarvaWalking -WalkingToIdle LarvaInit -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LarvaInit: - playfram 0x00 # Frame set 0 - goto ScourgeLocal00 - -LarvaDeath: - playsnd 849 # Zerg\Larva\ZLaDth00.WAV - lowsprul 150 0 0 # Larva Remnants (zerg\zlaDeath.grp) - wait 1 - end - -LarvaWalking: - move 2 - wait 1 - playfram 0x00 - move 2 - wait 1 - playfram 0x11 - move 2 - wait 1 - playfram 0x22 - move 2 - wait 1 - playfram 0x33 - move 2 - wait 1 - playfram 0x44 - goto LarvaWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 037 Larva Remnants (zerg\zlaDeath.grp) -.headerstart -IsId 22 -Type 1 -Init LarvaRemnantsInit -Death LarvaRemnantsDeath -.headerend -# ----------------------------------------------------------------------------- # - -LarvaRemnantsInit: - 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 227 -LarvaRemnantsDeath: - wait 1 - playfram 7 - wait 255 - wait 24 - playfram 8 - wait 255 - wait 24 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 038 Mutalisk (zerg\mutalid.grp) -.headerstart -IsId 23 -Type 12 -Init MutaliskInit -Death MutaliskDeath -GndAttkInit MutaliskGndAttkInit -AirAttkInit MutaliskGndAttkInit -Unused1 MutaliskUnused1 -GndAttkRpt MutaliskGndAttkInit -AirAttkRpt MutaliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle MutaliskGndAttkToIdle -AirAttkToIdle MutaliskGndAttkToIdle -Unused2 [NONE] -Walking MutaliskWalking -WalkingToIdle MutaliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MutaliskInit: - imgul 39 0 42 # Mutalisk Shadow (zerg\mutalid.grp) - playfram 0x00 - wait 2 -MutaliskGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - goto MutaliskGndAttkToIdle - -MutaliskDeath: - playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV - imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -MutaliskUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1173 - wait 8 - sprol 753 0 0 # Zerg Air Death Explosion (Small) - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto MutaliskGndAttkToIdle - -MutaliskGndAttkInit: - playsnd 113 # Bullet\zmuFir00.wav - wait 1 - attackwith 1 - gotorepeatattk - goto MutaliskGndAttkToIdle - -MutaliskWalking: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - goto MutaliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 041 Mutalisk Death (zerg\zmuDeath.grp) -.headerstart -IsId 24 -Type 0 -Init MutaliskDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MutaliskDeathInit: - playfram 0x00 # Frame set 0 - wait 2 - imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 042 Ovileth (zerg\ovileth.grp) -.headerstart -IsId 25 -Type 12 -Init OvilethInit -Death OvilethDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 OvilethUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking OvilethWalking -WalkingToIdle OvilethWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvilethInit: - imgul 43 0 42 # Ovileth Shadow (zerg\ovileth.grp) - playfram 0x00 - goto OvilethLocal00 - -OvilethLocal00: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto OvilethLocal00 - -OvilethDeath: - playsnd 910 # Zerg\OVERLORD\ZOvDth00.WAV - imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) - wait 1 - lowsprul 922 0 42 # Ovileth remains - wait 1 - end - -OvilethUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1170 - wait 8 - sprol 753 0 0 - wait 10 - setfldirect 12 - tmprmgraphicend - playfram 0x00 - nobrkcodeend - goto OvilethLocal00 - -OvilethWalking: - setvertpos 0 - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 -OvilethLocal01: - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - goto OvilethLocal01 - -OvilethWalkingToIdle: - playfram 0x33 - wait 2 - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - playfram 0x00 - wait 2 - goto OvilethLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 045 Ovileth Death (zerg\zovDeath.grp) -.headerstart -IsId 26 -Type 0 -Init OvilethDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvilethDeathInit: - playfram 0x00 - wait 2 - imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 046 Matraleth (zerg\queen.grp) -.headerstart -IsId 27 -Type 12 -Init MatralethInit -Death MatralethDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 MatralethUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell MatralethCastSpell -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 MatralethUnused2 -Walking MatralethWalking -WalkingToIdle MatralethGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatralethInit: - imgul 47 0 42 # Matraleth Shadow (zerg\queen.grp) - playfram 0x00 - wait 2 -MatralethGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - goto MatralethGndAttkToIdle - -MatralethDeath: - playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV - sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -MatralethUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1176 # Matraleth revive 01 - wait 8 - sprol 753 0 0 - wait 10 - setfldirect 15 - tmprmgraphicend - nobrkcodeend - goto MatralethGndAttkToIdle - -MatralethCastSpell: - setvertpos 0 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - playsnd 1276 # Blissful Embrace channel - wait 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 1 - playfram 0x66 - wait 1 - gotorepeatattk - goto MatralethGndAttkToIdle - -MatralethUnused2: - setvertpos 0 - playfram 0x55 - nobrkcodestart - sigorder 32 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - playsnd 920 # Matraleth cast 01 - wait 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 1 - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 1 - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 1 - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - castspell - sigorder 2 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - nobrkcodeend - gotorepeatattk - goto MatralethGndAttkToIdle - -MatralethWalking: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - goto MatralethWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 048 Matraleth Death (zerg\zquDeath.grp) -.headerstart -IsId 28 -Type 0 -Init MatralethDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatralethDeathInit: - playfram 0x00 - wait 2 - imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 050 Ultrokor (zerg\ultra.grp) -.headerstart -IsId 29 -Type 26 -Init UltrokorInit -Death UltrokorDeath -GndAttkInit UltrokorGndAttkInit -AirAttkInit [NONE] -Unused1 UltrokorUnused1 -GndAttkRpt UltrokorGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle UltrokorGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking UltrokorWalking -WalkingToIdle UltrokorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 UltrokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow UltrokorBurrow -UnBurrow UltrokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -UltrokorInit: - imgul 51 0 0 # Ultrokor Shadow (zerg\zulShad.grp) -UltrokorGndAttkToIdle: - playfram 0x99 - goto UltrokorLocal00 - -UltrokorLocal00: - wait 62 - randcondjmp 25 UltrokorLocal01 - randcondjmp 128 UltrokorLocal02 - goto UltrokorLocal00 - -UltrokorLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 10 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto UltrokorGndAttkToIdle - -UltrokorLocal02: - randcondjmp 128 UltrokorLocal03 - playfram 0x66 - wait 1 - turnccwise 1 - playfram 0x77 - wait 1 - turnccwise 1 - playfram 0x88 - wait 1 - turnccwise 1 - playfram 0x99 - wait 1 - turnccwise 1 - playfram 0xaa - wait 1 - turnccwise 1 - playfram 0xbb - wait 1 - turnccwise 1 - goto UltrokorGndAttkToIdle - -UltrokorLocal03: - playfram 0x66 - wait 1 - turncwise 1 - playfram 0x77 - wait 1 - turncwise 1 - playfram 0x88 - wait 1 - turncwise 1 - playfram 0x99 - wait 1 - turncwise 1 - playfram 0xaa - wait 1 - turncwise 1 - playfram 0xbb - wait 1 - turncwise 1 - goto UltrokorGndAttkToIdle - -UltrokorDeath: - playsnd 878 # Zerg\Ultra\ZUlDth00.WAV - setfldirect 0 - playfram 408 - wait 2 - playfram 409 - wait 2 - playfram 410 - wait 2 - playfram 411 - wait 2 - playfram 412 - wait 2 - playfram 413 - wait 2 - playfram 414 - wait 2 - playfram 415 - wait 2 - playfram 416 - wait 2 - playfram 417 - wait 2 - lowsprul 158 0 0 # Ultrokor Remnants (zerg\zulDeath.grp) - wait 1 - end - -UltrokorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1181 - playfram 417 - wait 2 - playfram 416 - wait 2 - playfram 415 - wait 2 - playfram 414 - wait 2 - playfram 413 - wait 2 - playfram 412 - wait 2 - playfram 411 - wait 2 - playfram 410 - wait 2 - playfram 409 - wait 2 - playfram 408 - wait 2 - setfldirect 14 - nobrkcodeend - goto UltrokorGndAttkToIdle - -UltrokorGndAttkInit: - playfram 0xee -UltrokorGndAttkRpt: - wait 1 - nobrkcodestart - playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV | Zerg\Ultra\zulAtt01.WAV | Zerg\Ultra\zulAtt02.WAV - wait 1 - playfram 0xdd - wait 1 - playfram 0xcc - attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 2 - playfram 0xbb - wait 2 - playfram 0xcc - wait 1 - playfram 0xdd - wait 2 - playfram 0xee - wait 1 - nobrkcodeend - gotorepeatattk - goto UltrokorGndAttkToIdle - -UltrokorWalking: - move 5 - wait 1 - playfram 0x00 - 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 - move 5 - wait 1 - playfram 0x99 - goto UltrokorWalking - -UltrokorSpecialState2: - playfram 0x187 - goto ScourgeLocal00 - -UltrokorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -18 15 # Burrowing Dust (thingy\bDust.grp) - playsnd 1093 # Zerg\LURKER\ZLuBurrw.wav - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -15 -18 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 - wait 1 - playfram 0x154 - wait 1 - playfram 0x165 - wait 1 - playfram 0x176 - wait 1 - playfram 0x187 - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 9 15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -15 21 # Burrowing Dust (thingy\bDust.grp) - wait 1 - sigorder 4 - goto ScourgeLocal00 - -UltrokorUnBurrow: - wait 1 - waitrand 1 2 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x176 - wait 1 - playfram 0x165 - wait 1 - playfram 0x154 - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 - wait 1 - playfram 0x132 - wait 1 - playfram 0x121 - wait 1 - playfram 0x110 - wait 1 - playfram 0xff - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -15 9 # Burrowing Dust (thingy\bDust.grp) - wait 1 - sigorder 4 - goto UltrokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 054 Zethrokor (zerg\zergling.grp) -.headerstart -IsId 31 -Type 26 -Init ZethrokorInit -Death ZethrokorDeath -GndAttkInit ZethrokorGndAttkInit -AirAttkInit [NONE] -Unused1 ZethrokorUnused1 -GndAttkRpt ZethrokorGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ZethrokorGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ZethrokorWalking -WalkingToIdle ZethrokorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 ZethrokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow ZethrokorBurrow -UnBurrow ZethrokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZethrokorInit: - imgul 55 0 -1 # Zethrokor Shadow (zerg\zzeShad.grp) -ZethrokorGndAttkToIdle: - playfram 0x55 - goto ZethrokorLocal00 - -ZethrokorLocal00: - wait 63 - randcondjmp 25 ZethrokorLocal01 - randcondjmp 128 ZethrokorLocal02 - goto ZethrokorLocal00 - -ZethrokorLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 12 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto ZethrokorGndAttkToIdle - -ZethrokorLocal02: - randcondjmp 128 ZethrokorLocal03 - playfram 0x66 - wait 1 - turnccwise 1 - playfram 0x77 - wait 1 - turnccwise 1 - playfram 0x88 - wait 1 - turnccwise 1 - playfram 0x99 - wait 1 - turnccwise 1 - playfram 0xaa - wait 1 - turnccwise 1 - playfram 0xbb - wait 1 - turnccwise 1 - goto ZethrokorGndAttkToIdle - -ZethrokorLocal03: - playfram 0x66 - wait 1 - turncwise 1 - playfram 0x77 - wait 1 - turncwise 1 - playfram 0x88 - wait 1 - turncwise 1 - playfram 0x99 - wait 1 - turncwise 1 - playfram 0xaa - wait 1 - turncwise 1 - playfram 0xbb - wait 1 - turncwise 1 - goto ZethrokorGndAttkToIdle - -ZethrokorDeath: - playsnd 896 # Zerg\Zergling\ZZeDth00.WAV - setfldirect 0 - playfram 289 - wait 2 - playfram 290 - wait 2 - playfram 291 - wait 2 - playfram 292 - wait 2 - playfram 293 - wait 2 - playfram 294 - wait 2 - playfram 295 - wait 2 - lowsprul 160 0 0 # Zethrokor Remnants (zerg\zzeDeath.grp) - wait 1 - end - -ZethrokorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1171 - playfram 295 - wait 2 - playfram 294 - wait 2 - playfram 293 - wait 2 - playfram 292 - wait 2 - playfram 291 - wait 2 - playfram 290 - wait 2 - playfram 289 - wait 2 - setfldirect 10 - nobrkcodeend - goto ZethrokorGndAttkToIdle - -ZethrokorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x22 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x33 - wait 1 - nobrkcodeend - playfram 0x44 - wait 1 - gotorepeatattk - goto ZethrokorGndAttkToIdle - -ZethrokorWalking: - move 6 - wait 1 - playfram 0x66 - move 6 - wait 1 - playfram 0x77 - move 6 - wait 1 - playfram 0x88 - move 6 - wait 1 - playfram 0x99 - move 6 - wait 1 - playfram 0xaa - move 6 - wait 1 - playfram 0xbb - move 6 - wait 1 - playfram 0x55 - goto ZethrokorWalking - -ZethrokorSpecialState2: - playfram 0x110 - goto ScourgeLocal00 - -ZethrokorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -ZethrokorUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xff - wait 1 - playfram 0xee - wait 1 - playfram 0xdd - wait 1 - playfram 0xcc - wait 1 - sigorder 4 - goto ZethrokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 058 Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) -# 059 Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) -.headerstart -IsId 33 -Type 1 -Init ZergAirDeathExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergAirDeathExplosionInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 060 Zerg Building Explosion (thingy\zBldDthS.grp) -.headerstart -IsId 34 -Type 1 -Init ZergBuildingExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergBuildingExplosionInit: - playfram 0 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 002 Scourge Birth (zerg\zavBirth.grp) -# 015 Isthrathaleth Birth (zerg\zdebirth.grp) -# 019 Droleth Birth (zerg\zdrbirth.grp) -# 031 Hydralisk Birth (zerg\zhybirth.grp) -# 040 Mutalisk Birth (zerg\zmubirth.grp) -# 044 Ovileth Birth (zerg\zovBirth.grp) -# 049 Matraleth Birth (zerg\zquBirth.grp) -# 052 Ultrokor Birth (zerg\zulbirth.grp) -# 056 Zethrokor Birth (zerg\zzebirth.grp) -# 919 Lurker Birth (zerg\zLubirth.grp) -# 1244 Nathrokor Birth (cm\zerg\nathrokor-birth.grp) -# 1294 Quazilisk Birth (cm\zerg\quazilisk-birth.grp) -# 1297 Almaksalisk Birth (cm\zerg\almaksalisk-birth.grp) -# 1298 Zoryusthaleth Birth (cm\zerg\zoryusthaleth-birth.grp) -# 1365 Konvilisk Birth (cm\zerg\konvilisk-birth.grp) -# 1501 Sovroleth Birth (cm\zerg\sovroleth-birth.grp) -# 1506 Cohort Birth (cm\shared\cohort-birth.grp) -# 1507 Tarasque Birth (cm\shared\tarasque-birth.grp) -# 1510 Charlatan Birth (cm\shared\charlatan-birth.grp) -# 1511 Anticthon Birth (cm\shared\anticthon-birth.grp) -# 1514 Gosvileth Birth (cm\zerg\gosvileth-birth.grp) -# 1517 Empress Birth (cm\shared\empress-birth.grp) -# 1518 Othstoleth Birth (cm\zerg\othstoleth-birth.grp) -# 1525 Axitrilisk Birth (cm\shared\axitrilisk-birth.grp) -# 1553 Kagralisk Birth -.headerstart -IsId 36 -Type 13 -Init ZergBirthInit -Death EggDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 ZergBirthUnused -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ZergBirthInit: - playfram 0x00 - goto ScourgeLocal00 - -ZergBirthUnused: - wait 1 - nobrkcodestart - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - sigorder 4 - lowsprul 319 0 0 # Egg Spawn (zerg\zegspawn.grp) - nobrkcodeend - goto ScourgeLocal00 - -ZergBirthSpecialState1: - wait 1 - nobrkcodestart - 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 - sigorder 4 - lowsprul 319 0 0 # Egg Spawn (zerg\zegspawn.grp) - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 023 Egg Spawn (zerg\zegspawn.grp) -.headerstart -IsId 37 -Type 0 -Init EggSpawnInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EggSpawnInit: - playfram 0x00 - wait 100 - playfram 1 - wait 100 - playfram 2 - wait 100 - playfram 3 - wait 100 - playfram 4 - wait 100 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 061 Cerebrate (zerg\UCereb.grp) -.headerstart -IsId 38 -Type 20 -Init CerebrateInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CerebrateAlmostBuilt -Built CerebrateBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking CerebrateIsWorking -WorkingToIdle CerebrateIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CerebrateInit: - imgul 62 0 0 # Cerebrate Shadow (zerg\zucShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -CerebrateDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -CerebrateAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -CerebrateBuilt: - playfram 0x00 - wait 2 -CerebrateIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 0x00 - wait 2 - goto CerebrateIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 063 Infested Ministry (terran\control.grp) -.headerstart -IsId 39 -Type 20 -Init InfestedMinistryInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle InfestedMinistryBuilt -SpecialState1 InfestedMinistrySpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built InfestedMinistryBuilt -Landing InfestedMinistryLanding -LiftOff InfestedMinistryLiftOff -IsWorking InfestedMinistryIsWorking -WorkingToIdle InfestedMinistryBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InfestedMinistryInit: - imgul 277 0 0 # Ministry Shadow (terran\tccShad.grp) - imgol 101 0 0 # Infested Ministry Overlay (zerg\Infest03.grp) -InfestedMinistryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -InfestedMinistryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -LiftedTerranStructureDeath: - lowsprul 274 0 42 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -InfestedMinistrySpecialState1: - playfram 4 - goto ScourgeLocal00 - -InfestedMinistryLanding: - nobrkcodestart - wait 18 - playsnd 472 # Misc\Land.WAV - playfram 4 - wait 5 - playfram 3 - wait 5 - playfram 2 - wait 5 - playfram 5 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto InfestedMinistryBuilt - -InfestedMinistryLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 5 - wait 5 - playfram 2 - wait 5 - playfram 3 - wait 5 - playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -InfestedMinistryIsWorking: - playfram 6 - wait 4 - playfram 0 - wait 1 - playfram 6 - wait 1 - playfram 0 - wait 1 - playfram 6 - wait 3 - playfram 0 - wait 1 - playfram 6 - wait 3 - playfram 0 - wait 1 - playfram 6 - wait 4 - playfram 0 - wait 1 - playfram 6 - wait 1 - playfram 0 - wait 1 - playfram 6 - wait 3 - playfram 0 - wait 1 - playfram 6 - wait 3 - playfram 0 - wait 1 - playfram 6 - wait 4 - playfram 0 - wait 1 - playfram 6 - wait 3 - playfram 0 - wait 1 - playfram 6 - wait 1 - playfram 0 - wait 1 - playfram 6 - wait 1 - playfram 0 - wait 1 - goto InfestedMinistryIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 064 Quazrok Pool (zerg\chrysal.grp) -.headerstart -IsId 40 -Type 20 -Init QuazethPoolInit -Death QuazethPoolDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt QuazethPoolAlmostBuilt -Built QuazethPoolBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking QuazethPoolIsWorking -WorkingToIdle QuazethPoolWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -QuazethPoolInit: - playfram 0x00 - imgul 65 0 0 # Quazrok Pool Shadow (zerg\zchShad.grp) - goto QuazethPoolWorkingToIdle - -QuazethPoolWorkingToIdle: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto QuazethPoolWorkingToIdle - -QuazethPoolDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -QuazethPoolAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto QuazethPoolBuilt - -QuazethPoolBuilt: - playfram 0x00 - wait 2 - goto QuazethPoolWorkingToIdle - -QuazethPoolIsWorking: - playfram 4 - wait 2 - playfram 5 - wait 3 - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 3 - playfram 5 - wait 2 - playfram 6 - waitrand 2 3 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - waitrand 2 4 - goto QuazethPoolIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 066 Evolution Chamber (zerg\cerebrat.grp) -.headerstart -IsId 41 -Type 20 -Init QuazethPoolInit -Death QuazethPoolDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt QuazethPoolAlmostBuilt -Built QuazethPoolBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking QuazethPoolIsWorking -WorkingToIdle QuazethPoolWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 068 Cagrant Cesiant (zerg\cagrant-cesiant.grp) -.headerstart -IsId 42 -Type 20 -Init CagrantCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CagrantCesiantAlmostBuilt -Built CagrantCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CagrantCesiantInit: - imgul 69 0 0 # Cagrant Cesiant Shadow (zerg\cagrant-cesiant-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -CagrantCesiantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -CagrantCesiantBuilt: - playfram 0x00 - wait 2 -CagrantCesiantLocal00: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 0x00 - wait 2 - goto CagrantCesiantLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 070 Hachirosk (zerg\hatchery.grp) -.headerstart -IsId 43 -Type 20 -Init HachiroskInit -Death HachiroskDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt HachiroskAlmostBuilt -Built HachiroskBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking HachiroskIsWorking -WorkingToIdle HachiroskWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HachiroskInit: - imgul 71 0 0 # Hachirosk Shadow (zerg\zhaShad.grp) - playfram 0x00 - goto HachiroskWorkingToIdle - -HachiroskWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto HachiroskWorkingToIdle - -HachiroskDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 1 - end - -HachiroskAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -HachiroskBuilt: - playfram 0x00 - wait 2 - goto HachiroskWorkingToIdle - -HachiroskIsWorking: - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 3 - playfram 9 - wait 2 - playfram 10 - wait 3 - playfram 11 - wait 3 - playfram 10 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 3 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 7 - waitrand 2 3 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 3 - playfram 11 - waitrand 2 3 - playfram 10 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - waitrand 2 4 - goto HachiroskIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 072 Gathtelosk (zerg\Hive.grp) -.headerstart -IsId 44 -Type 20 -Init GathteloskInit -Death GathteloskDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt GathteloskAlmostBuilt -Built GathteloskBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking GathteloskIsWorking -WorkingToIdle GathteloskWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GathteloskInit: - imgul 73 0 0 # Gathtelosk Shadow (zerg\zhiShad.grp) - playfram 0x00 - goto GathteloskWorkingToIdle - -GathteloskWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto GathteloskWorkingToIdle - -GathteloskDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 1 - end - -GathteloskAlmostBuilt: - imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) -GathteloskBuilt: - playfram 0x00 - wait 2 - goto GathteloskWorkingToIdle - -GathteloskIsWorking: - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 2 - playfram 8 - waitrand 2 3 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 7 - waitrand 2 3 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - waitrand 2 4 - goto GathteloskIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 074 Caphrolosk (zerg\lair.grp) -.headerstart -IsId 45 -Type 20 -Init CaphroloskInit -Death CaphroloskDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CaphroloskAlmostBuilt -Built CaphroloskBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking CaphroloskIsWorking -WorkingToIdle CaphroloskWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CaphroloskInit: - imgul 75 0 0 # Caphrolosk Shadow (zerg\zlrShad.grp) - playfram 0x00 - goto CaphroloskWorkingToIdle - -CaphroloskWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto CaphroloskWorkingToIdle - -CaphroloskDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 1 - end - -CaphroloskAlmostBuilt: - imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) -CaphroloskBuilt: - playfram 0x00 - wait 2 - goto CaphroloskWorkingToIdle - -CaphroloskIsWorking: - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 2 - playfram 8 - waitrand 2 3 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 7 - waitrand 2 3 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - waitrand 2 4 - goto CaphroloskIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 076 Surkith Cesiant (zerg\Lurker.grp) -.headerstart -IsId 46 -Type 20 -Init SurkithCesiantInit -Death CerebrateDeath -GndAttkInit SurkithCesiantGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt SurkithCesiantGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle SurkithCesiantGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt SurkithCesiantAlmostBuilt -Built SurkithCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking SurkithCesiantIsWorking -WorkingToIdle SurkithCesiantIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SurkithCesiantInit: - playfram 0x00 - imgul 77 0 0 # Surkith Cesiant Shadow (zerg\zluShad.grp) - goto ScourgeLocal00 - -SurkithCesiantGndAttkInit: - playsnd 78 # Bullet\ZLuFir00.wav - trgtarccondjmp 74 42 SurkithCesiantLocal00 - trgtarccondjmp 159 42 SurkithCesiantLocal01 - nobrkcodestart - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 33 - wait 1 - attackwith 1 - wait 6 - playfram 32 - wait 1 - playfram 31 - wait 1 - playfram 30 - wait 1 - playfram 29 - wait 1 - playfram 28 - wait 1 - playfram 27 - wait 1 - playfram 26 - wait 1 - playfram 25 - wait 1 - playfram 24 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -SurkithCesiantGndAttkToIdle: - goto SurkithCesiantIsWorking - -SurkithCesiantIsWorking: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto SurkithCesiantIsWorking - -SurkithCesiantLocal00: - nobrkcodestart - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 13 - wait 1 - attackwith 1 - wait 6 - playfram 12 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 9 - wait 1 - playfram 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SurkithCesiantIsWorking - -SurkithCesiantLocal01: - nobrkcodestart - playfram 14 - wait 1 - playfram 15 - wait 1 - playfram 0x11 - wait 1 - playfram 18 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 23 - wait 1 - attackwith 1 - wait 6 - playfram 23 - wait 1 - playfram 22 - wait 1 - playfram 21 - wait 1 - playfram 20 - wait 1 - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 0x11 - wait 1 - playfram 16 - wait 1 - playfram 15 - wait 1 - playfram 14 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SurkithCesiantIsWorking - -SurkithCesiantAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -SurkithCesiantBuilt: - playfram 0x00 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto SurkithCesiantIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 078 Mature Chrysalis (neutral\kerrChry.grp) -.headerstart -IsId 47 -Type 20 -Init MatureChrysalisInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt MatureChrysalisAlmostBuilt -Built MatureChrysalisBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking MatureChrysalisIsWorking -WorkingToIdle MatureChrysalisIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatureChrysalisInit: - playfram 0x00 - imgul 79 0 0 # Mature Chrysalis Shadow (neutral\nkoShad.grp) - goto ScourgeLocal00 - -MatureChrysalisAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto MatureChrysalisBuilt - -MatureChrysalisBuilt: - playfram 0x00 - wait 2 -MatureChrysalisIsWorking: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - goto MatureChrysalisIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 080 Tosvrol Haunt (zerg\MutaCham.grp) -.headerstart -IsId 48 -Type 20 -Init TosvrolHauntInit -Death TosvrolHauntDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TosvrolHauntAlmostBuilt -Built TosvrolHauntBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking TosvrolHauntIsWorking -WorkingToIdle TosvrolHauntWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TosvrolHauntInit: - imgul 81 0 0 # Tosvrol Haunt Shadow (zerg\zmcShad.grp) - playfram 0x00 - goto TosvrolHauntWorkingToIdle - -TosvrolHauntWorkingToIdle: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto TosvrolHauntWorkingToIdle - -TosvrolHauntDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -TosvrolHauntAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -TosvrolHauntBuilt: - playfram 0x00 - wait 2 - goto TosvrolHauntWorkingToIdle - -TosvrolHauntIsWorking: - playfram 4 - wait 2 - playfram 5 - wait 4 - playfram 6 - wait 3 - playfram 7 - wait 4 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 3 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 3 - waitrand 2 3 - goto TosvrolHauntIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 082 ElthisthMound (zerg\Mutapit.grp) -.headerstart -IsId 49 -Type 20 -Init ElthisthMoundInit -Death ElthisthMoundDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ElthisthMoundAlmostBuilt -Built ElthisthMoundBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ElthisthMoundIsWorking -WorkingToIdle ElthisthMoundWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ElthisthMoundInit: - imgul 83 0 0 # Elthisth Mound Shadow (zerg\zmhShad.grp) - playfram 0x00 - goto ElthisthMoundWorkingToIdle - -ElthisthMoundWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 3 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 3 - goto ElthisthMoundWorkingToIdle - -ElthisthMoundDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -ElthisthMoundAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -ElthisthMoundBuilt: - playfram 0x00 - wait 2 - goto ElthisthMoundWorkingToIdle - -ElthisthMoundIsWorking: - playfram 4 - wait 2 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 3 - playfram 5 - wait 2 - goto ElthisthMoundIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 084 Matravil Nest (zerg\nest.grp) -.headerstart -IsId 50 -Type 20 -Init MatravilNestInit -Death MatravilNestDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt MatravilNestAlmostBuilt -Built MatravilNestBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking MatravilNestIsWorking -WorkingToIdle MatravilNestWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatravilNestInit: - imgul 85 0 0 # Matravil Nest Shadow (zerg\zneShad.grp) - playfram 0x00 - goto MatravilNestWorkingToIdle - -MatravilNestWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 4 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto MatravilNestWorkingToIdle - -MatravilNestDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -MatravilNestAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -MatravilNestBuilt: - playfram 0x00 - wait 2 - goto MatravilNestWorkingToIdle - -MatravilNestIsWorking: - playfram 4 - wait 1 - waitrand 1 2 - playfram 5 - wait 2 - playfram 6 - wait 4 - playfram 7 - wait 3 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - waitrand 2 3 - playfram 5 - wait 2 - playfram 6 - wait 3 - playfram 7 - waitrand 2 4 - playfram 5 - waitrand 2 3 - goto MatravilNestIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 086 Nydus Cesiant (zerg\NydusPit.grp) -.headerstart -IsId 51 -Type 20 -Init NydusCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt NydusCesiantAlmostBuilt -Built NydusCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking NydusCesiantIsWorking -WorkingToIdle NydusCesiantIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NydusCesiantInit: - playfram 0x00 - imgul 87 0 0 # Nydus Cesiant Shadow (zerg\znyShad.grp) - goto ScourgeLocal00 - -NydusCesiantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -NydusCesiantBuilt: - playfram 0x00 - wait 2 -NydusCesiantIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto NydusCesiantIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 088 Overmind (with shell) (zerg\Over1.grp) -.headerstart -IsId 52 -Type 20 -Init OvermindShellInit -Death OvermindShellDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt OvermindShellAlmostBuilt -Built OvermindShellBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking OvermindShellIsWorking -WorkingToIdle OvermindShellIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvermindShellInit: - imgul 1257 0 0 # Overmind (with shell) Shadow (cm\zerg\overmind-shell-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -OvermindShellDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 7 - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 7 - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 3 - end - -OvermindShellAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto OvermindShellBuilt - -OvermindShellBuilt: - wait 2 -OvermindShellIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - wait 1 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto OvermindShellIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 089 Overmind Remnants (zerg\Over2.grp) -.headerstart -IsId 53 -Type 1 -Init OvermindRemnantsInit -Death OvermindRemnantsDeath -.headerend -# ----------------------------------------------------------------------------- # - -OvermindRemnantsInit: - playfram 0x00 - wait 63 - goto OvermindRemnantsDeath - -OvermindRemnantsDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 090 Overmind (without shell) (zerg\Over2.grp) -.headerstart -IsId 54 -Type 20 -Init OvermindNoShellInit -Death OvermindNoShellDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt OvermindNoShellAlmostBuilt -Built OvermindNoShellBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking OvermindNoShellIsWorking -WorkingToIdle OvermindNoShellIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvermindNoShellInit: - imgul 1234 0 0 # Overmind (without shell) Shadow (cm\zerg\overmind-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -OvermindNoShellDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) - wait 1 - end - -OvermindNoShellAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto OvermindNoShellBuilt - -OvermindNoShellBuilt: - waitrand 1 3 -OvermindNoShellIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - wait 1 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto OvermindNoShellIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 091 Ultrok Cavern (zerg\RCluster.grp) -.headerstart -IsId 55 -Type 20 -Init UltrokCavernInit -Death UltrokCavernDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt UltrokCavernAlmostBuilt -Built UltrokCavernBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking UltrokCavernIsWorking -WorkingToIdle UltrokCavernWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -UltrokCavernInit: - imgul 92 0 0 # Ultrok Cavern Shadow (zerg\zrcShad.grp) - playfram 0x00 - goto UltrokCavernWorkingToIdle - -UltrokCavernWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 4 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto UltrokCavernWorkingToIdle - -UltrokCavernDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -UltrokCavernAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -UltrokCavernBuilt: - playfram 0x00 - wait 2 - goto UltrokCavernWorkingToIdle - -UltrokCavernIsWorking: - playfram 3 - wait 2 - playfram 4 - wait 3 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 3 - playfram 4 - waitrand 2 3 - goto UltrokCavernIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 093 Excisant (zerg\Extract.grp) -.headerstart -IsId 56 -Type 20 -Init ExcisantInit -Death ExcisantDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ExcisantAlmostBuilt -Built ExcisantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ExcisantIsWorking -WorkingToIdle ExcisantIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ExcisantInit: - imgul 94 0 0 # Excisant Shadow (zerg\zreShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -ExcisantDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - sprol 185 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - end - -ExcisantAlmostBuilt: - imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) -ExcisantBuilt: - playfram 0x00 - wait 2 -ExcisantIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - creategasoverlays 0 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - goto ExcisantIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 095 Hydrith Den (zerg\Snakey.grp) -.headerstart -IsId 57 -Type 20 -Init HydrithDenInit -Death HydrithDenDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt HydrithDenAlmostBuilt -Built HydrithDenBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking HydrithDenIsWorking -WorkingToIdle HydrithDenWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HydrithDenInit: - imgul 96 0 0 # Hydrith Den Shadow (zerg\zsbShad.grp) - playfram 0x00 - goto HydrithDenWorkingToIdle - -HydrithDenWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 4 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto HydrithDenWorkingToIdle - -HydrithDenDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -HydrithDenAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -HydrithDenBuilt: - playfram 0x00 - wait 2 - goto HydrithDenWorkingToIdle - -HydrithDenIsWorking: - playfram 3 - wait 1 - waitrand 1 2 - playfram 4 - wait 2 - playfram 5 - wait 3 - playfram 6 - waitrand 3 4 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 5 - waitrand 2 3 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - waitrand 2 3 - goto HydrithDenIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 097 Mutath Spire (zerg\spire.grp) -.headerstart -IsId 58 -Type 20 -Init MutathSpireInit -Death MutathSpireDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt MutathSpireAlmostBuilt -Built MutathSpireBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking MutathSpireIsWorking -WorkingToIdle MutathSpireWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MutathSpireInit: - imgul 98 0 0 # Spire Shadow (zerg\zspShad.grp) - playfram 0x00 - goto MutathSpireWorkingToIdle - -MutathSpireWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 4 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto MutathSpireWorkingToIdle - -MutathSpireDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -MutathSpireAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -MutathSpireBuilt: - playfram 0x00 - wait 2 - goto MutathSpireWorkingToIdle - -MutathSpireIsWorking: - playfram 2 - wait 2 - playfram 3 - wait 3 - playfram 4 - wait 4 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - waitrand 2 3 - goto MutathSpireIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 099 Spraith Cesiant (zerg\SCesiant.grp) -.headerstart -IsId 59 -Type 20 -Init SpraithCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit SpraithCesiantAirAttkInit -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt SpraithCesiantAirAttkInit -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle SpraithCesiantAirAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt SpraithCesiantAlmostBuilt -Built SpraithCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking SpraithCesiantBuilt -WorkingToIdle SpraithCesiantBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpraithCesiantInit: - imgul 100 0 0 # Spraith Cesiant Shadow (zerg\zscShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -SpraithCesiantAirAttkInit: - playfram 4 - wait 1 - playfram 5 - attackwith 2 - playsndbtwn 2155 2157 # Spraith Cesiant weaponfire 01, 02, 03 - wait 2 - playfram 6 - wait 1 - playfram 7 - wait 2 - gotorepeatattk - ignorerest - goto SpraithCesiantAirAttkToIdle - -SpraithCesiantAirAttkToIdle: - playfram 4 - wait 2 - goto SpraithCesiantBuilt - -SpraithCesiantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 -SpraithCesiantBuilt: - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 0x00 - wait 2 - goto SpraithCesiantBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 101 Infested Ministry Overlay (zerg\Infest03.grp) -# 1487 Infested Overlay (Small) (cm\zerg\infested-small.grp) -# 1488 Infested Overlay (Medium) (cm\zerg\infested-medium.grp) -# 1489 Infested Overlay (Large) (cm\zerg\infested-large.grp) -.headerstart -IsId 60 -Type 1 -Init InfestedOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -InfestedOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto InfestedOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 105 Zerg Construction (Small) (zerg\ZBuild.grp) -.headerstart -IsId 61 -Type 15 -Init ZergConstruction_Small_Init -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergConstruction_Small_SpecialState1 -SpecialState2 ZergConstruction_Small_SpecialState1 -AlmostBuilt ZergConstruction_Small_AlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ZergConstruction_Small_Init: - imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -ZergConstruction_Small_SpecialState1: - 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 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - goto ZergConstruction_Small_SpecialState1 - -ZergConstruction_Small_AlmostBuilt: - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 104 Zerg Construction (Medium) (zerg\ZBuild.grp) -.headerstart -IsId 62 -Type 15 -Init ZergConstruction_Medium_Init -Death ZergConstruction_Medium_Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergConstruction_Medium_SpecialState1 -SpecialState2 ZergConstruction_Medium_SpecialState1 -AlmostBuilt ZergConstruction_Medium_AlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ZergConstruction_Medium_Init: - imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -ZergConstruction_Medium_Local00: - 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 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - goto ZergConstruction_Medium_Local00 - -ZergConstruction_Medium_Death: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -ZergConstruction_Medium_SpecialState1: - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 0x11 - wait 2 - playfram 16 - wait 2 - playfram 15 - wait 2 - playfram 14 - wait 2 - goto ZergConstruction_Medium_SpecialState1 - -ZergConstruction_Medium_AlmostBuilt: - sigorder 32 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 103 Zerg Building Morph (zerg\ZBuild.grp) -.headerstart -IsId 63 -Type 15 -Init ZergBuildingMorphInit -Death OvermindRemnantsDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergBuildingMorphSpecialState1 -SpecialState2 ZergBuildingMorphSpecialState2 -AlmostBuilt ZergBuildingMorphAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ZergBuildingMorphInit: - imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -ZergBuildingMorphLocal00: - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - goto ZergBuildingMorphLocal00 - -ZergBuildingMorphSpecialState1: - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 0x11 - wait 2 - playfram 16 - wait 2 - playfram 15 - wait 2 - playfram 14 - wait 2 - goto ZergBuildingMorphSpecialState1 - -ZergBuildingMorphSpecialState2: - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - playfram 27 - wait 2 - playfram 26 - wait 2 - playfram 25 - wait 2 - playfram 24 - wait 2 - playfram 23 - wait 2 - goto ZergBuildingMorphSpecialState2 - -ZergBuildingMorphAlmostBuilt: - playfram 28 - wait 2 - playfram 29 - wait 2 - playfram 30 - wait 2 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 102 Zerg Construction (Large) (zerg\ZBuild.grp) -.headerstart -IsId 64 -Type 15 -Init ZergConstruction_Large_Init -Death ZergConstruction_Large_Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergBuildingMorphSpecialState2 -SpecialState2 ZergBuildingMorphSpecialState2 -AlmostBuilt ZergBuildingMorphAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ZergConstruction_Large_Init: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto ZergBuildingMorphSpecialState2 - -ZergConstruction_Large_Death: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - sprol 185 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 107 Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -# 108 Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -# 109 Zerg Building Spawn (Large) (zerg\zSpawn03.grp) -.headerstart -IsId 65 -Type 1 -Init ZergBuildingSpawnInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergBuildingSpawnInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 218 Minotaur (terran\BattleCr.grp) -.headerstart -IsId 66 -Type 12 -Init MinotaurInit -Death MinotaurDeath -GndAttkInit MinotaurGndAttkInit -AirAttkInit MinotaurAirAttkInit -Unused1 [NONE] -GndAttkRpt MinotaurGndAttkInit -AirAttkRpt MinotaurAirAttkInit -CastSpell MinotaurCastSpell -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle ScourgeLocal00 -Unused2 [NONE] -Walking MinotaurWalking -WalkingToIdle MinotaurWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MinotaurInit: - imgul 219 0 42 # Minotaur Shadow (terran\BattleCr.grp) - playfram 0x00 - goto ScourgeLocal00 - -MinotaurDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 42 # Terran Building Rubble Small - wait 1 - end - -MinotaurGndAttkInit: - imgol 446 0 0 # Minotaur Attack Overlay (thingy\elbBat.grp) - goto MinotaurLocal00 - -MinotaurLocal00: - wait 1 - attackwith 1 - playsndbtwn 1302 1306 # Minotaur weapon fire 01, 02, 03, 04, 05 - gotorepeatattk - goto ScourgeLocal00 - -MinotaurAirAttkInit: - imgol 446 0 0 # Minotaur Attack Overlay (thingy\elbBat.grp) - goto MinotaurLocal01 - -MinotaurLocal01: - wait 1 - attackwith 2 - playsndbtwn 1302 1306 # Minotaur weapon fire 01, 02, 03, 04, 05 - gotorepeatattk - goto ScourgeLocal00 - -MinotaurCastSpell: - imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) - goto ScourgeLocal00 - -MinotaurWalking: - imgol 220 0 0 # Minotaur Engines (thingy\tbaGlow.grp) - goto ScourgeLocal00 - -MinotaurWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto MinotaurWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 221 Civilian (neutral\civilian.grp) -.headerstart -IsId 67 -Type 12 -Init CivilianInit -Death CivilianDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking CivilianWalking -WalkingToIdle CivilianWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CivilianInit: - imgul 222 0 0 # Civilian Shadow (neutral\nciShad.grp) -CivilianWalkingToIdle: - playfram 0x77 -CivilianLocal00: - wait 62 - randcondjmp 128 CivilianLocal01 - goto CivilianLocal00 - -CivilianLocal01: - turnrand 3 - goto CivilianWalkingToIdle - -CivilianDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - imgol 242 0 0 # Marine Death (terran\marine.grp) - wait 1 - end - -CivilianWalking: - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - goto CivilianWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 223 Trojan (terran\dropship.grp) -.headerstart -IsId 68 -Type 12 -Init TrojanInit -Death TrojanDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking TrojanWalking -WalkingToIdle OvilethLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TrojanInit: - imgul 224 0 42 # Trojan Shadow (terran\dropship.grp) - playfram 0x00 - goto OvilethLocal00 - -TrojanDeath: - playsnd 210 # Terran\DROPSHIP\TDrDth00.wav - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 920 0 42 # Trojan remains - wait 1 - end - -TrojanWalking: - setvertpos 0 - imgol 225 0 5 # Trojan Engines (thingy\tdrGlow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 226 Harakan (terran\firebat.grp) -.headerstart -IsId 69 -Type 12 -Init HarakanInit -Death HarakanDeath -GndAttkInit HarakanGndAttkInit -AirAttkInit [NONE] -Unused1 HarakanUnused1 -GndAttkRpt HarakanGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle HarakanGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking HarakanWalking -WalkingToIdle HarakanWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HarakanInit: - imgul 227 0 0 # Harakan Shadow (terran\tfbShad.grp) -HarakanWalkingToIdle: - playfram 0x40 -HarakanLocal00: - wait 63 - randcondjmp 25 HarakanLocal01 - randcondjmp 128 HarakanLocal02 - goto HarakanLocal00 - -HarakanLocal01: - playfram 0x00 - wait 1 - randcondjmp 192 HarakanLocal03 - 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 HarakanWalkingToIdle - -HarakanLocal03: - wait 13 - goto HarakanWalkingToIdle - -HarakanLocal02: - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - turnrand 3 - wait 1 - playfram 0x60 - wait 1 - goto HarakanWalkingToIdle - -HarakanDeath: - playsndbtwn 296 298 # Terran\Firebat\TFBDth00.WAV | Terran\Firebat\TFBDth02.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - setfldirect 0 -# playfram 170 - wait 2 -# playfram 171 - wait 2 -# playfram 172 - wait 2 -# playfram 173 - wait 2 -# playfram 174 -# wait 2 -# playfram 175 -# wait 2 -# playfram 176 -# wait 2 -# playfram 177 -# wait 2 - lowsprul 615 0 0 # Harakan Remnants (cm\terran\harakan-remnants.grp) - wait 1 - end - -HarakanUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1163 1165 - sprol 742 0 0 # Explosion Small Reversed -# playfram 176 - wait 2 -# playfram 175 - wait 2 -# playfram 174 - wait 2 -# playfram 173 - wait 2 -# playfram 172 - wait 2 -# playfram 171 - wait 2 -# playfram 170 - wait 2 - setfldirect 12 - nobrkcodeend - goto HarakanWalkingToIdle - -HarakanGndAttkInit: - playfram 0x00 -HarakanGndAttkRpt: - wait 1 - nobrkcodestart - imgol 421 0 0 # FlameThrower (thingy\flamer.grp) - playfram 0x20 - attkshiftproj 24 - sigorder 32 - wait 1 - attkshiftproj 52 - sigorder 32 - wait 1 - attkshiftproj 80 - sigorder 32 - wait 5 - playfram 0x00 - wait 2 - ignorerest -HarakanGndAttkToIdle: - goto HarakanWalkingToIdle - -HarakanWalking: - 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 0x40 - goto HarakanWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 228 Eidolon (terran\ghost.grp) -.headerstart -IsId 70 -Type 13 -Init EidolonInit -Death EidolonDeath -GndAttkInit EidolonGndAttkInit -AirAttkInit EidolonGndAttkInit -Unused1 EidolonUnused1 -GndAttkRpt EidolonGndAttkRpt -AirAttkRpt EidolonGndAttkRpt -CastSpell EidolonCastSpell -GndAttkToIdle EidolonGndAttkToIdle -AirAttkToIdle EidolonGndAttkToIdle -Unused2 [NONE] -Walking EidolonWalking -WalkingToIdle EidolonWalkingToIdle -SpecialState1 EidolonSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -EidolonInit: - imgul 229 0 0 # Eidolon Shadow (terran\tghShad.grp) -EidolonWalkingToIdle: - playfram 0x33 -EidolonLocal00: - wait 63 - randcondjmp 25 EidolonLocal01 - randcondjmp 128 EidolonLocal02 - goto EidolonLocal00 - -EidolonLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 EidolonLocal03 - 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 EidolonLocal04 - -EidolonLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto EidolonWalkingToIdle - -EidolonLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto EidolonWalkingToIdle - -EidolonLocal02: - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - turnrand 3 - wait 1 - playfram 0x44 - wait 1 - goto EidolonWalkingToIdle - -EidolonDeath: - playsnd 238 # Terran\GHOST\TGhDth00.wav - goto EidolonDeathInit - -EidolonUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1166 # Eidolon revive 01 - 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 EidolonWalkingToIdle - -EidolonGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -EidolonGndAttkRpt: - wait 1 - nobrkcodestart - attack - playfram 0xcc - wait 1 - playfram 0x22 - nobrkcodeend - gotorepeatattk - ignorerest -EidolonGndAttkToIdle: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto EidolonWalkingToIdle - -EidolonCastSpell: - nobrkcodestart - wait 1 - playsnd 240 # Terran\GHOST\TGhLkd00.wav - castspell - playfram 0xcc - wait 2 - playfram 0x22 - nobrkcodeend - gotorepeatattk - sigorder 2 - goto EidolonGndAttkToIdle - -EidolonWalking: - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0x33 - goto EidolonWalking - -EidolonSpecialState1: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 231 Eidolon Death (terran\ghost.grp) -.headerstart -IsId 72 -Type 1 -Init EidolonDeathInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -EidolonDeathInit: - setfldirect 0 - playfram 0xdd - 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 - lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 232 Nuke Beam (thingy\NukeBeam.grp) -.headerstart -IsId 73 -Type 12 -Init NukeBeamInit -Death NukeBeamDeath -GndAttkInit NukeBeamDeath -AirAttkInit NukeBeamDeath -Unused1 [NONE] -GndAttkRpt NukeBeamDeath -AirAttkRpt NukeBeamDeath -CastSpell [NONE] -GndAttkToIdle NukeBeamDeath -AirAttkToIdle NukeBeamDeath -Unused2 [NONE] -Walking NukeBeamDeath -WalkingToIdle NukeBeamDeath -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NukeBeamInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - goto NukeBeamInit - -NukeBeamDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 233 Nuke Target Dot (thingy\NukeTarg.grp) -.headerstart -IsId 74 -Type 1 -Init NukeTargetDotInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -NukeTargetDotInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto NukeTargetDotInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 234 Goliath Base (terran\goliath.grp) -.headerstart -IsId 75 -Type 12 -Init Goliath_Base_Init -Death Goliath_Base_Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 Goliath_Base_Unused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Goliath_Base_Walking -WalkingToIdle Goliath_Base_WalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Goliath_Base_Init: - imgul 236 0 0 # Goliath Shadow (terran\tgoShad.grp) -Goliath_Base_WalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -Goliath_Base_Death: - playsnd 2820 # Goliath death 01 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 817 0 0 # Goliath Remains - end - -Goliath_Base_Unused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 742 0 0 - wait 12 - setfldirect 13 - nobrkcodeend - goto Goliath_Base_WalkingToIdle - -Goliath_Base_Walking: - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - 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 Goliath_Base_Walking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 235 Goliath Turret (terran\goliathT.grp) -.headerstart -IsId 76 -Type 12 -Init Goliath_Turret_Init -Death Generic_Wait1End -GndAttkInit Goliath_Turret_GndAttkInit -AirAttkInit Goliath_Turret_AirAttkInit -Unused1 [NONE] -GndAttkRpt Goliath_Turret_GndAttkRpt -AirAttkRpt Goliath_Turret_AirAttkInit -CastSpell [NONE] -GndAttkToIdle Goliath_Turret_Init -AirAttkToIdle Goliath_Turret_Init -Unused2 [NONE] -Walking Goliath_Turret_Walking -WalkingToIdle Goliath_Turret_Init -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Goliath_Turret_Init: - playfram 0x00 - goto ScourgeLocal00 - -Goliath_Turret_GndAttkInit: - playsndbtwn 3201 3203 # Goliath windup 01, 02, 03 - wait 5 -Goliath_Turret_GndAttkRpt: - wait 1 - nobrkcodestart - playfram 0xdd - playsnd 70 # Bullet\TGoFir00.wav - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto Goliath_Turret_Init - -Goliath_Turret_AirAttkInit: - wait 1 - attackwith 2 - playsndbtwn 1293 1294 # Goliath air weapon fire 01, 02 - gotorepeatattk - goto Goliath_Turret_Init - -Goliath_Turret_Walking: - move 0 - wait 1 - playfram 0x99 - move 0 - wait 1 - playfram 0xaa - move 0 - wait 1 - playfram 0xbb - move 0 - wait 1 - playfram 0xcc - move 0 - wait 1 - playfram 0x11 - move 0 - wait 1 - playfram 0x22 - move 0 - wait 1 - playfram 0x33 - move 0 - wait 1 - playfram 0x44 - move 0 - wait 1 - playfram 0x55 - move 0 - wait 1 - playfram 0x66 - move 0 - wait 1 - playfram 0x77 - move 0 - wait 1 - playfram 0x88 - goto Goliath_Turret_Walking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 237 Sarah Kerrigan (terran\ughost.grp) -# 1615 Silvertongue (cm\terran\silvertongue.grp) -.headerstart -IsId 77 -Type 13 -Init SarahKerriganInit -Death SarahKerriganDeath -GndAttkInit SarahKerriganGndAttkInit -AirAttkInit SarahKerriganGndAttkInit -Unused1 [NONE] -GndAttkRpt SarahKerriganGndAttkRpt -AirAttkRpt SarahKerriganGndAttkRpt -CastSpell SarahKerriganCastSpell -GndAttkToIdle SarahKerriganGndAttkToIdle -AirAttkToIdle SarahKerriganGndAttkToIdle -Unused2 [NONE] -Walking SarahKerriganWalking -WalkingToIdle SarahKerriganWalkingToIdle -SpecialState1 SarahKerriganSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -SarahKerriganInit: - imgul 238 0 0 # Sarah Kerrigan Shadow (terran\ughShad.grp) -SarahKerriganWalkingToIdle: - playfram 0x33 -SarahKerriganLocal00: - wait 63 - randcondjmp 25 SarahKerriganLocal01 - randcondjmp 128 SarahKerriganLocal02 - goto SarahKerriganLocal00 - -SarahKerriganLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 SarahKerriganLocal03 - 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 SarahKerriganLocal04 - -SarahKerriganLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto SarahKerriganWalkingToIdle - -SarahKerriganLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto SarahKerriganWalkingToIdle - -SarahKerriganLocal02: - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - turnrand 3 - wait 1 - playfram 0x44 - wait 1 - goto SarahKerriganWalkingToIdle - -SarahKerriganDeath: - playsnd 470 # Terran\KERRIGAN\UKeDth00.wav - imgol 231 0 0 # Eidolon Death (terran\ghost.grp) - wait 1 - end - -SarahKerriganGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -SarahKerriganGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2479 2483 # Silvertongue weaponfire 01 ... 05 - attack - playfram 0xcc - wait 1 - playfram 0x22 - nobrkcodeend - gotorepeatattk - ignorerest -SarahKerriganGndAttkToIdle: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto SarahKerriganWalkingToIdle - -SarahKerriganCastSpell: - nobrkcodestart - wait 1 - playsnd 240 # Terran\GHOST\TGhLkd00.wav - castspell - playfram 0xcc - wait 2 - playfram 0x22 - nobrkcodeend - gotorepeatattk - sigorder 2 - goto SarahKerriganGndAttkToIdle - -SarahKerriganWalking: - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0x33 - goto SarahKerriganWalking - -SarahKerriganSpecialState1: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 239 Maverick (terran\marine.grp) -.headerstart -IsId 78 -Type 12 -Init MaverickInit -Death MaverickDeath -GndAttkInit MaverickGndAttkInit -AirAttkInit MaverickGndAttkInit -Unused1 MaverickUnused1 -GndAttkRpt MaverickGndAttkRpt -AirAttkRpt MaverickGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MaverickGndAttkToIdle -AirAttkToIdle MaverickGndAttkToIdle -Unused2 [NONE] -Walking MaverickWalking -WalkingToIdle MaverickWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MaverickInit: - imgul 240 0 0 # Maverick Shadow (cm\terran\Maverick-shadow.grp) -MaverickWalkingToIdle: - playfram 0x44 -MaverickLocal00: - wait 63 - randcondjmp 25 MaverickLocal01 - randcondjmp 128 MaverickLocal02 - goto MaverickLocal00 - -MaverickLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 MaverickLocal03 - 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 MaverickLocal04 - -MaverickLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto MaverickWalkingToIdle - -MaverickLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto MaverickWalkingToIdle - -MaverickLocal02: - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - turnrand 3 - wait 1 - playfram 0x55 - wait 1 - goto MaverickWalkingToIdle - -MaverickDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - setfldirect 0 - 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 - lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) - wait 1 - end - -MaverickUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1161 1162 - 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 MaverickWalkingToIdle - -MaverickGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -MaverickGndAttkRpt: - wait 1 - nobrkcodestart - attackwith 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -MaverickGndAttkToIdle: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto MaverickWalkingToIdle - -MaverickWalking: - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0x44 - goto MaverickWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 241 Maverick Remnants (terran\tmaDeath.grp) -# 1234 Harakan Remnants (cm\terran\harakan-remnants.grp) -# 1474 Izirokor Remnants (cm\zerg\izirokor-corpse.grp) -.headerstart -IsId 79 -Type 1 -Init GenericRemnantsThreeInit -Death GenericRemnantsThreeDeath -.headerend -# ----------------------------------------------------------------------------- # - -GenericRemnantsThreeInit: - playfram 0x00 - wait 239 -GenericRemnantsThreeDeath: - playfram 1 - wait 255 - wait 24 - playfram 2 - wait 255 - wait 24 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 242 Maverick Death (terran\marine.grp) -.headerstart -IsId 80 -Type 1 -Init MaverickDeathInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MaverickDeathInit: - setfldirect 0 - playfram 0xdd - 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 - lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 246 Scanner Sweep (terran\marine.grp) -.headerstart -IsId 81 -Type 1 -Init ScannerSweepInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ScannerSweepInit: - playsnd 388 # Terran\bldg\tcsSca00.WAV - sprol 380 0 0 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 6 - sprol 380 32 32 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 2 - sprol 380 48 5 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 5 - sprol 380 32 -32 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 2 - sprol 380 -5 -48 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 2 - sprol 380 -32 -32 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 5 - sprol 380 -48 -2 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 3 - sprol 380 -32 32 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 5 - sprol 380 3 48 # Scanner Sweep Hit (thingy\eveCast.grp) - wait 63 - wait 63 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 243 Wraith (terran\wraith.grp) -.headerstart -IsId 82 -Type 12 -Init WraithInit -Death WraithDeath -GndAttkInit WraithGndAttkInit -AirAttkInit WraithGndAttkInit -Unused1 [NONE] -GndAttkRpt WraithGndAttkInit -AirAttkRpt WraithGndAttkInit -CastSpell [NONE] -GndAttkToIdle WraithGndAttkToIdle -AirAttkToIdle WraithGndAttkToIdle -Unused2 [NONE] -Walking WraithWalking -WalkingToIdle WraithGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WraithInit: - imgul 244 0 42 # Wraith Shadow (terran\wraith.grp) - playfram 0x00 - goto WraithGndAttkToIdle - -WraithGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto WraithGndAttkToIdle - -WraithDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 822 0 42 # Wraith Remains (cm\terran\wraith-remains.grp) - end - -WraithGndAttkInit: - nobrkcodestart - wait 1 - playfram 0x20 - attackwith 1 - attackwith 1 - playsnd 74 # Bullet\TPhFi100.wav - wait 1 - playfram 0x00 - gotorepeatattk - nobrkcodeend - goto ScourgeLocal00 - -WraithWalking: - setvertpos 0 - imgol 245 0 0 # Wraith Engines (terran\wraith-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 245 Wraith Engines (thingy\tphGlow.grp) -.headerstart -IsId 83 -Type 12 -Init WraithAfterburnersInit -Death Generic_Wait1End -GndAttkInit Generic_Wait1End -AirAttkInit Generic_Wait1End -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle Generic_Wait1End -AirAttkToIdle Generic_Wait1End -Unused2 [NONE] -Walking WraithAfterburnersInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WraithAfterburnersInit: - wait 1 - engframe 0 - wait 1 - engframe 17 - goto WraithAfterburnersInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 247 Mason (terran\scv.grp) -.headerstart -IsId 84 -Type 15 -Init MasonInit -Death MasonDeath -GndAttkInit MasonGndAttkInit -AirAttkInit [NONE] -Unused1 MasonUnused1 -GndAttkRpt MasonGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle MasonGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking MasonWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt MasonAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -MasonInit: - imgul 248 0 7 # Mason Shadow (terran\scv.grp) - goto InfestedTerranWalkingToIdle - -MasonDeath: - playsnd 369 # Terran\SCV\TSCDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 2 - lowsprul 809 0 0 # Mason Remnants (cm\terran\mason-remnants.grp) - wait 1 - end - -MasonUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1168 - wait 8 - sprol 742 0 0 # Small Explosion Reversed - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto InfestedTerranWalkingToIdle - -MasonGndAttkInit: - setvertpos 0 - wait 1 - playfram 0x22 - attackwith 1 - playsndbtwn 35 39 # terran\SCV\EDrRep00.wav | terran\SCV\EDrRep04.wav - wait 1 - playfram 0x11 - wait 1 - gotorepeatattk - goto ScourgeLocal00 - -MasonGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -MasonWalking: - playfram 0x00 - imgol 249 0 0 # Mason Glow (thingy\tscGlow.grp) - setvertpos 0 - goto MasonWalkingLoop - -MasonWalkingLoop: - move 4 - wait 1 - goto MasonWalkingLoop - -MasonAlmostBuilt: - setvertpos 0 - wait 1 -MasonLocal00: - playfram 0x22 - useweapon 14 # Fusion Cutter (Harvest) (Fusion Cutter) - sigorder 32 - wait 1 - playfram 0x11 - wait 12 - goto MasonLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 256 Vulture (terran\vulture.grp) -.headerstart -IsId 86 -Type 13 -Init VultureInit -Death VultureDeath -GndAttkInit VultureGndAttkInit -AirAttkInit [NONE] -Unused1 VultureUnused1 -GndAttkRpt VultureGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle VultureGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking VultureWalking -WalkingToIdle VultureGndAttkToIdle -SpecialState1 VultureSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -VultureInit: - imgul 257 0 7 # Vulture Shadow (terran\vulture.grp) - playfram 0x00 - goto VultureGndAttkToIdle - -VultureGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto VultureGndAttkToIdle - -VultureDeath: - playsnd 353 # Terran\VULTURE\TVuDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 813 0 0 # Vulture Remains - end - -VultureUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1699 # Vulture revive 01 - sprol 742 0 0 - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto VultureGndAttkToIdle - -VultureGndAttkInit: - wait 1 - attackwith 1 - attackwith 1 - playsnd 106 # Bullet\tvuFir00.wav - gotorepeatattk - goto VultureGndAttkToIdle - -VultureWalking: - playfram 0x00 - setvertpos 0 - imgol 1555 0 0 # Vulture Engines - goto ScourgeLocal00 - -VultureSpecialState1: - attackwith 1 - sigorder 1 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 258 Spider Mine (terran\Spider.grp) -.headerstart -IsId 87 -Type 26 -Init SpiderMineInit -Death SpiderMineDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 SpiderMineUnused2 -Walking SpiderMineWalking -WalkingToIdle SpiderMineWalkingToIdle -SpecialState1 SpiderMineSpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow SpiderMineBurrow -UnBurrow SpiderMineUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpiderMineInit: - imgul 259 0 0 # Spider Mine Shadow (terran\tsmShad.grp) -SpiderMineWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -SpiderMineDeath: - 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 - -SpiderMineWalking: - playsnd 355 # Terran\VULTURE\TVuMin00.WAV - move 16 - wait 1 - playfram 0x00 - move 16 - wait 1 - playfram 1 - move 16 - wait 1 - playfram 2 - move 16 - wait 1 - playfram 3 - move 16 - wait 1 - playfram 4 - move 16 - wait 1 - playfram 5 - move 16 - wait 1 - playfram 6 - move 16 - wait 1 - playfram 7 - goto SpiderMineWalking - -SpiderMineSpecialState1: - castspell - sigorder 1 - playsnd 10 # Misc\Explo1.wav - imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) - goto ScourgeLocal00 - -SpiderMineUnused2: - fireweapon 89 - sigorder 1 - playsnd 10 # Misc\Explo1.wav - imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) - goto ScourgeLocal00 - -SpiderMineBurrow: - 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 ScourgeLocal00 - -SpiderMineUnBurrow: - 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 SpiderMineWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 260 Seraph (Base) (terran\wessel.grp) -.headerstart -IsId 88 -Type 13 -Init SeraphBaseInit -Death SeraphBaseDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell SeraphBaseCastSpell -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 SeraphBaseSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -SeraphBaseInit: - imgol 261 0 0 # Seraph (Turret) (terran\wesselt.grp) - imgul 262 0 42 # Seraph Shadow (terran\tveShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -SeraphBaseDeath: - playsnd 348 # Terran\VESSEL\TVeDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -SeraphBaseCastSpell: - imgol 539 0 0 # Seraph Overlay (Part2) (thingy\tveGlowO.grp) - nobrkcodestart - wait 3 - castspell - nobrkcodeend - gotorepeatattk - sigorder 2 - goto ScourgeLocal00 - -SeraphBaseSpecialState1: - imgol 1230 0 0 # Seraph cast overlay (red) - wait 19 - goto SeraphBaseSpecialState1 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 261 Seraph (Turret) (terran\wesselt.grp) -.headerstart -IsId 89 -Type 12 -Init SeraphTurretInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell ScourgeLocal00 -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SeraphTurretInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 250 Phalanx (Tank) Base (terran\tank.grp) -.headerstart -IsId 90 -Type 12 -Init Phalanx_Tank_BaseInit -Death Phalanx_Tank_BaseDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Phalanx_Tank_BaseWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Phalanx_Tank_BaseInit: - wait 1 - imgul 252 0 0 # Phalanx (Tank) Base Shadow (terran\ttaShad.grp) - goto InfestedTerranWalkingToIdle - -Phalanx_Tank_BaseDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 923 0 0 # Phalanx (Tank) remains - wait 1 - end - -Phalanx_Tank_BaseWalking: - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - goto Phalanx_Tank_BaseWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 251 Phalanx (Tank) Turret (terran\tankt.grp) -.headerstart -IsId 91 -Type 13 -Init InfestedTerranWalkingToIdle -Death Generic_Wait1End -GndAttkInit Phalanx_Tank_TurretGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt Phalanx_Tank_TurretGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -Phalanx_Tank_TurretGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x11 - playsnd 68 # Bullet\TTaFir00.wav - imgol 536 0 0 # Phalanx (Tank) Turret Attack Overlay (thingy\ettFlash.grp) - wait 2 - attackwith 1 - playfram 0x22 - wait 2 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 253 Phalanx (Siege) Base (terran\stank.grp) -.headerstart -IsId 92 -Type 14 -Init Phalanx_Siege_BaseInit -Death Phalanx_Siege_BaseDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 Phalanx_Siege_BaseSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Phalanx_Siege_BaseInit: - playfram 0x00 - imgul 255 0 0 # Phalanx (Siege) Base Shadow (terran\tstShad.grp) - wait 1 - setflspeed 0 - playsnd 319 - wait 1 - 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 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xAA - wait 2 - playfram 0xBB - wait 28 - sigorder 1 - goto ScourgeLocal00 - -Phalanx_Siege_BaseDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 924 0 0 # Phalanx (Siege) remains - wait 1 - end - -Phalanx_Siege_BaseSpecialState2: - wait 28 - playsnd 319 # Terran\TANK\TTaTra01.WAV - wait 3 - playfram 0xAA - wait 2 - playfram 0x99 - wait 2 - playfram 0x88 - wait 2 - playfram 0x77 - wait 2 - playfram 0x66 - wait 2 - playfram 0x55 - wait 2 - playfram 0x44 - wait 2 - playfram 0x33 - wait 2 - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - playfram 0x00 - wait 2 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 254 Phalanx (Siege) Turret (terran\stankt.grp) -.headerstart -IsId 93 -Type 14 -Init Phalanx_Siege_TurretInit -Death Generic_Wait1End -GndAttkInit Phalanx_Siege_TurretGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt Phalanx_Siege_TurretGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle ScourgeLocal00 -SpecialState1 ScourgeLocal00 -SpecialState2 Phalanx_Siege_TurretSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Phalanx_Siege_TurretInit: - playfram 0x44 - wait 1 - nobrkcodestart - wait 17 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - wait 8 - playsnd 318 # Terran\TANK\TTaTra00.WAV - wait 1 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xAA - wait 2 - playfram 0xBB - wait 2 - playfram 0xCC - wait 2 - playfram 0xDD - wait 2 - playfram 0xEE - wait 2 - playfram 0x00 - nobrkcodeend - goto ScourgeLocal00 - -Phalanx_Siege_TurretGndAttkInit: - wait 1 - nobrkcodestart - playsnd 96 # Bullet\TTaFi200.wav - imgoluselo 537 2 0 # Siege Tank(Siege) Turret Attack Overlay (thingy\esiFire.grp) - wait 2 - playfram 0x11 - attackwith 1 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x00 - nobrkcodeend - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -Phalanx_Siege_TurretSpecialState2: - playsnd 318 # Terran\TANK\TTaTra00.WAV - playfram 0xEE - wait 2 - playfram 0xDD - wait 2 - playfram 0xCC - wait 2 - playfram 0xBB - wait 2 - playfram 0xAA - wait 2 - playfram 0x99 - wait 2 - playfram 0x88 - wait 2 - playfram 0x77 - wait 17 - playfram 0x66 - wait 2 - playfram 0x55 - wait 2 - playfram 0x44 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 263 Fountainhead (terran\academy.grp) -.headerstart -IsId 94 -Type 20 -Init FountainheadInit -Death FountainheadDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt FountainheadAlmostBuilt -Built FountainheadBuilt -Landing FountainheadLanding -LiftOff FountainheadLanding -IsWorking FountainheadIsWorking -WorkingToIdle FountainheadWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FountainheadInit: - imgul 265 0 0 # Fountainhead Shadow (terran\tacShad.grp) -FountainheadBuilt: - playfram 0x00 - goto FountainheadLanding - -FountainheadDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) - wait 1 - end - -FountainheadAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -FountainheadLanding: -# imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) - goto ScourgeLocal00 - -FountainheadIsWorking: - playfram 2 - wait 1 - playfram 3 - waitrand 2 4 - playfram 2 - wait 2 - playfram 0x00 - waitrand 1 3 - goto FountainheadIsWorking - -FountainheadWorkingToIdle: - playfram 2 - wait 2 - goto FountainheadBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 264 Fountainhead Overlay (unused) (terran\FountainheadT.grp) -.headerstart -IsId 95 -Type 1 -Init FountainheadOverlayInit -Death FountainheadOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -FountainheadOverlayInit: - playfram 0x00 -FountainheadOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 266 Stockade (terran\TBarrack.grp) -.headerstart -IsId 96 -Type 24 -Init StockadeInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 StockadeSpecialState1 -SpecialState2 [NONE] -AlmostBuilt StockadeAlmostBuilt -Built StockadeBuilt -Landing StockadeLanding -LiftOff StockadeLiftOff -IsWorking StockadeIsWorking -WorkingToIdle StockadeBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable StockadeDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StockadeInit: - playfram 0x00 - imgul 267 0 0 # Stockade Shadow (terran\tbrShad.grp) - goto ScourgeLocal00 - -StockadeSpecialState1: - playfram 4 - goto ScourgeLocal00 - -StockadeAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -StockadeBuilt: - playfram 0x00 - goto ScourgeLocal00 - -StockadeLanding: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV - playfram 4 - wait 8 - playfram 3 - wait 8 - playfram 2 - wait 8 - playfram 5 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StockadeLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 5 - wait 8 - playfram 2 - wait 8 - playfram 3 - wait 8 - playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StockadeIsWorking: - playfram 7 - wait 4 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 4 - playfram 8 - wait 2 - playfram 7 - wait 2 - goto StockadeIsWorking - -StockadeDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 268 Atelier (terran\chemlab.grp) -.headerstart -IsId 97 -Type 20 -Init AtelierInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AtelierAlmostBuilt -Built AtelierBuilt -Landing AtelierLanding -LiftOff ScourgeLocal00 -IsWorking AtelierIsWorking -WorkingToIdle AtelierBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AtelierInit: - imgul 270 0 0 # Atelier Shadow (terran\tclShad.grp) -AtelierBuilt: - playfram 0x00 - goto ScourgeLocal00 - -AtelierDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath_Small - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) - wait 1 - end - -LiftedTerranStructureDeath_Small: - lowsprul 273 0 42 # Terran Building Rubble (Small) (thingy\RubbleS.grp) - wait 1 - end - -AtelierAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -AtelierLanding: -# imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) - goto ScourgeLocal00 - -AtelierIsWorking: - imgol 269 0 0 # Atelier Overlay (terran\chemlabT.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 269 Atelier Overlay (terran\chemlabT.grp) -.headerstart -IsId 98 -Type 24 -Init AtelierOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking AtelierOverlayInit -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AtelierOverlayInit: - playfram 0x00 - wait 3 - playfram 1 - wait 3 - playfram 2 - wait 3 - goto AtelierOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1758 Lodestone (cm\terran\lodestone.grp) -.headerstart -IsId 99 -Type 20 -Init LodestoneInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt LodestoneAlmostBuilt -Built LodestoneBuilt -Landing LodestoneLanding -LiftOff ScourgeLocal00 -IsWorking ScourgeLocal00 -WorkingToIdle LodestoneBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LodestoneInit: - playfram 0x00 - imgul 1761 0 0 # Lodestone Shadow (terran\tcsShad.grp) - goto ScourgeLocal00 - -LodestoneAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -LodestoneBuilt: - playfram 0x00 - goto ScourgeLocal00 - -LodestoneLanding: -# imgol 1759 0 0 # Lodestone Connector (terran\ComSatC.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 272 Lodestone Connector (terran\ComSatC.grp) -.headerstart -IsId 100 -Type 24 -Init LodestoneConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff LodestoneConnectorLiftOff -IsWorking LodestoneConnectorIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LodestoneConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 -LodestoneConnectorIsWorking: - playfram 3 - goto ScourgeLocal00 - -LodestoneConnectorLiftOff: - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 273 Lodestone Overlay (terran\ComSatT.grp) -.headerstart -IsId 101 -Type 24 -Init LodestoneOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing LodestoneOverlayLanding -LiftOff ScourgeLocal00 -IsWorking LodestoneOverlayIsWorking -WorkingToIdle LodestoneOverlayIsWorking -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LodestoneOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -LodestoneOverlayLanding: - wait 13 -LodestoneOverlayIsWorking: - 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 - goto LodestoneOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 275 Ministry (terran\control.grp) -.headerstart -IsId 102 -Type 20 -Init MinistryInit -Death MinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 MinistrySpecialState1 -SpecialState2 [NONE] -AlmostBuilt MinistryAlmostBuilt -Built MinistryBuilt -Landing MinistryLanding -LiftOff MinistryLiftOff -IsWorking MinistryIsWorking -WorkingToIdle MinistryWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MinistryInit: - imgul 277 0 0 # Ministry Shadow (terran\tccShad.grp) -MinistryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -MinistryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -MinistrySpecialState1: - playfram 4 - goto ScourgeLocal00 - -MinistryAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -MinistryLanding: - nobrkcodestart - wait 18 - playsnd 472 # Misc\Land.WAV - playfram 4 - wait 5 - playfram 3 - wait 5 - playfram 2 - wait 5 - playfram 5 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -MinistryLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 5 - wait 5 - playfram 2 - wait 5 - playfram 3 - wait 5 - playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -MinistryIsWorking: - playfram 6 - wait 4 - playfram 0x00 - wait 1 - playfram 6 - wait 1 - playfram 0x00 - wait 1 - playfram 6 - wait 3 - playfram 0x00 - wait 1 - playfram 6 - wait 3 - playfram 0x00 - wait 1 - goto MinistryIsWorking - -MinistryWorkingToIdle: - wait 1 - goto MinistryBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 276 Ministry Overlay (terran\controlT.grp) -.headerstart -IsId 103 -Type 1 -Init MinistryOverlayInit -Death MinistryOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -MinistryOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 -MinistryOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 299 Crashed Minotaur (neutral\Cbattle.grp) -.headerstart -IsId 104 -Type 20 -Init CrashedMinotaurInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built CrashedMinotaurBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CrashedMinotaurInit: - imgul 300 0 0 # Crashed Minotaur Shadow (neutral\cbaShad.grp) -CrashedMinotaurBuilt: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 278 Supply Depot (terran\depot.grp) -.headerstart -IsId 105 -Type 20 -Init SupplyDepotInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt SupplyDepotAlmostBuilt -Built SupplyDepotBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle SupplyDepotWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SupplyDepotInit: - imgul 280 0 0 # Supply Depot Shadow (terran\tdeShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -SupplyDepotAlmostBuilt: - playfram 12 - goto ScourgeLocal00 - -SupplyDepotBuilt: - goto SupplyDepotWorkingToIdle -SupplyDepotWorkingToIdle: - 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 SupplyDepotWorkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 279 Supply Depot Overlay (terran\DepotT.grp) -.headerstart -IsId 106 -Type 24 -Init SupplyDepotOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking SupplyDepotOverlayInit -WorkingToIdle SupplyDepotOverlayInit -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SupplyDepotOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto SupplyDepotOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 281 Commandment (terran\DryDocks.grp) -.headerstart -IsId 107 -Type 24 -Init CommandmentInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CommandmentAlmostBuilt -Built CommandmentBuilt -Landing CommandmentLanding -LiftOff ScourgeLocal00 -IsWorking CommandmentIsWorking -WorkingToIdle CommandmentBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable CommandmentDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CommandmentInit: - imgul 284 0 0 # Commandment Shadow (terran\tddShad.grp) -CommandmentBuilt: - playfram 0x00 - goto ScourgeLocal00 - -CommandmentAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -CommandmentLanding: - imgol 282 0 0 # Commandment Connector (terran\DryDockC.grp) - goto ScourgeLocal00 - -CommandmentIsWorking: - imgol 283 0 0 # Commandment Overlay (terran\DryDockT.grp) - goto ScourgeLocal00 - -CommandmentDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 282 Commandment Connector (terran\DryDockC.grp) -.headerstart -IsId 108 -Type 24 -Init CommandmentConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff CommandmentConnectorLiftOff -IsWorking CommandmentConnectorIsWorking -WorkingToIdle CommandmentConnectorIsWorking -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CommandmentConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -CommandmentConnectorIsWorking: - playfram 4 - goto ScourgeLocal00 - -CommandmentConnectorLiftOff: - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 283 Commandment Overlay (terran\DryDockT.grp) -.headerstart -IsId 109 -Type 24 -Init CommandmentOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking CommandmentOverlayIsWorking -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CommandmentOverlayInit: - playfram 0x00 -CommandmentOverlayIsWorking: - tmprmgraphicend - wait 5 - tmprmgraphicstart - wait 5 - goto CommandmentOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 285 Fulcrum (terran\factory.grp) -.headerstart -IsId 111 -Type 24 -Init FulcrumInit -Death FulcrumDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 FulcrumSpecialState1 -SpecialState2 [NONE] -AlmostBuilt FulcrumAlmostBuilt -Built FulcrumBuilt -Landing FulcrumLanding -LiftOff FulcrumLiftOff -IsWorking FulcrumIsWorking -WorkingToIdle FulcrumBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FulcrumInit: - playfram 0x00 - imgul 287 0 0 # Fulcrum shadow - goto ScourgeLocal00 - -FulcrumDeath: - playsnd 7 - imgol 334 0 0 # Explosion (Large) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath_Small - lowsprul 273 0 0 # Terran Building Rubble (small) - wait 1 - end - -FulcrumSpecialState1: - playfram 0x16 - goto ScourgeLocal00 - -FulcrumAlmostBuilt: - playfram 0x01 - goto ScourgeLocal00 - -FulcrumBuilt: - playfram 0x00 - goto ScourgeLocal00 - -FulcrumLanding: - nobrkcodestart - wait 12 - playfram 0x15 - wait 2 - playfram 0x14 - wait 2 - playfram 0x13 - wait 2 - playfram 0x12 - wait 2 - playfram 0x11 - wait 2 - playsnd 472 # Misc\Land.WAV - playfram 0x10 - wait 2 - playfram 0x0F - wait 2 - playfram 0x0E - wait 2 - playfram 0x0D - wait 2 - playfram 0x0C - wait 2 - playfram 0x0B - wait 2 - playfram 0x0A - wait 2 - playfram 0x09 - wait 2 - playfram 0x08 - wait 2 - sigorder 16 - nobrkcodeend - goto FulcrumBuilt - -FulcrumLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0x08 - wait 2 - playfram 0x09 - wait 2 - playfram 0x0A - wait 2 - playfram 0x0B - wait 2 - playfram 0x0C - wait 2 - playfram 0x0D - wait 2 - playfram 0x0E - wait 2 - playfram 0x0F - wait 2 - playfram 0x10 - wait 2 - playfram 0x11 - wait 2 - playfram 0x12 - wait 2 - playfram 0x13 - wait 2 - playfram 0x14 - wait 2 - playfram 0x15 - wait 2 - playfram 0x16 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -FulcrumIsWorking: - playfram 0x02 - wait 2 - playfram 0x03 - wait 2 - playfram 0x04 - wait 2 - playfram 0x05 - wait 2 - playfram 0x06 - wait 2 - playfram 0x07 - wait 2 - goto FulcrumIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 286 Factory Overlay (terran\factoryT.grp) -.headerstart -IsId 112 -Type 24 -Init FactoryOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Generic_Wait1End -WalkingToIdle Generic_Wait1End -SpecialState1 Generic_Wait1End -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking FactoryOverlayInit -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FactoryOverlayInit: - playfram 0x00 - wait 5 - playfram 1 - wait 5 - playfram 2 - wait 5 - goto FactoryOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 288 Covert Ops (terran\GeneLab.grp) -.headerstart -IsId 113 -Type 20 -Init CovertOpsInit -Death CovertOpsDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CovertOpsAlmostBuilt -Built CovertOpsBuilt -Landing CovertOpsLanding -LiftOff ScourgeLocal00 -IsWorking CovertOpsIsWorking -WorkingToIdle CovertOpsBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CovertOpsInit: - imgul 291 0 0 # Covert Ops Shadow (terran\tglShad.grp) -CovertOpsBuilt: - playfram 0x00 - goto ScourgeLocal00 - -CovertOpsDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp CovertOpsLocal00 - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) -CovertOpsLocal00: - wait 1 - end - -CovertOpsAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -CovertOpsLanding: - imgol 289 0 0 # Covert Ops Connector (terran\GeneLabC.grp) - goto ScourgeLocal00 - -CovertOpsIsWorking: - imgol 290 0 0 # Covert Ops Overlay (terran\GeneLabT.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 289 Covert Ops Connector (terran\GeneLabC.grp) -.headerstart -IsId 114 -Type 24 -Init CovertOpsConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff CovertOpsConnectorLiftOff -IsWorking CovertOpsConnectorIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CovertOpsConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -CovertOpsConnectorIsWorking: - playfram 4 - goto ScourgeLocal00 - -CovertOpsConnectorLiftOff: - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 290 Covert Ops Overlay (terran\GeneLabT.grp) -.headerstart -IsId 115 -Type 24 -Init CovertOpsOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking CovertOpsOverlayIsWorking -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CovertOpsOverlayInit: - playfram 0x00 -CovertOpsOverlayIsWorking: - tmprmgraphicend - wait 5 - tmprmgraphicstart - wait 5 - goto CovertOpsOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 293 Palladium (terran\machines.grp) -.headerstart -IsId 117 -Type 24 -Init MachineShopInit -Death MachineShopDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt MachineShopAlmostBuilt -Built MachineShopBuilt -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking MachineShopIsWorking -WorkingToIdle MachineShopWorkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MachineShopInit: - playfram 0x00 - imgul 295 0 0 - goto ScourgeLocal00 - -MachineShopDeath: - playsnd 7 - imgol 334 0 0 - wait 3 - liftoffcondjmp MachineShopLocal00 - lowsprul 273 0 0 # Terran Building Rubble (small) -MachineShopLocal00: - wait 1 - end - -MachineShopAlmostBuilt: - playfram 0x08 - goto ScourgeLocal00 - -MachineShopBuilt: - imgul 294 0 0 # Palladium Connector -MachineShopWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -MachineShopIsWorking: - playfram 0x00 - wait 1 - playfram 0x01 - wait 1 - playfram 0x02 - wait 1 - playfram 0x03 - wait 1 - playfram 0x04 - wait 1 - playfram 0x05 - wait 1 - playfram 0x06 - wait 1 - playfram 0x07 - wait 1 - goto MachineShopIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 294 Palladium Connector (terran\machineC.grp) -.headerstart -IsId 118 -Type 24 -Init MachineShopConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing MachineShopConnectorLanding -LiftOff MachineShopConnectorLiftOff -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MachineShopConnectorInit: - playfram 0x07 - goto ScourgeLocal00 - -MachineShopConnectorLanding: - playfram 0x06 - wait 1 - playfram 0x05 - wait 1 - playfram 0x04 - wait 1 - playfram 0x03 - wait 1 - playfram 0x02 - wait 1 - playfram 0x01 - wait 1 - playfram 0x00 - goto ScourgeLocal00 - -MachineShopConnectorLiftOff: - playfram 0x01 - wait 1 - playfram 0x02 - wait 1 - playfram 0x03 - wait 1 - playfram 0x04 - wait 1 - playfram 0x05 - wait 1 - playfram 0x06 - wait 1 - goto MachineShopConnectorInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 296 Watchdog (Base) (terran\missile.grp) -.headerstart -IsId 119 -Type 20 -Init Watchdog_Base_Init -Death AtelierDeath -GndAttkInit ScourgeLocal00 -AirAttkInit ScourgeLocal00 -Unused1 [NONE] -GndAttkRpt ScourgeLocal00 -AirAttkRpt ScourgeLocal00 -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle ScourgeLocal00 -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt Watchdog_Base_AlmostBuilt -Built Watchdog_Base_Built -Landing Watchdog_Base_Landing -LiftOff Watchdog_Base_LiftOff -IsWorking ScourgeLocal00 -WorkingToIdle Watchdog_Base_WorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Watchdog_Base_Init: - playfram 2 - imgul 298 0 0 # Watchdog (Base) Shadow (terran\tmiShad.grp) - goto ScourgeLocal00 - -Watchdog_Base_AlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -Watchdog_Base_LiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 3 - wait 1 -# playfram 5 - wait 8 -# playfram 2 - wait 8 -# playfram 3 - wait 8 -# playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -Watchdog_Base_Landing: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV -# playfram 4 - wait 8 -# playfram 3 - wait 8 -# playfram 2 - wait 8 -# playfram 5 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - playfram 2 - goto ScourgeLocal00 - -Watchdog_Base_Built: - imgol 297 0 0 # Watchdog (Turret) (terran\missileT.grp) -Watchdog_Base_WorkingToIdle: - playfram 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 297 Watchdog (Turret) (terran\missileT.grp) -.headerstart -IsId 120 -Type 24 -Init Watchdog_Turret_Init -Death Generic_Wait1End -GndAttkInit Watchdog_Turret_GndAttkInit -AirAttkInit Watchdog_Turret_GndAttkInit -Unused1 [NONE] -GndAttkRpt Watchdog_Turret_GndAttkInit -AirAttkRpt Watchdog_Turret_GndAttkInit -CastSpell [NONE] -GndAttkToIdle Watchdog_Turret_GndAttkToIdle -AirAttkToIdle Watchdog_Turret_GndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ScourgeLocal00 -Built Watchdog_Turret_Built -Landing Watchdog_Turret_Landing -LiftOff Watchdog_Turret_LiftOff -IsWorking Watchdog_Turret_Built -WorkingToIdle Watchdog_Turret_Built -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Watchdog_Turret_Init: - playfram 0x00 -Watchdog_Turret_Built: - wait 1 - turn1cwise - goto Watchdog_Turret_Built - -Watchdog_Turret_LiftOff: - nobrkcodestart - wait 1 - wait 8 - wait 8 - wait 8 - nobrkcodeend - goto ScourgeLocal00 - -Watchdog_Turret_Landing: - nobrkcodestart - wait 15 - wait 8 - wait 8 - wait 8 - wait 8 - nobrkcodeend - goto Watchdog_Turret_Built - -Watchdog_Turret_GndAttkInit: - wait 1 - attack - gotorepeatattk - sigorder 1 - wait 13 - ignorerest -Watchdog_Turret_GndAttkToIdle: - goto Watchdog_Turret_Built - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 301 Physics Lab (terran\physics.grp) -.headerstart -IsId 121 -Type 20 -Init PhysicsLabInit -Death PhysicsLabDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt PhysicsLabAlmostBuilt -Built PhysicsLabBuilt -Landing PhysicsLabLanding -LiftOff PhysicsLabBuilt -IsWorking PhysicsLabIsWorking -WorkingToIdle PhysicsLabBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhysicsLabInit: - imgul 303 0 0 # Physics Lab Shadow (terran\tplShad.grp) -PhysicsLabBuilt: - playfram 0x00 - goto ScourgeLocal00 - -PhysicsLabDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp PhysicsLabLocal01 - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) -PhysicsLabLocal01: - wait 1 - end - -PhysicsLabAlmostBuilt: - playfram 6 - goto ScourgeLocal00 - -PhysicsLabLanding: - imgol 302 0 0 # Physics Lab Connector (terran\physicsC.grp) - goto ScourgeLocal00 - -PhysicsLabIsWorking: - playfram 1 - wait 3 - playfram 2 - wait 3 - playfram 3 - wait 3 - playfram 4 - wait 3 - playfram 0x00 - wait 3 - goto PhysicsLabIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 302 Physics Lab Connector (terran\physicsC.grp) -.headerstart -IsId 122 -Type 24 -Init PhysicsLabConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff PhysicsLabConnectorLiftOff -IsWorking PhysicsLabConnectorIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhysicsLabConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -PhysicsLabConnectorIsWorking: - playfram 4 - goto ScourgeLocal00 - -PhysicsLabConnectorLiftOff: - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 304 Anchor (terran\pillbox.grp) -.headerstart -IsId 123 -Type 24 -Init AnchorInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AnchorAlmostBuilt -Built AnchorBuilt -Landing AnchorLanding -LiftOff AnchorLiftOff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnchorInit: - imgul 305 0 0 # Anchor Shadow (terran\tpbShad.grp) -AnchorBuilt: - playfram 0x00 - goto ScourgeLocal00 - -AnchorLiftOff: - nobrkcodestart - playsnd 471 - playfram 0x02 - wait 1 - playfram 0x03 - wait 1 - playfram 0x04 - wait 1 - playfram 0x05 - wait 1 - playfram 0x06 - wait 2 - playfram 0x07 - wait 2 - playfram 0x08 - wait 2 - playfram 0x09 - wait 2 - playfram 0x0A - wait 2 - playfram 0x0B - wait 2 - playfram 0x0C - wait 2 - playfram 0x0D - wait 2 - playfram 0x0E - wait 2 - playfram 0x0F - wait 2 - playfram 0x10 - wait 2 - playfram 0x11 - wait 2 - playfram 0x12 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -AnchorLanding: - nobrkcodestart - wait 12 - playfram 0x11 - wait 2 - playfram 0x10 - wait 2 - playfram 0x0F - wait 2 - playfram 0x0E - wait 2 - playfram 0x0D - wait 2 - playsnd 472 - playfram 0x0C - wait 2 - playfram 0x0B - wait 2 - playfram 0x0A - wait 2 - playfram 0x09 - wait 2 - playfram 0x08 - wait 2 - playfram 0x07 - wait 2 - playfram 0x06 - wait 2 - playfram 0x05 - wait 1 - playfram 0x04 - wait 1 - playfram 0x03 - wait 1 - playfram 0x02 - wait 1 - sigorder 16 - nobrkcodeend - goto AnchorBuilt - -AnchorAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 306 Anchor Overlay (terran\PillBoxT.grp) -.headerstart -IsId 124 -Type 0 -Init AnchorOverlayInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnchorOverlayInit: - playfram 0x00 - wait 1 - tmprmgraphicstart - wait 1 - tmprmgraphicend - wait 1 - tmprmgraphicstart - wait 1 - tmprmgraphicend - wait 1 - tmprmgraphicstart - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 307 Reservoir (terran\refinery.grp) -.headerstart -IsId 125 -Type 20 -Init ReservoirInit -Death ReservoirDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ReservoirSpecialState1 -SpecialState2 ReservoirSpecialState2 -AlmostBuilt ReservoirAlmostBuilt -Built ReservoirBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ReservoirBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ReservoirInit: - imgul 308 0 0 # Reservoir Shadow (terran\treShad.grp) - playfram 1 -ReservoirLocal00: - 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 ReservoirLocal00 - -ReservoirDeath: - playsnd 7 # Misc\ExploLrg.wav - sprol 272 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - end - -ReservoirSpecialState1: - playfram 2 - goto ReservoirLocal00 - -ReservoirSpecialState2: - playfram 3 - goto ReservoirLocal00 - -ReservoirAlmostBuilt: - playfram 4 - goto ReservoirLocal00 - -ReservoirBuilt: - playfram 0x00 - wait 5 -ReservoirLocal01: - creategasoverlays 0 - wait 20 - waitrand 5 100 - goto ReservoirLocal01 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 309 Daedala (terran\research.grp) -.headerstart -IsId 126 -Type 20 -Init DaedalaInit -Death MinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 DaedalaSpecialState1 -SpecialState2 [NONE] -AlmostBuilt DaedalaAlmostBuilt -Built DaedalaBuilt -Landing DaedalaLanding -LiftOff DaedalaLiftOff -IsWorking DaedalaIsWorking -WorkingToIdle DaedalaBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DaedalaInit: - imgul 311 0 0 # Daedala Shadow (terran\trlShad.grp) -DaedalaBuilt: - playfram 0x00 - goto ScourgeLocal00 - -DaedalaSpecialState1: - playfram 5 - goto ScourgeLocal00 - -DaedalaAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -DaedalaLanding: - nobrkcodestart - wait 18 - playsnd 472 # Misc\Land.WAV - playfram 4 - wait 5 - playfram 3 - wait 5 - playfram 2 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -DaedalaLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 2 - wait 5 - playfram 3 - wait 5 - playfram 4 - wait 5 - playfram 5 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -DaedalaIsWorking: - imgol 310 0 0 # Daedala Overlay (terran\ResearcT.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 310 Daedala Overlay (terran\ResearcT.grp) -.headerstart -IsId 127 -Type 24 -Init DaedalaOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Generic_Wait1End -WalkingToIdle Generic_Wait1End -SpecialState1 Generic_Wait1End -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking DaedalaOverlayIsWorking -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DaedalaOverlayInit: - playfram 0x00 -DaedalaOverlayIsWorking: - tmprmgraphicend - wait 5 - tmprmgraphicstart - wait 5 - goto DaedalaOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 312 Anvil (terran\nukesilo.grp) -.headerstart -IsId 128 -Type 24 -Init AnvilInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AnvilAlmostBuilt -Built AnvilBuilt -Landing AnvilLanding -LiftOff ScourgeLocal00 -IsWorking AnvilIsWorking -WorkingToIdle AnvilBuilt -WarpIn [NONE] -Unused3 AnvilUnused3 -StarEditInit [NONE] -Disable AnvilDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnvilInit: - imgul 315 0 0 # Nuclear Silo Shadow (terran\tnsShad.grp) -AnvilBuilt: - playfram 0x00 - goto ScourgeLocal00 - -AnvilAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -AnvilLanding: - imgol 313 0 0 # Nuclear Silo Connector (terran\NukeSilC.grp) - goto ScourgeLocal00 - -AnvilIsWorking: - playfram 2 - wait 4 - playfram 0x00 - wait 4 - goto AnvilIsWorking - -AnvilUnused3: - playfram 2 - goto ScourgeLocal00 - -AnvilDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 313 Anvil Connector (terran\NukeSilC.grp) -.headerstart -IsId 129 -Type 24 -Init AnvilConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff AnvilConnectorLiftOff -IsWorking AnvilConnectorIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnvilConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 -AnvilConnectorIsWorking: - playfram 4 - goto ScourgeLocal00 - -AnvilConnectorLiftOff: - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 314 Anvil Overlay (terran\NukeSilT.grp) -.headerstart -IsId 130 -Type 24 -Init AnvilOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff Generic_Wait1End -IsWorking AnvilOverlayIsWorking -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnvilOverlayInit: - playfram 0x00 -AnvilOverlayIsWorking: - tmprmgraphicend - wait 5 - tmprmgraphicstart - wait 5 - goto AnvilOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 316 Morningstar (terran\nukemiss.grp) -.headerstart -IsId 131 -Type 21 -Init MorningstarInit -Death MorningstarDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking MorningstarWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 MorningstarSpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn MorningstarWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -MorningstarInit: - playfram 0x00 - goto ScourgeLocal00 - -MorningstarDeath: - imgol 428 0 0 # Nuclear Missile Death (thingy\small.grp) - wait 1 - end - -MorningstarWalking: - curdirectcondjmp 128 32 MorningstarLocal00 -MorningstarLocal01: - sprol 309 0 10 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto MorningstarLocal01 - -MorningstarLocal00: - wait 3 - sprol 309 0 -10 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - goto MorningstarLocal00 - -MorningstarSpecialState1: - castspell - sigorder 1 - tmprmgraphicstart - imgol 428 0 0 # Nuclear Missile Death (thingy\small.grp) - sprol 267 0 -42 # Nuke Hit (thingy\NukeHit.grp) - goto ScourgeLocal00 - -MorningstarWarpIn: - wait 250 - sigorder 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 318 Morningstar Hit (thingy\NukeHit.grp) -.headerstart -IsId 133 -Type 1 -Init NukeExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -NukeExplosionInit: - playsnd 85 # Bullet\TNsHit00.wav - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playsnd 13 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playsnd 13 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - playsnd 13 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playsnd 13 # Misc\Explo4.wav - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 319 Starport (terran\starport.grp) -.headerstart -IsId 134 -Type 20 -Init StarportInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 StarportSpecialState1 -SpecialState2 [NONE] -AlmostBuilt StarportAlmostBuilt -Built StarportBuilt -Landing StarportLanding -LiftOff StarportLiftOff -IsWorking StarportIsWorking -WorkingToIdle StarportBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StarportInit: - imgul 321 0 0 # Starport Shadow (terran\tspShad.grp) -StarportBuilt: - playfram 0x00 - goto ScourgeLocal00 - -StarportSpecialState1: - playfram 3 - goto ScourgeLocal00 - -StarportAlmostBuilt: - playfram 5 - goto ScourgeLocal00 - -StarportLanding: - nobrkcodestart - wait 20 - playsnd 472 # Misc\Land.WAV - playfram 3 - wait 5 - playfram 2 - wait 5 - playfram 1 - wait 5 - playfram 4 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StarportLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 4 - wait 5 - playfram 1 - wait 5 - playfram 2 - wait 5 - playfram 3 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StarportIsWorking: - imgol 320 0 0 # Starport Overlay (terran\StarpoT.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 320 Starport Overlay (terran\StarpoT.grp) -.headerstart -IsId 135 -Type 24 -Init StarportOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking StarportOverlayInit -WalkingToIdle StarportOverlayInit -SpecialState1 Generic_Wait1End -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing StarportOverlayInit -LiftOff StarportOverlayInit -IsWorking StarportOverlayInit -WorkingToIdle Generic_Wait1End -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StarportOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto StarportOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 322 Atlas (terran\weaponpl.grp) -.headerstart -IsId 136 -Type 24 -Init AtlasInit -Death MinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 AtlasSpecialState1 -SpecialState2 [NONE] -AlmostBuilt AtlasAlmostBuilt -Built AtlasBuilt -Landing AtlasLanding -LiftOff AtlasLiftOff -IsWorking ScourgeLocal00 -WorkingToIdle AtlasWorkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable AtlasDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AtlasInit: - playfram 0x00 - imgul 324 0 0 # Atlas Shadow (terran\twpShad.grp) - goto ScourgeLocal00 - -AtlasSpecialState1: - playfram 4 - goto ScourgeLocal00 - -AtlasAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -AtlasBuilt: - imgol 323 0 0 # Atlas Overlay (terran\weaponpT.grp) -AtlasWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -AtlasLanding: - nobrkcodestart - wait 25 - playsnd 472 # Misc\Land.WAV - playfram 4 - wait 4 - playfram 2 - wait 4 - playfram 3 - wait 4 - playfram 5 - wait 4 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -AtlasLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 5 - wait 4 - playfram 3 - wait 4 - playfram 2 - wait 4 - playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -AtlasDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 323 Atlas Overlay (terran\weaponpT.grp) -.headerstart -IsId 137 -Type 24 -Init AtlasOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 Generic_Wait1End -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking AtlasOverlayIsWorking -WorkingToIdle AtlasOverlayInit -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable AtlasOverlayInit -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AtlasOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -AtlasOverlayIsWorking: - playfram 0x00 - wait 5 - playfram 1 - wait 5 - playfram 2 - wait 5 - playfram 3 - wait 5 - playfram 4 - wait 5 - playfram 5 - wait 5 - goto AtlasOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 325 Terran Construction (Large) (terran\TBldLrg.grp) -.headerstart -IsId 138 -Type 14 -Init TerranConstruction_Large_Init -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 TerranConstruction_Large_SpecialState1 -SpecialState2 TerranConstruction_Large_SpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TerranConstruction_Large_Init: - playfram 0x00 - imgul 326 0 0 # Terran Construction (Large) Shadow (terran\tb2Shad.grp) - goto ScourgeLocal00 - -TerranConstruction_Large_SpecialState1: - playfram 1 - goto ScourgeLocal00 - -TerranConstruction_Large_SpecialState2: - playfram 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 327 Terran Construction (Medium) (terran\tBldMed.grp) -.headerstart -IsId 139 -Type 14 -Init TerranConstruction_Medium_Init -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 TerranConstruction_Medium_SpecialState1 -SpecialState2 TerranConstruction_Medium_SpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TerranConstruction_Medium_Init: - playfram 0x00 - imgul 328 0 0 # Terran Construction (Medium) Shadow (terran\tb3Shad.grp) - goto ScourgeLocal00 - -TerranConstruction_Medium_SpecialState1: - playfram 1 - goto ScourgeLocal00 - -TerranConstruction_Medium_SpecialState2: - playfram 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 330 Terran Construction (Small) (terran\TBldSml.grp) -.headerstart -IsId 140 -Type 14 -Init TerranConstruction_Small_Init -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 TerranConstruction_Small_SpecialState1 -SpecialState2 TerranConstruction_Small_SpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TerranConstruction_Small_Init: - playfram 0x00 - imgul 331 0 0 # Terran Construction (Small) Shadow (terran\tb1Shad.grp) - goto ScourgeLocal00 - -TerranConstruction_Small_SpecialState1: - playfram 1 - goto ScourgeLocal00 - -TerranConstruction_Small_SpecialState2: - playfram 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 329 Addon Construction (terran\TBldSml.grp) -.headerstart -IsId 141 -Type 14 -Init TerranConstruction_Small_Init -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ScourgeLocal00 -SpecialState2 ScourgeLocal00 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 213 Explosion1 (Small) (thingy\tBangS.grp) -# 332 Explosion2 (Small) (thingy\tBangS.grp) -.headerstart -IsId 142 -Type 0 -Init Explosion_Small_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Explosion_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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 214 Explosion1 (Medium) (thingy\tBangL.grp) -# 333 Explosion2 (Medium) (thingy\tBangL.grp) -.headerstart -IsId 143 -Type 0 -Init Explosion_Medium_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Explosion_Medium_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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 215 Explosion (Large) (thingy\tBangX.grp) -# 334 Building Explosion (Large) (thingy\tBangX.grp) -.headerstart -IsId 144 -Type 0 -Init Explosion_Large_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Explosion_Large_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 - playfram 12 - wait 2 - playfram 13 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 110 Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) -# 111 Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) -# 216 Protoss Building Rubble (Small) (thingy\PRubbleS.grp) -# 217 Protoss Building Rubble (Large) (thingy\PRubbleL.grp) -# 335 Terran Building Rubble (Small) (thingy\RubbleS.grp) -# 336 Terran Building Rubble (Large) (thingy\RubbleL.grp) -# 1707 Terran Unit Rubble (Medium) (cm\terran\rubble-unit-medium.grp) -# 1708 Terran Unit Rubble (Small) (cm\terran\rubble-unit-small.grp) -# 1709 Protoss Unit Rubble (Medium) (cm\protoss\rubble-unit-medium.grp) -# 1710 Protoss Unit Rubble (Small) (cm\protoss\rubble-unit-small.grp) -# 1711 Zerg Unit Rubble (Medium) (cm\zerg\rubble-unit-medium.grp) -# 1712 Zerg Unit Rubble (Small) (cm\zerg\rubble-unit-small.grp) -# 1713 Zerg Unit Rubble (Tiny) (cm\zerg\rubble-unit-tiny.grp) -.headerstart -IsId 145 -Type 1 -Init BuildingRubbleHeaderInit -Death BuildingRubbleHeaderDeath -.headerend -# ----------------------------------------------------------------------------- # - -BuildingRubbleHeaderInit: - playfram 0x00 - wait 239 -BuildingRubbleHeaderDeath: - 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: -# 130 Didact (protoss\arbiter.grp) -.headerstart -IsId 146 -Type 21 -Init DidactInit -Death DidactDeath -GndAttkInit DidactGndAttkInit -AirAttkInit DidactGndAttkInit -Unused1 [NONE] -GndAttkRpt DidactGndAttkRpt -AirAttkRpt DidactGndAttkRpt -CastSpell DidactCastSpell -GndAttkToIdle DidactGndAttkToIdle -AirAttkToIdle DidactGndAttkToIdle -Unused2 DidactUnused2 -Walking DidactWalking -WalkingToIdle DidactGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn DidactWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -DidactInit: - imgul 131 0 42 # Didact Shadow (protoss\didact.grp) - playfram 0x00 - goto DidactGndAttkToIdle - -DidactGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto DidactGndAttkToIdle - -DidactDeath: - playsnd 566 # Protoss\ARBITER\PAbDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -DidactGndAttkInit: - setvertpos 0 -DidactGndAttkRpt: - playfram 0x11 - wait 1 - nobrkcodestart - playsnd 99 # Bullet\DragBull.wav - attackwith 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -DidactCastSpell: - nobrkcodestart - wait 1 - playsnd 548 # Protoss\ARBITER\PAbCag00.WAV - castspell - nobrkcodeend - gotorepeatattk - sigorder 2 - goto ScourgeLocal00 - -DidactUnused2: - nobrkcodestart - wait 1 - playsnd 2309 # Didact Stasis Field channel 01 - sigorder 32 - wait 3 - imgul 364 0 0 # Stasis Field Hit - wait 7 - imgul 364 0 0 # Stasis Field Hit - wait 8 - imgul 364 0 0 # Stasis Field Hit - castspell - nobrkcodeend - sigorder 2 - goto DidactGndAttkToIdle - -DidactWalking: - playfram 0x00 - setvertpos 0 - imgol 132 0 0 # Didact Engines (thingy\pabGlow.grp) - goto ScourgeLocal00 - -DidactWarpIn: - imgol 133 0 0 # Didact Warp Flash (protoss\didact.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 134 Archon Energy (protoss\archon.grp) -.headerstart -IsId 147 -Type 13 -Init ArchonEnergyInit -Death ArchonEnergyDeath -GndAttkInit ArchonEnergyGndAttkInit -AirAttkInit ArchonEnergyGndAttkInit -Unused1 ArchonEnergyUnused1 -GndAttkRpt ArchonEnergyGndAttkInit -AirAttkRpt ArchonEnergyGndAttkInit -CastSpell [NONE] -GndAttkToIdle ArchonEnergyGndAttkInit -AirAttkToIdle ArchonEnergyGndAttkInit -Unused2 [NONE] -Walking ArchonEnergyGndAttkInit -WalkingToIdle ArchonEnergyGndAttkInit -SpecialState1 ArchonEnergySpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ArchonEnergyInit: - playfram 18 - wait 1 - nobrkcodestart - wait 1 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - imgol 135 0 0 # Archon Being (protoss\archonT.grp) - imgol 136 0 0 # Archon Swirl (protoss\archonT2.grp) - sigorder 4 - nobrkcodeend - wait 2 -ArchonEnergyGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto ArchonEnergyGndAttkInit - -ArchonEnergyDeath: - playsnd 581 # Archon Death 01 - playsnd 7 # Misc\ExploLrg.wav - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -ArchonEnergyUnused1: - wait 1 - nobrkcodestart - playsnd 7 # Misc\ExploLrg.wav - sprol 739 0 0 # Explosion Blue Reversed - wait 3 - nobrkcodeend - goto ArchonEnergyInit - -ArchonEnergySpecialState1: - playsnd 617 # Protoss\TEMPLAR\PTeSum00.WAV - playfram 10 - wait 2 - playfram 11 - wait 2 -ArchonEnergyLocal00: - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 16 - wait 2 - playfram 15 - wait 2 - playfram 14 - wait 2 - playfram 13 - wait 2 - goto ArchonEnergyLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 135 Archon Being (protoss\archonT.grp) -.headerstart -IsId 148 -Type 12 -Init ArchonBeingInit -Death Generic_Wait1End -GndAttkInit ArchonBeingGndAttkInit -AirAttkInit ArchonBeingGndAttkInit -Unused1 [NONE] -GndAttkRpt ArchonBeingGndAttkInit -AirAttkRpt ArchonBeingGndAttkInit -CastSpell [NONE] -GndAttkToIdle ArchonBeingGndAttkToIdle -AirAttkToIdle ArchonBeingGndAttkToIdle -Unused2 [NONE] -Walking ArchonBeingGndAttkToIdle -WalkingToIdle ArchonBeingGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ArchonBeingInit: - setfldirect 15 -ArchonBeingGndAttkToIdle: - playfram 0xaa - wait 4 - playfram 0xbb - wait 4 - playfram 0xcc - wait 4 - playfram 0xdd - wait 4 - playfram 0xcc - wait 4 - playfram 0xbb - wait 4 - goto ArchonBeingGndAttkToIdle - -ArchonBeingGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - trgtrangecondjmp 48 ArchonBeingLocal00 - imgoluselo 549 0 0 # Archon Beam (thingy\emsBeam.grp) - playsnd 58 # Bullet\PArFir00.wav - attack - wait 1 - playfram 0x66 - wait 3 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - playfram 0x00 - wait 2 - nobrkcodeend - gotorepeatattk - goto ArchonBeingGndAttkToIdle - -ArchonBeingLocal00: - playsnd 58 # Bullet\PArFir00.wav - attack - wait 1 - playfram 0x66 - wait 3 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - playfram 0x00 - wait 2 - nobrkcodeend - gotorepeatattk - goto ArchonBeingGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 136 Archon Swirl (protoss\archonT2.grp) -.headerstart -IsId 149 -Type 1 -Init ArchonSwirlInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ArchonSwirlInit: - tmprmgraphicstart - wait 1 - waitrand 1 4 - tmprmgraphicend -ArchonSwirlLocal00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto ArchonSwirlLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 112 Solarion (protoss\carrier.grp) -.headerstart -IsId 151 -Type 21 -Init SolarionInit -Death SolarionDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 SolarionUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking SolarionWalking -WalkingToIdle OvilethLocal00 -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn SolarionWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -SolarionInit: - imgulnextid 0 42 - playfram 0x00 - goto ScourgeLocal00 - -SolarionDeath: - playsndbtwn 595 596 # Protoss\Carrier\PCaDth00.WAV | Protoss\Carrier\PCaDth01.WAV - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 223 0 42 # Protoss Building Rubble Small - wait 1 - end - -SolarionUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - setfldirect 0 - playsndbtwn 1367 1368 # Solarion Revive 01, 02 - sprol 745 0 0 - playfram 0x00 - wait 3 - setfldirect 14 - tmprmgraphicend - nobrkcodeend - goto ScourgeLocal00 - -SolarionWalking: - imgol 114 0 0 # Solarion Engines (thingy\pcaGlow.grp) - goto ScourgeLocal00 - -SolarionWarpIn: - imgol 115 0 0 # Solarion Warp Flash (protoss\carrier.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 129 Dark Templar (Hero) (protoss\dtemplar.grp) -.headerstart -IsId 152 -Type 12 -Init DarkTemplar_Hero_Init -Death DarkTemplar_Hero_Death -GndAttkInit DarkTemplar_Hero_GndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt DarkTemplar_Hero_GndAttkInit -AirAttkRpt [NONE] -CastSpell DarkTemplar_Hero_CastSpell -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking DarkTemplar_Hero_Walking -WalkingToIdle DarkTemplar_Hero_Init -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DarkTemplar_Hero_Init: - playfram 0xdd - goto ScourgeLocal00 - -DarkTemplar_Hero_Death: - playsnd 741 # Protoss\DARKTEMPLAR\PDTDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - end - -DarkTemplar_Hero_GndAttkInit: - playsnd 111 # Bullet\UZeFir00.wav - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - attackwith 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - nobrkcodeend - gotorepeatattk - goto DarkTemplar_Hero_Init - -DarkTemplar_Hero_CastSpell: - castspell - sigorder 2 - gotorepeatattk - goto DarkTemplar_Hero_Init - -DarkTemplar_Hero_Walking: - move 4 - wait 1 - playfram 0xee - move 4 - wait 1 - playfram 0xff - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x12 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0xdd - goto DarkTemplar_Hero_Walking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 122 Dracadin (protoss\dracadin.grp) -.headerstart -IsId 153 -Type 21 -Init DracadinInit -Death DracadinDeath -GndAttkInit DracadinGndAttkInit -AirAttkInit DracadinGndAttkInit -Unused1 DracadinUnused1 -GndAttkRpt DracadinGndAttkRpt -AirAttkRpt DracadinGndAttkRpt -CastSpell [NONE] -GndAttkToIdle DracadinGndAttkToIdle -AirAttkToIdle DracadinGndAttkToIdle -Unused2 [NONE] -Walking DracadinWalking -WalkingToIdle DracadinWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn DracadinWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -DracadinInit: - imgul 123 0 0 # Dracadin Shadow (protoss\dracadin-shadow.grp) -DracadinWalkingToIdle: - playfram 0x00 - wait 1 -DracadinLocal00: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x00 - wait 2 - goto DracadinLocal00 - -DracadinDeath: - playsnd 493 # Protoss\DRAGOON\PDrDth00.WAV - imgol 1774 0 0 # Dracadin death explosion (cm\protoss\dracadin-explosion.grp) - setfldirect 0 - goto DracadinDeathFrames -DracadinDeathFrames: - playfram 768 - wait 2 - playfram 769 - wait 2 - playfram 770 - wait 2 - playfram 771 - wait 2 - playfram 772 - wait 2 - playfram 773 - wait 2 - playfram 774 - wait 2 - lowsprul 192 0 0 # Dracadin Remnants (protoss\pdrDeath.grp) - wait 1 - end - -DracadinUnused1: - wait 1 - nobrkcodestart - playsnd 1902 # Dracadin revive 01 - setfldirect 0 - playfram 773 - wait 2 - playfram 772 - wait 2 - playfram 771 - wait 2 - playfram 770 - wait 2 - playfram 769 - wait 2 - playfram 768 - wait 2 - setfldirect 12 - nobrkcodeend - goto DracadinWalkingToIdle - -DracadinGndAttkInit: - playfram 0x200 - wait 1 - playfram 0x240 - wait 1 - playfram 0x280 - wait 1 -DracadinGndAttkRpt: - playfram 0x2C0 - wait 1 - attackwith 1 - playsnd 99 # Bullet\DragBull.wav - playfram 0x2E0 - wait 1 - playfram 0x2C0 - wait 1 - playfram 0x2A0 - gotorepeatattk - ignorerest -DracadinGndAttkToIdle: - wait 1 - playfram 0x280 - wait 1 - playfram 0x260 - wait 1 - playfram 0x240 - wait 1 - playfram 0x220 - wait 1 - playfram 0x200 - goto DracadinWalkingToIdle - -DracadinWalking: - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x120 - move 5 - wait 1 - playfram 0x140 - move 5 - wait 1 - playfram 0x160 - move 5 - wait 1 - playfram 0x180 - move 5 - wait 1 - playfram 0x1A0 - move 5 - wait 1 - playfram 0x1C0 - move 5 - wait 1 - playfram 0x1E0 - goto DracadinWalking - -DracadinWarpIn: - imgol 125 0 0 # Dracadin Warp Flash (protoss\dragoon.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 116 Steward (protoss\Intercep.grp) -.headerstart -IsId 155 -Type 12 -Init StewardInit -Death StewardDeath -GndAttkInit StewardGndAttkInit -AirAttkInit StewardGndAttkInit -Unused1 [NONE] -GndAttkRpt StewardGndAttkInit -AirAttkRpt StewardGndAttkInit -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle ScourgeLocal00 -Unused2 [NONE] -Walking StewardWalking -WalkingToIdle OvilethLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StewardInit: - imgul 117 0 42 # Steward Shadow (protoss\Intercep.grp) - playfram 0x00 - goto OvilethLocal00 - -StewardDeath: - playsnd 8 # Misc\ExploMed.wav - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - end - -StewardGndAttkInit: - wait 1 - attackwith 1 - playfram 0x11 - wait 1 - playfram 0x00 - gotorepeatattk - goto ScourgeLocal00 - -StewardWalking: - playfram 0x00 - setvertpos 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 137 Scribe (protoss\probe.grp) -.headerstart -IsId 156 -Type 21 -Init ScribeInit -Death ScribeDeath -GndAttkInit ScribeGndAttkInit -AirAttkInit [NONE] -Unused1 ScribeUnused1 -GndAttkRpt ScribeGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScribeWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ScribeAlmostBuilt -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ScribeWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ScribeInit: - imgul 138 0 7 # Scribe Shadow (protoss\probe.grp) - playfram 0x00 - goto ScourgeLocal00 - -ScribeDeath: - setfldirect 0 - playsnd 598 # Protoss\PROBE\PPrDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - playfram 17 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - lowsprul 691 0 0 # Scribe Remnants (cm\protoss\scribe-death.grp) - wait 1 - end - -ScribeUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1352 # Scribe Revive 01 - playfram 20 - wait 1 - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 17 - sprol 740 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 1 - playfram 0x00 - wait 1 - setfldirect 10 - nobrkcodeend - goto ScourgeLocal00 - -ScribeGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x20 - attackwith 1 - playsndbtwn 2670 2672 # Scribe weaponfire 01, 02, 03 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -ScribeWalking: - setvertpos 0 - goto MasonWalkingLoop - -ScribeAlmostBuilt: - useweapon 63 # Particle Beam (Harvest) (Particle Beam) - playsnd 614 # Protoss\PROBE\PPrMin00.WAV - wait 9 - goto ScribeAlmostBuilt - -ScribeWarpIn: - imgol 139 0 0 # Scribe Warp Flash (protoss\probe.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 118 Envoy (protoss\shuttle.grp) -.headerstart -IsId 157 -Type 21 -Init EnvoyInit -Death EnvoyDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking EnvoyWalking -WalkingToIdle EnvoyWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn EnvoyWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EnvoyInit: - imgul 119 0 42 # Envoy Shadow (protoss\shuttle.grp) -EnvoyWalkingToIdle: - playfram 0x00 - goto OvilethLocal00 - -EnvoyDeath: - playsnd 514 # Protoss\SHUTTLE\PShDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 921 0 42 # Envoy remains - wait 1 - end - -EnvoyWalking: - playfram 0x00 - setvertpos 0 - imgol 120 0 0 # Envoy Engines (thingy\pshGlow.grp) - goto ScourgeLocal00 - -EnvoyWarpIn: - imgol 121 0 0 # Envoy Warp Flash (protoss\shuttle.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 126 Cantavis (protoss\templar.grp) -.headerstart -IsId 158 -Type 21 -Init CantavisInit -Death CantavisDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 CantavisUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell CantavisCastSpell -GndAttkToIdle CantavisGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 CantavisUnused2 -Walking CantavisWalking -WalkingToIdle CantavisWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn CantavisWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -CantavisInit: - imgul 127 0 0 # Cantavis Shadow (protoss\pteShad.grp) - playfram 0x66 - wait 1 -CantavisGndAttkToIdle: - playfram 0x66 - wait 2 - playfram 0x77 - wait 2 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xaa - wait 2 - playfram 0xbb - wait 2 - playfram 0xcc - wait 2 - goto CantavisGndAttkToIdle - -CantavisDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - setfldirect 0 - playfram 289 - wait 2 - playfram 290 - wait 2 - playfram 291 - wait 2 - playfram 292 - wait 2 - playfram 293 - wait 2 - playfram 294 - wait 2 - playfram 295 - wait 2 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -CantavisUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 - playfram 295 - wait 2 - playfram 294 - wait 2 - playfram 293 - wait 2 - playfram 292 - wait 2 - playfram 291 - wait 2 - playfram 290 - wait 2 - playfram 289 - wait 2 - setfldirect 12 - nobrkcodeend - goto CantavisWalkingToIdle - -CantavisCastSpell: - playfram 0x00 - wait 1 - nobrkcodestart - sigorder 64 - playsnd 2547 # Psionic Storm cast 01 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - castspell - sigorder 2 - playfram 0x44 - wait 1 - nobrkcodeend - gotorepeatattk - goto CantavisGndAttkToIdle - -CantavisUnused2: - playfram 0x00 - nobrkcodestart - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - castspell - wait 1 - playfram 0x44 - wait 1 - sigorder 32 - nobrkcodeend - gotorepeatattk - goto CantavisGndAttkToIdle - -CantavisWalking: - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x55 - setvertpos 0 -CantavisLocal00: - wait 3 - spruluselo 320 0 0 # Cantavis Glow (thingy\pteglow.grp) - goto CantavisLocal00 - -CantavisWalkingToIdle: - playfram 0x110 - wait 1 - playfram 0xff - wait 1 - playfram 0xee - wait 1 - goto CantavisGndAttkToIdle - -CantavisWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 144 Accantor (protoss\trilob.grp) -.headerstart -IsId 159 -Type 21 -Init AccantorInit -Death AccantorDeath -GndAttkInit AccantorGndAttkInit -AirAttkInit AccantorGndAttkInit -Unused1 AccantorUnused1 -GndAttkRpt AccantorGndAttkInit -AirAttkRpt AccantorGndAttkInit -CastSpell [NONE] -GndAttkToIdle AccantorGndAttkToIdle -AirAttkToIdle AccantorGndAttkToIdle -Unused2 [NONE] -Walking AccantorWalking -WalkingToIdle AccantorWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn AccantorWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AccantorInit: - imgul 145 0 0 # Accantor Shadow (protoss\ptrShad.grp) -AccantorWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -AccantorDeath: - playsnd 638 # Protoss\TRILOBYTE\PTrDth00.WAV - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -AccantorUnused1: - wait 1 - nobrkcodestart - playsnd 1698 # Accantor revive 01 - wait 8 - sprol 745 0 0 # Medium Blue Explosion Reversed - playfram 0x00 - wait 3 - setfldirect 14 - nobrkcodeend - goto AccantorWalkingToIdle - -AccantorGndAttkInit: - wait 1 - playsndbtwn 102 103 # Bullet\pTrFir00.wav | Bullet\pTrFir01.wav - attackwith 1 - wait 1 - gotorepeatattk - ignorerest -AccantorGndAttkToIdle: - goto AccantorWalkingToIdle - -AccantorWalking: - move 2 - wait 1 - playfram 0x11 - move 2 - wait 1 - playfram 0x22 - move 2 - wait 1 - playfram 0x33 - move 2 - wait 1 - playfram 0x44 - move 2 - wait 1 - playfram 0x55 - move 2 - wait 1 - playfram 0x66 - move 2 - wait 1 - playfram 0x77 - move 2 - wait 1 - playfram 0x88 - move 2 - wait 1 - playfram 0x00 - goto AccantorWalking - -AccantorWarpIn: - imgol 146 0 0 # Accantor Warp Flash (protoss\trilob.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 147 Plasma Shell (protoss\sapper.grp) -.headerstart -IsId 160 -Type 2 -Init PlasmaShellInit -Death PlasmaShellDeath -GndAttkInit PlasmaShellGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PlasmaShellInit: - playfram 0x00 - wait 1 - sigorder 1 -PlasmaShellGndAttkInit: - sprol 373 0 0 # Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) - wait 2 - goto PlasmaShellGndAttkInit - -PlasmaShellDeath: - imgol 444 0 0 # Plasma Shell Hit (thingy\psaExplo.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 142 Scout Engines (thingy\pscGlow.grp) -.headerstart -IsId 162 -Type 12 -Init ScoutEnginesInit -Death Generic_Wait1End -GndAttkInit Generic_Wait1End -AirAttkInit Generic_Wait1End -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle Generic_Wait1End -AirAttkToIdle Generic_Wait1End -Unused2 [NONE] -Walking ScoutEnginesInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ScoutEnginesInit: - wait 1 - engframe 0 - wait 1 - engframe 17 - goto ScoutEnginesInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 151 Zealot (protoss\zealot.grp) -.headerstart -IsId 163 -Type 21 -Init ZealotInit -Death ZealotDeath -GndAttkInit ZealotGndAttkInit -AirAttkInit [NONE] -Unused1 ZealotUnused1 -GndAttkRpt ZealotGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ZealotGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ZealotWalking -WalkingToIdle ZealotWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ZealotWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ZealotInit: - imgul 152 0 0 # Zealot Shadow (protoss\pzeShad.grp) -ZealotWalkingToIdle: - playfram 0x55 -ZealotLocal00: - wait 62 - randcondjmp 64 ZealotLocal01 - goto ZealotLocal00 - -ZealotLocal01: - playfram 0x00 - wait 1 - playfram 0x22 -ZealotLocal03: - wait 1 - waitrand 14 21 - randcondjmp 85 ZealotLocal04 -ZealotLocal05: - turnccwise 1 - wait 1 - randcondjmp 225 ZealotLocal05 - goto ZealotLocal06 - -ZealotLocal06: - randcondjmp 160 ZealotLocal03 - wait 1 - waitrand 21 44 - playfram 0x00 - wait 1 - goto ZealotWalkingToIdle - -ZealotLocal04: - turncwise 1 - wait 1 - randcondjmp 236 ZealotLocal04 - randcondjmp 160 ZealotLocal03 - waitrand 22 45 - playfram 0x00 - wait 1 - goto ZealotWalkingToIdle - -ZealotDeath: - playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV - setfldirect 0 - playfram 221 - wait 2 - playfram 222 - wait 2 - lowsprul 815 0 0 # Zealot Remains - playfram 223 - wait 2 - playfram 224 - wait 2 - playfram 225 - wait 2 - playfram 226 - wait 2 - playfram 227 - wait 2 - end - -ZealotUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1187 - 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 ZealotWalkingToIdle - -ZealotGndAttkInit: - playfram 0x00 - wait 1 -ZealotGndAttkRpt: - playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV | Protoss\ZEALOT\pzeAtt01.WAV - playfram 0x11 - wait 1 - nobrkcodestart - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - attackmelee 1 0 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - attackmelee 1 0 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - ignorerest -ZealotGndAttkToIdle: - goto ZealotWalkingToIdle - -ZealotWalking: - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - goto ZealotWalking - -ZealotWarpIn: - imgol 154 0 0 # Zealot Warp Flash (protoss\zealot.grp) - goto ZealotLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 153 Zealot Death (protoss\zealot.grp) -.headerstart -IsId 164 -Type 1 -Init ZealotDeathInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZealotDeathInit: - setfldirect 0 - playfram 0xdd - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 148 Witness (protoss\witness.grp) -.headerstart -IsId 165 -Type 21 -Init WitnessInit -Death WitnessDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking WitnessWalking -WalkingToIdle OvilethLocal00 -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn WitnessWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -WitnessInit: - imgul 149 0 42 # Witness Shadow (protoss\witness.grp) - playfram 0x00 - goto OvilethLocal00 - -WitnessDeath: - playsndbtwn 651 652 # Protoss\Witness\PWiDth00.WAV | Protoss\Witness\PWiDth01.WAV - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 949 0 42 # Witness remains - wait 1 - end - -WitnessWalking: - playfram 0x00 - setvertpos 0 - goto ScourgeLocal00 - -WitnessWarpIn: - imgol 150 0 0 # Witness Warp Flash (protoss\witness.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 155 Templar Archives (protoss\archives.grp) -.headerstart -IsId 166 -Type 27 -Init TemplarArchivesInit -Death TemplarArchivesDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking TemplarArchivesIsWorking -WorkingToIdle TemplarArchivesWorkingToIdle -WarpIn TemplarArchivesWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -TemplarArchivesInit: - imgul 157 0 0 # Templar Archives Shadow (protoss\pacShad.grp) - playfram 1 - goto ScourgeLocal00 - -TemplarArchivesDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -TemplarArchivesIsWorking: - wait 1 - goto TemplarArchivesIsWorking - -TemplarArchivesWorkingToIdle: - playfram 1 - goto ScourgeLocal00 - -TemplarArchivesWarpIn: - imgol 156 0 0 # Templar Archives Warp Flash (protoss\archives.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 158 Aquifer (protoss\assim.grp) -.headerstart -IsId 167 -Type 27 -Init AquiferInit -Death AquiferDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built AquiferBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking AquiferBuilt -WorkingToIdle AquiferBuilt -WarpIn AquiferWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -AquiferInit: - imgul 160 0 0 # Aquifer Shadow (protoss\pasShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -AquiferDeath: - playsnd 7 # Misc\ExploLrg.wav - sprol 222 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - end - -AquiferBuilt: - waitrand 5 50 - creategasoverlays 0 - waitrand 5 50 - creategasoverlays 3 - waitrand 5 50 - creategasoverlays 2 - waitrand 5 50 - creategasoverlays 3 - waitrand 5 50 - creategasoverlays 0 - waitrand 5 50 - creategasoverlays 2 - waitrand 5 50 - goto AquiferBuilt - -AquiferWarpIn: - imgol 159 0 0 # Aquifer Warp Flash (protoss\assim.grp) - goto AquiferBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 161 Observatory (protoss\beacon.grp) -.headerstart -IsId 168 -Type 27 -Init ObservatoryInit -Death ObservatoryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ObservatoryIsWorking -WorkingToIdle ObservatoryWorkingToIdle -WarpIn ObservatoryWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -ObservatoryInit: - imgul 163 0 0 # Observatory Shadow (protoss\pbeShad.grp) - playfram 1 - goto ScourgeLocal00 - -ObservatoryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -ObservatoryIsWorking: - playfram 2 - wait 3 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 3 - playfram 1 - wait 2 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto ObservatoryIsWorking - -ObservatoryWorkingToIdle: - playfram 1 - goto ScourgeLocal00 - -ObservatoryWarpIn: - imgol 162 0 0 # Observatory Warp Flash (protoss\beacon.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 169 -Type 20 -Init Unknown169Init -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 Unknown169Init -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking Unknown169Init -WorkingToIdle Unknown169Init -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown169Init: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - goto Unknown169Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 164 Citadel of Adun (protoss\citadel.grp) -.headerstart -IsId 170 -Type 27 -Init CitadelOfAdunInit -Death CitadelOfAdunDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking CitadelOfAdunIsWorking -WorkingToIdle CitadelOfAdunWorkingToIdle -WarpIn CitadelOfAdunWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -CitadelOfAdunInit: - imgul 166 0 0 # Citadel of Adun Shadow (protoss\pciShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -CitadelOfAdunDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -CitadelOfAdunIsWorking: - playfram 2 - wait 3 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 3 - playfram 1 - wait 2 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto CitadelOfAdunIsWorking - -CitadelOfAdunWorkingToIdle: - playfram 1 - goto ScourgeLocal00 - -CitadelOfAdunWarpIn: - imgol 165 0 0 # Citadel of Adun Warp Flash (protoss\citadel.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 167 Forge (protoss\forge.grp) -.headerstart -IsId 171 -Type 27 -Init ForgeInit -Death ForgeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ForgeBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ForgeIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn ForgeWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -ForgeInit: - imgul 170 0 0 # Forge Shadow (protoss\pfoShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -ForgeDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -ForgeBuilt: - goto ScourgeLocal00 - -ForgeIsWorking: - wait 1 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 0x00 - wait 1 - goto ForgeIsWorking - -ForgeWarpIn: - imgol 169 0 0 # Forge Warp Flash (protoss\forge.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 168 Forge Overlay (protoss\forgeT.grp) -.headerstart -IsId 172 -Type 27 -Init ForgeOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking ForgeOverlayIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -ForgeOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -ForgeOverlayIsWorking: - playfram 0x00 - wait 3 - playfram 1 - wait 3 - playfram 2 - wait 3 - goto ForgeOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 171 Gateway (protoss\gateway.grp) -.headerstart -IsId 173 -Type 27 -Init GatewayInit -Death GatewayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GatewaySpecialState1 -SpecialState2 GatewaySpecialState2 -AlmostBuilt GatewayAlmostBuilt -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking GatewayIsWorking -WorkingToIdle GatewayWorkingToIdle -WarpIn GatewayAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable GatewayDisable -Burrow [NONE] -UnBurrow [NONE] -Enable GatewayEnable -.headerend -# ----------------------------------------------------------------------------- # - -GatewayInit: - imgul 173 0 0 # Gateway Shadow (protoss\pgaShad.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -GatewayDeath: - playfram 0x00 - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -GatewaySpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - wait 1 - goto GatewayLocal00 - -GatewayLocal00: - wait 255 - goto GatewayLocal00 - -GatewaySpecialState2: - wait 1 - goto GatewayWorkingToIdle - -GatewayWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -GatewayAlmostBuilt: - imgol 172 0 0 # Gateway Warp Flash (protoss\gateway.grp) - goto ScourgeLocal00 - -GatewayIsWorking: - playfram 1 - wait 1 - playfram 2 - waitrand 1 2 - playfram 3 - waitrand 1 2 - playfram 2 - waitrand 1 2 - playfram 3 - waitrand 1 2 - playfram 2 - waitrand 1 2 - playfram 1 - waitrand 1 2 - playfram 2 - waitrand 1 2 - goto GatewayIsWorking - -GatewayDisable: - playfram 0x00 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 1 - goto ScourgeLocal00 - -GatewayEnable: - playfram 5 - wait 2 - playfram 4 - wait 2 - goto GatewayWorkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 174 Cenotaph (protoss\gencore.grp) -.headerstart -IsId 174 -Type 27 -Init CenotaphInit -Death ForgeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built CenotaphBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking CenotaphIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn CenotaphWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -CenotaphInit: - imgul 177 0 0 # Cenotaph Shadow (protoss\pgcShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -CenotaphBuilt: - goto ScourgeLocal00 - -CenotaphIsWorking: - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 0x00 - goto CenotaphIsWorking - -CenotaphWarpIn: - imgol 175 0 0 # Cenotaph Warp Flash (protoss\gencore.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 176 Cenotaph Overlay (protoss\gencoreT.grp) -.headerstart -IsId 175 -Type 27 -Init CenotaphOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking CenotaphOverlayIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -CenotaphOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -CenotaphOverlayIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - goto CenotaphOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 178 Khaydarin Crystal Formation (neutral\Khyad01.grp) -.headerstart -IsId 176 -Type 20 -Init KhaydarinCrystalFormationInit -Death GatewayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KhaydarinCrystalFormationInit: - imgul 1252 0 0 # Khaydarin Formation Shadow (cm\neutral\khaydarin-formation-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 179 Nexus (protoss\nexus.grp) -.headerstart -IsId 177 -Type 21 -Init NexusInit -Death NexusDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built NexusBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn NexusWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -NexusInit: - imgul 182 0 0 # Nexus Shadow (protoss\pneShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -NexusDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -NexusBuilt: - imgol 181 0 0 # Nexus Overlay (protoss\pneGlow.grp) - goto ScourgeLocal00 - -NexusWarpIn: - imgol 180 0 0 # Nexus Warp Flash (protoss\nexus.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 181 Nexus Overlay (protoss\pneGlow.grp) -.headerstart -IsId 178 -Type 24 -Init NexusOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking NexusOverlayIsWorking -WorkingToIdle NexusOverlayInit -WarpIn ScourgeLocal00 -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NexusOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -NexusOverlayIsWorking: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - goto NexusOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 183 Warden (protoss\photon.grp) -.headerstart -IsId 179 -Type 27 -Init WardenInit -Death WardenDeath -GndAttkInit WardenGndAttkInit -AirAttkInit WardenGndAttkInit -Unused1 [NONE] -GndAttkRpt WardenGndAttkRpt -AirAttkRpt WardenGndAttkRpt -CastSpell [NONE] -GndAttkToIdle WardenGndAttkToIdle -AirAttkToIdle WardenGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn WardenWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable InfestedTerranWalkingToIdle -.headerend -# ----------------------------------------------------------------------------- # - -WardenInit: - imgul 184 0 0 # Warden Shadow (protoss\ppbShad.grp) -WardenLocal00: - playfram 0x00 - goto ScourgeLocal00 - -WardenDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -WardenGndAttkInit: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 -WardenGndAttkRpt: - wait 1 - attack - playsndbtwn 2007 2009 # Warden weaponfire 01, 02, 03 - imgol 1163 0 -20 # Warden impact - gotorepeatattk - ignorerest -WardenGndAttkToIdle: - playfram 0x22 - wait 2 - playfram 0x11 - wait 2 - goto WardenLocal00 - -WardenWarpIn: - imgol 185 0 0 # Warden Warp Flash (protoss\photon.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 189 Pylon (protoss\pylon.grp) -.headerstart -IsId 181 -Type 21 -Init PylonInit -Death PylonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built PylonBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn PylonWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -PylonInit: - imgul 191 0 0 # Pylon Shadow (protoss\ppyShad.grp) -PylonBuilt: - playfram 0x00 - goto PylonLocal01 - -PylonLocal01: - 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 0x00 - wait 10 - goto PylonLocal01 - -PylonDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - end - -PylonWarpIn: - imgol 190 0 0 # Pylon Warp Flash (protoss\pylon.grp) - goto PylonBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 192 Robotics Facility (protoss\robotic.grp) -.headerstart -IsId 182 -Type 27 -Init RoboticsFacilityInit -Death RoboticsFacilityDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking RoboticsFacilityIsWorking -WorkingToIdle RoboticsFacilityWorkingToIdle -WarpIn RoboticsFacilityWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable RoboticsFacilityDisable -Burrow [NONE] -UnBurrow [NONE] -Enable RoboticsFacilityEnable -.headerend -# ----------------------------------------------------------------------------- # - -RoboticsFacilityInit: - imgul 194 0 0 # Robotics Facility Shadow (protoss\proShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -RoboticsFacilityDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -RoboticsFacilityIsWorking: - 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 - goto RoboticsFacilityIsWorking - -RoboticsFacilityWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -RoboticsFacilityWarpIn: - imgol 193 0 0 # Robotics Facility Warp Flash (protoss\robotic.grp) - goto ScourgeLocal00 - -RoboticsFacilityDisable: - playfram 11 - wait 2 - playfram 12 - goto ScourgeLocal00 - -RoboticsFacilityEnable: - playfram 11 - wait 2 - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 195 Shield Battery (protoss\sbattery.grp) -.headerstart -IsId 183 -Type 27 -Init ShieldBatteryInit -Death ShieldBatteryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ShieldBatteryBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn ShieldBatteryWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ShieldBatteryBuilt -.headerend -# ----------------------------------------------------------------------------- # - -ShieldBatteryInit: - imgul 198 0 0 # Shield Battery Shadow (protoss\pbaShad.grp) - playfram 0x00 # Frame set 0 - goto ScourgeLocal00 - -ShieldBatteryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - end - -ShieldBatteryBuilt: - imgol 196 0 0 # Shield Battery Overlay (protoss\pbaGlow.grp) - goto ScourgeLocal00 - -ShieldBatteryWarpIn: - imgol 197 0 0 # Shileld Battery Warp Flash (protoss\sbattery.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 196 Shield Battery Overlay (protoss\pbaGlow.grp) -.headerstart -IsId 184 -Type 24 -Init ShieldBatteryOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking ShieldBatteryOverlayIsWorking -WorkingToIdle ShieldBatteryOverlayInit -WarpIn ScourgeLocal00 -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ShieldBatteryOverlayInit: - playfram 0x00 - goto ScourgeLocal00 - -ShieldBatteryOverlayIsWorking: - playsnd 481 # Protoss\Bldg\PbaAct00.wav - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto ShieldBatteryOverlayIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 199 Stargate (protoss\stargate.grp) -.headerstart -IsId 185 -Type 27 -Init StargateInit -Death StargateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 StargateSpecialState1 -SpecialState2 StargateSpecialState2 -AlmostBuilt [NONE] -Built StargateBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn StargateWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable StargateBuilt -.headerend -# ----------------------------------------------------------------------------- # - -StargateInit: - imgul 202 0 0 # Stargate Shadow (protoss\psgShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -StargateDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -StargateSpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - wait 1 - goto StargateLocal00 - -StargateLocal00: - wait 255 - goto StargateLocal00 - -StargateSpecialState2: - wait 1 - goto StargateLocal01 - -StargateLocal01: - playfram 0x00 - goto StargateBuilt - -StargateBuilt: - imgol 200 0 0 # Stargate Overlay (protoss\psgGlow.grp) - goto ScourgeLocal00 - -StargateWarpIn: - imgol 201 0 0 # Stargate Warp Flash (protoss\stargate.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 200 Stargate Overlay (protoss\psgGlow.grp) -.headerstart -IsId 186 -Type 27 -Init StargateOverlayInit -Death StargateOverlayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking StargateOverlayIsWorking -WorkingToIdle StargateOverlayWorkingToIdle -WarpIn ScourgeLocal00 -Unused3 [NONE] -StarEditInit [NONE] -Disable StargateOverlayDisable -Burrow [NONE] -UnBurrow [NONE] -Enable StargateOverlayEnable -.headerend -# ----------------------------------------------------------------------------- # - -StargateOverlayInit: - playfram 0 - wait 2 -StargateOverlayWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -StargateOverlayIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - goto StargateOverlayIsWorking - -StargateOverlayEnable: - tmprmgraphicend - wait 2 - goto StargateOverlayWorkingToIdle - -StargateOverlayDisable: - playfram 8 - wait 2 - tmprmgraphicstart - goto ScourgeLocal00 - -StargateOverlayDeath: - playfram 8 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 203 Stasis Cell/Prison (neutral\stasis.grp) -.headerstart -IsId 187 -Type 20 -Init StasisCell_PrisonInit -Death ForgeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built StasisCell_PrisonInit -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StasisCell_PrisonInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 204 Robotics Support Bay (protoss\stasis.grp) -.headerstart -IsId 188 -Type 27 -Init RoboticsSupportBayInit -Death RoboticsSupportBayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking RoboticsSupportBayIsWorking -WorkingToIdle RoboticsSupportBayWorkingToIdle -WarpIn RoboticsSupportBayWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -RoboticsSupportBayInit: - imgul 206 0 0 # Robotics Support Bay Shadow (protoss\pstShad.grp) - playfram 1 - goto ScourgeLocal00 - -RoboticsSupportBayDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -RoboticsSupportBayIsWorking: - playfram 2 - wait 2 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto RoboticsSupportBayIsWorking - -RoboticsSupportBayWorkingToIdle: - playfram 1 # Frame set 0, direction 1 - goto ScourgeLocal00 - -RoboticsSupportBayWarpIn: - imgol 205 0 0 # Robotics Support Bay Warp Flash (protoss\stasis.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 207 Protoss Temple (neutral\temple.grp) -.headerstart -IsId 189 -Type 20 -Init TempleInit -Death NexusDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TempleInit: - imgul 1228 0 0 # Protoss Temple Shadow (cm\neutral\temple-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 208 Fleet Beacon (protoss\warp.grp) -.headerstart -IsId 190 -Type 27 -Init FleetBeaconInit -Death FleetBeaconDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking FleetBeaconIsWorking -WorkingToIdle FleetBeaconWorkingToIdle -WarpIn FleetBeaconWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -FleetBeaconInit: - imgul 212 0 0 # Fleet Beacon Shadow (protoss\pwaShad.grp) - playfram 1 - goto ScourgeLocal00 - -FleetBeaconDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -FleetBeaconIsWorking: - playfram 2 - wait 2 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto FleetBeaconIsWorking - -FleetBeaconWorkingToIdle: - playfram 1 - goto ScourgeLocal00 - -FleetBeaconWarpIn: - imgol 209 0 0 # Fleet Beacon Warp Flash (protoss\warp.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 211 Warp Anchor (protoss\pb1Glow.grp) -.headerstart -IsId 191 -Type 15 -Init WarpAnchorInit -Death WarpAnchorDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WarpAnchorSpecialState1 -SpecialState2 WarpAnchorSpecialState1 -AlmostBuilt WarpAnchorSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -WarpAnchorInit: - playfram 0x02 - warpoverlay 0x02 - wait 2 - playfram 0x03 - warpoverlay 0x03 - wait 2 - playfram 0x04 - warpoverlay 0x04 - wait 2 - playfram 0x05 - warpoverlay 0x05 - wait 2 - playfram 0x06 - warpoverlay 0x06 - wait 2 - playfram 0x07 - warpoverlay 0x07 - wait 2 -WarpAnchorLocal00: - playfram 0x08 - warpoverlay 0x08 - wait 1 - playfram 0x09 - warpoverlay 0x09 - wait 1 - playfram 0x0A - warpoverlay 0x0A - wait 1 - playfram 0x0B - warpoverlay 0x0B - wait 1 - playfram 0x0C - warpoverlay 0x0C - wait 1 - playfram 0x0D - warpoverlay 0x0D - wait 1 - goto WarpAnchorLocal00 - -WarpAnchorDeath: - playfram 0x07 - warpoverlay 0x07 - wait 2 - playfram 0x06 - warpoverlay 0x06 - wait 2 - playfram 0x05 - warpoverlay 0x05 - wait 2 - playfram 0x04 - warpoverlay 0x04 - wait 2 - playfram 0x03 - warpoverlay 0x03 - wait 2 - playfram 0x02 - warpoverlay 0x02 - wait 2 - end - -WarpAnchorSpecialState1: - playfram 0x00 - warpoverlay 0x00 - wait 2 - playfram 0x01 - warpoverlay 0x01 - wait 2 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 115 Carrier Warp Flash (protoss\carrier.grp) -# 121 Envoy Warp Flash (protoss\shuttle.grp) -# 125 Dracadin Warp Flash (protoss\dragoon.grp) -# 128 Cantavis Warp Flash (protoss\templar.grp) -# 133 Didact Warp Flash (protoss\didact.grp) -# 139 Scribe Warp Flash (protoss\probe.grp) -# 143 Scout Warp Flash (protoss\scout.grp) -# 146 Accantor Warp Flash (protoss\trilob.grp) -# 150 Witness Warp Flash (protoss\witness.grp) -# 154 Zealot Warp Flash (protoss\zealot.grp) -# 156 Templar Archives Warp Flash (protoss\archives.grp) -# 159 Aquifer Warp Flash (protoss\assim.grp) -# 162 Observatory Warp Flash (protoss\beacon.grp) -# 165 Citadel of Adun Warp Flash (protoss\citadel.grp) -# 169 Forge Warp Flash (protoss\forge.grp) -# 172 Gateway Warp Flash (protoss\gateway.grp) -# 175 Cenotaph Warp Flash (protoss\gencore.grp) -# 180 Nexus Warp Flash (protoss\nexus.grp) -# 185 Warden Warp Flash (protoss\photon.grp) -# 187 Didact Tribunal Warp Flash (protoss\prism.grp) -# 190 Pylon Warp Flash (protoss\pylon.grp) -# 193 Robotics Facility Warp Flash (protoss\robotic.grp) -# 197 Shileld Battery Warp Flash (protoss\sbattery.grp) -# 201 Stargate Warp Flash (protoss\stargate.grp) -# 205 Robotics Support Bay Warp Flash (protoss\stasis.grp) -# 209 Fleet Beacon Warp Flash (protoss\warp.grp) -.headerstart -IsId 192 -Type 1 -Init WarpFlashHeaderInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -WarpFlashHeaderInit: - playfram 0x00 - wait 1 - followmaingraphic - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 210 Warp Texture (protoss\texture.grp) -.headerstart -IsId 193 -Type 1 -Init WarpTextureInit -Death WarpTextureDeath -.headerend -# ----------------------------------------------------------------------------- # - -WarpTextureInit: - warpoverlay 0x00 - wait 1 - warpoverlay 1 - wait 1 - warpoverlay 2 - wait 1 - warpoverlay 3 - wait 1 - warpoverlay 4 - wait 1 - warpoverlay 5 - wait 1 - warpoverlay 6 - wait 1 - warpoverlay 7 - wait 1 - warpoverlay 8 - wait 1 - warpoverlay 9 - wait 1 - warpoverlay 10 - wait 1 - warpoverlay 11 - wait 1 - warpoverlay 12 - wait 1 - warpoverlay 13 - wait 1 - warpoverlay 14 - wait 1 - warpoverlay 15 - wait 1 - warpoverlay 16 - wait 1 - warpoverlay 0x11 - wait 1 - warpoverlay 18 - wait 1 - warpoverlay 19 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -WarpTextureDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 338 Ragnasaur (neutral\Acritter.grp) -.headerstart -IsId 198 -Type 12 -Init RagnasaurInit -Death RagnasaurDeath -GndAttkInit RagnasaurGndAttkInit -AirAttkInit RagnasaurGndAttkInit -Unused1 [NONE] -GndAttkRpt RagnasaurGndAttkInit -AirAttkRpt RagnasaurGndAttkInit -CastSpell RagnasaurCastSpell -GndAttkToIdle RagnasaurGndAttkToIdle -AirAttkToIdle RagnasaurGndAttkToIdle -Unused2 [NONE] -Walking RagnasaurWalking -WalkingToIdle RagnasaurGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -RagnasaurInit: - imgul 339 0 0 # Ragnasaur Shadow (neutral\nacShad.grp) -RagnasaurGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -RagnasaurDeath: - playsndbtwn 276 277 # Maverick death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -RagnasaurGndAttkInit: - playfram 0x00 - wait 1 -RagnasaurGndAttkRpt: - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - playsndbtwn 1189 1193 # Ragnasaur weaponfire 01, 02, 03, 04, 05 - attackwith 1 - wait 1 - playfram 0x11 - wait 1 - nobrkcodeend - gotorepeatattk - goto RagnasaurGndAttkToIdle - -RagnasaurCastSpell: - playsnd 974 # Misc\CRITTERS\ScWht03.wav - wait 1 - goto RagnasaurGndAttkToIdle - -RagnasaurWalking: - move 3 - wait 1 - playfram 0x11 - move 3 - wait 1 - playfram 0x33 - move 3 - wait 1 - playfram 0x44 - move 3 - wait 1 - playfram 0x55 - move 3 - wait 1 - playfram 0x66 - move 3 - wait 1 - playfram 0x77 - move 3 - wait 1 - playfram 0x88 - move 3 - wait 1 - playfram 0x99 - move 3 - wait 1 - playfram 0xaa - move 3 - wait 1 - playfram 0xbb - move 3 - wait 1 - playfram 0xcc - move 3 - wait 1 - playfram 0xdd - move 3 - wait 1 - playfram 0xee - move 3 - wait 1 - goto RagnasaurWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 340 Rhynadon (Badlands) (neutral\Bcritter.grp) -.headerstart -IsId 199 -Type 12 -Init Rhynadon_BadlandsCritter_Init -Death Rhynadon_BadlandsCritter_Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Rhynadon_BadlandsCritter_Walking -WalkingToIdle Rhynadon_BadlandsCritter_WalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Rhynadon_BadlandsCritter_Init: - imgul 341 0 0 # Rhynadon (Badlands) Shadow (neutral\nbcShad.grp) -Rhynadon_BadlandsCritter_WalkingToIdle: - playfram 0x66 - goto ScourgeLocal00 - -Rhynadon_BadlandsCritter_Death: - playsnd 57 # Misc\CRITTERS\BCrDth00.wav - setfldirect 0 - playfram 0xbb - wait 1 - playfram 188 - wait 1 - playfram 189 - wait 1 - playfram 190 - wait 1 - playfram 191 - wait 1 - playfram 192 - wait 1 - playfram 193 - wait 1 - playfram 194 - wait 1 - end - -Rhynadon_BadlandsCritter_Walking: - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - goto Rhynadon_BadlandsCritter_Walking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 342 Bengalaas (Jungle) (neutral\Jcritter.grp) -.headerstart -IsId 200 -Type 12 -Init Bengalaas_JungleCritter_Init -Death Bengalaas_JungleCritter_Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Bengalaas_JungleCritter_Walking -WalkingToIdle Bengalaas_JungleCritter_WalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Bengalaas_JungleCritter_Init: - imgul 343 0 0 # Bengalaas (Jungle) Shadow (neutral\njcShad.grp) -Bengalaas_JungleCritter_WalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -Bengalaas_JungleCritter_Death: - playsnd 49 # Misc\CRITTERS\JCrDth00.wav - setfldirect 0 - playfram 0xcc - wait 1 - playfram 205 - wait 1 - playfram 206 - wait 1 - playfram 207 - wait 1 - playfram 208 - wait 1 - playfram 209 - wait 1 - playfram 210 - wait 1 - playfram 211 - wait 1 - end - -Bengalaas_JungleCritter_Walking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0x00 - goto Bengalaas_JungleCritter_Walking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 344 Vespene Geyser (neutral\geyser.grp) -.headerstart -IsId 201 -Type 20 -Init VespeneGeyserInit -Death VespeneGeyserDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 VespeneGeyserSpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built VespeneGeyserBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking VespeneGeyserSpecialState1 -WorkingToIdle VespeneGeyserSpecialState1 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VespeneGeyserInit: - playframtile 0x00 - imgul 346 0 0 # Vespene Geyser Shadow (neutral\geyShad.grp) -VespeneGeyserBuilt: - wait 14 -VespeneGeyserSpecialState1: - wait 1 - 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 - waitrand 5 50 - goto VespeneGeyserSpecialState1 - -VespeneGeyserDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 345 Vespene Geyser Underlay (neutral\geyser.grp) -.headerstart -IsId 202 -Type 20 -Init VespeneGeyserUnderlayInit -Death VespeneGeyserDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ScourgeLocal00 -SpecialState2 ScourgeLocal00 -AlmostBuilt ScourgeLocal00 -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VespeneGeyserUnderlayInit: - playframtile 0x00 - imgul 346 0 0 # Vespene Geyser Shadow (neutral\geyShad.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 346 Vespene Geyser Shadow (neutral\geyShad.grp) -.headerstart -IsId 203 -Type 1 -Init VespeneGeyserShadowInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -VespeneGeyserShadowInit: - playframtile 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 347 Mineral Field Type1 (neutral\min01.grp) -.headerstart -IsId 204 -Type 20 -Init MineralFieldType1Init -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType1Init: - imgul 348 0 0 # Mineral Field Type1 Shadow (neutral\min01Sha.grp) - goto InfestedTerranWalkingToIdle - -MineralFieldType1SpecialState1: - playfram 3 - goto ScourgeLocal00 - -MineralFieldType1SpecialState2: - playfram 2 - goto ScourgeLocal00 - -MineralFieldType1AlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -MineralFieldType1Landing: - playfram 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 349 Mineral Field Type2 (neutral\min02.grp) -.headerstart -IsId 205 -Type 20 -Init MineralFieldType2Init -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType2Init: - imgul 350 0 0 # Mineral Field Type2 Shadow (neutral\min02Sha.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 351 Mineral Field Type3 (neutral\min03.grp) -.headerstart -IsId 206 -Type 20 -Init MineralFieldType3Init -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType3Init: - imgul 352 0 0 # Mineral Field Type3 Shadow (neutral\min03Sha.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 353 Independent Starport (Unused) (protoss\scout.grp) -.headerstart -IsId 207 -Type 20 -Init Unknown207Init -Death Unknown207Death -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built Unknown207Init -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown207Init: - playfram 0x00 - goto ScourgeLocal00 - -Unknown207Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 355 Zerg Beacon Overlay (zerg\zCirGlow.grp) -.headerstart -IsId 208 -Type 1 -Init ZergBeaconOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergBeaconOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto ZergBeaconOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 357 Terran Beacon Overlay (terran\tCirGlow.grp) -.headerstart -IsId 209 -Type 1 -Init TerranBeaconOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -TerranBeaconOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto TerranBeaconOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 359 Protoss Beacon Overlay (protoss\pCirGlow.grp) -.headerstart -IsId 210 -Type 1 -Init ProtossBeaconOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ProtossBeaconOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto ProtossBeaconOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 354 Zerg Beacon (zerg\zmarker.grp) -.headerstart -IsId 211 -Type 1 -Init ZergBeaconInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergBeaconInit: - playfram 0x00 - imgol 355 0 0 # Zerg Beacon Overlay (zerg\zCirGlow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 358 Protoss Beacon (protoss\pMarker.grp) -.headerstart -IsId 212 -Type 1 -Init ProtossBeaconInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ProtossBeaconInit: - playfram 0x00 - imgol 359 0 0 # Protoss Beacon Overlay (protoss\pCirGlow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 356 Terran Beacon (terran\tMarker.grp) -.headerstart -IsId 213 -Type 1 -Init TerranBeaconInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -TerranBeaconInit: - playfram 0x00 - imgol 357 0 0 # Terran Beacon Overlay (terran\tCirGlow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 214 -Type 1 -Init Unknown214Init -Death Unknown214Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown214Init: - playfram 0x00 - goto ScourgeLocal00 - -Unknown214Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 405 Mineral Chunk Shadow (neutral\norShad.grp) -# 406 Protoss Gas Orb Shadow (neutral\ngoShad.grp) -# 407 Zerg Gas Sac Shadow (neutral\ngsShad.grp) -# 408 Terran Gas Tank Shadow (neutral\ngcShad.grp) -# 409 Data Disk Shadow (Ground) (neutral\nddShad.grp) -# 410 Data Disk Shadow (Carried) (neutral\nddSha2.grp) -# 411 Flag Shadow (Ground) (neutral\nflShad.grp) -# 412 Flag Shadow (Carried) (neutral\nflSha2.grp) -# 413 Crystal Shadow (Ground) (neutral\nkhShad.grp) -# 414 Crystal Shadow (Carried) (neutral\nkhSha2.grp) -# 415 Young Chrysalis Shadow (Ground) (neutral\nkeShad.grp) -# 416 Young Chrysalis Shadow (Carried) (neutral\nkeSha2.grp) -# 417 Psi Emitter Shadow (Ground) (neutral\npsShad.grp) -# 418 Psi Emitter Shadow (Carried) (neutral\npsSha2.grp) -.headerstart -IsId 215 -Type 1 -Init PowerupsShadowHeaderInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PowerupsShadowHeaderInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 392 Flag (neutral\Flag.grp) -.headerstart -IsId 216 -Type 1 -Init FlagInit -Death FlagDeath -.headerend -# ----------------------------------------------------------------------------- # - -FlagInit: - playfram 0x00 - pwrupcondjmp FlagLocal00 - imgul 411 0 0 # Flag Shadow (Ground) (neutral\nflShad.grp) - goto FlagLocal01 - -FlagLocal01: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto FlagLocal01 - -FlagLocal00: - wait 1 - switchul 412 # Flag Shadow (Carried) (neutral\nflSha2.grp) - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto FlagLocal01 - -FlagDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 394 Psi Emitter (neutral\PsiEmit.grp) -.headerstart -IsId 217 -Type 1 -Init PsiEmitterInit -Death PsiEmitterDeath -.headerend -# ----------------------------------------------------------------------------- # - -PsiEmitterInit: - pwrupcondjmp PsiEmitterLocal00 - imgul 417 0 0 # Psi Emitter Shadow (Ground) (neutral\npsShad.grp) - goto PsiEmitterLocal01 - -PsiEmitterLocal01: - 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 - goto PsiEmitterLocal01 - -PsiEmitterLocal00: - wait 1 - switchul 418 # Psi Emitter Shadow (Carried) (neutral\npsSha2.grp) - goto PsiEmitterLocal01 - -PsiEmitterDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 395 Blue Burst Lasers (neutral\DataDisk.grp) -.headerstart -IsId 218 -Type 2 -Init BlueBurstLaserInit -Death BlueBurstLaserDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BlueBurstLaserInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -BlueBurstLaserDeath: - imgol 1105 0 0 # Burst Lasers Hit (Blue) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 396 Khaydarin Crystal (neutral\KhChunk.grp) -# 958 Uraj (neutral\Uraj.grp) -# 959 Khalis (neutral\Khalis.grp) -.headerstart -IsId 219 -Type 1 -Init CrystalsShadowsInit -Death CrystalsShadowsDeath -.headerend -# ----------------------------------------------------------------------------- # - -CrystalsShadowsInit: - playfram 0x00 - pwrupcondjmp CrystalsShadowsLocal00 - imgul 413 0 0 # Crystal Shadow (Ground) (neutral\nkhShad.grp) - goto ScourgeLocal00 - -CrystalsShadowsLocal00: - wait 1 - switchul 414 # Crystal Shadow (Carried) (neutral\nkhSha2.grp) - goto ScourgeLocal00 - -CrystalsShadowsDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 393 Vorvrokor (cm\zerg\vorvrokor.grp) -.headerstart -IsId 220 -Type 26 -Init VorvrokorInit -Death VorvrokorDeath -GndAttkInit VorvrokorGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt VorvrokorGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle VorvrokorGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking VorvrokorWalking -WalkingToIdle VorvrokorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 VorvrokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow VorvrokorBurrow -UnBurrow VorvrokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VorvrokorInit: - imgul 1772 -1 -5 # Vorvrokor Shadow (cm\zerg\vorvrokor-shadow.grp) -VorvrokorGndAttkToIdle: - playfram 0x55 - goto ZethrokorLocal00 - -VorvrokorDeath: - playsnd 1160 # Vorvrokor death 01 - setfldirect 0 - playfram 0x121 - wait 2 - playfram 290 - wait 2 - playfram 291 - wait 2 - playfram 292 - wait 2 - playfram 293 - wait 2 - playfram 294 - wait 2 - playfram 295 - wait 2 - lowsprul 942 0 0 # Vorvrokor Remnants (cm\zerg\vorvrokor-death.grp) - wait 1 - end - -VorvrokorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - nobrkcodeend - gotorepeatattk - goto VorvrokorGndAttkToIdle - -VorvrokorWalking: - move 7 - wait 1 - playfram 0x66 - move 7 - wait 1 - playfram 0x77 - move 7 - wait 1 - playfram 0x88 - move 7 - wait 1 - playfram 0x99 - move 7 - wait 1 - playfram 0xaa - move 7 - wait 1 - playfram 0xbb - move 7 - wait 1 - playfram 0x55 - goto VorvrokorWalking - -VorvrokorSpecialState2: - playfram 0x110 - goto ScourgeLocal00 - -VorvrokorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -VorvrokorUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xff - wait 1 - playfram 0xee - wait 1 - playfram 0xdd - wait 1 - playfram 0xcc - wait 1 - sigorder 4 - goto VorvrokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 397 Mineral Chunk Type1 (neutral\OreChunk.grp) -.headerstart -IsId 221 -Type 1 -Init OreChunkInit -Death OreChunkDeath -.headerend -# ----------------------------------------------------------------------------- # - -OreChunkInit: - playfram 0x00 - pwrupcondjmp ScourgeLocal00 - imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) - goto ScourgeLocal00 - -OreChunkDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 398 Mineral Chunk Type2 (neutral\OreChunk.grp) -.headerstart -IsId 222 -Type 1 -Init OreChunk2Init -Death OreChunk2Death -.headerend -# ----------------------------------------------------------------------------- # - -OreChunk2Init: - playfram 0x11 - pwrupcondjmp ScourgeLocal00 - imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) - goto ScourgeLocal00 - -OreChunk2Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 401 Zerg Gas Sac Type1 (neutral\GasSac.grp) -.headerstart -IsId 223 -Type 1 -Init GasSacInit -Death GasSacDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasSacInit: - playfram 0x00 - pwrupcondjmp ScourgeLocal00 - imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) - goto ScourgeLocal00 - -GasSacDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 402 Zerg Gas Sac Type2 (neutral\GasSac.grp) -.headerstart -IsId 224 -Type 1 -Init GasSac2Init -Death GasSacDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasSac2Init: - playfram 0x11 - pwrupcondjmp ScourgeLocal00 - imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 399 Protoss Gas Orb Type1 (neutral\GasOrb.grp) -.headerstart -IsId 225 -Type 1 -Init GasOrbInit -Death GasOrbDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasOrbInit: - playfram 0x00 - pwrupcondjmp ScourgeLocal00 - imgul 406 0 0 # Protoss Gas Orb Shadow (neutral\ngoShad.grp) - goto ScourgeLocal00 - -GasOrbDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 400 Protoss Gas Orb Type2 (neutral\GasOrb.grp) -.headerstart -IsId 226 -Type 1 -Init GasOrb2Init -Death GasOrbDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasOrb2Init: - playfram 0x11 - pwrupcondjmp ScourgeLocal00 - imgul 406 0 0 # Protoss Gas Orb Shadow (neutral\ngoShad.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 403 Terran Gas Tank Type1 (neutral\GasTank.grp) -.headerstart -IsId 227 -Type 1 -Init GasTankInit -Death GasTankDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasTankInit: - playfram 0x00 - pwrupcondjmp ScourgeLocal00 - imgul 408 0 0 # Terran Gas Tank Shadow (neutral\ngcShad.grp) - goto ScourgeLocal00 - -GasTankDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 404 Terran Gas Tank Type2 (neutral\GasTank.grp) -.headerstart -IsId 228 -Type 1 -Init GasTank2Init -Death GasTankDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasTank2Init: - playfram 1 - pwrupcondjmp ScourgeLocal00 - imgul 408 0 0 # Terran Gas Tank Shadow (neutral\ngcShad.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 549 Archon Beam (thingy\emsBeam.grp) -.headerstart -IsId 229 -Type 1 -Init ArchonOverlayInit -Death ArchonOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -ArchonOverlayInit: - nobrkcodestart - tmprmgraphicstart - trgtrangecondjmp 70 ArchonOverlayLocal00 - playfram 0x00 - wait 1 - tmprmgraphicend - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - goto ArchonOverlayDeath - -ArchonOverlayDeath: - nobrkcodeend - wait 1 - end - -ArchonOverlayLocal00: - playfram 0x22 - wait 1 - tmprmgraphicend - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - nobrkcodeend - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 520 Particle Beam Hit (bullet\ephFire.grp) -.headerstart -IsId 230 -Type 2 -Init ParticleBeamHitInit -Death ParticleBeamHitDeath -GndAttkInit ParticleBeamHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ParticleBeamHitInit: - wait 1 - sigorder 1 - wait 1 -ParticleBeamHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 519 Dual Photon Blasters Hit (bullet\pspark.grp) -.headerstart -IsId 231 -Type 2 -Init DualPhotonBlasterHitInit -Death DualPhotonBlasterHitDeath -GndAttkInit DualPhotonBlasterHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DualPhotonBlasterHitInit: - wait 1 - sigorder 1 - wait 1 -DualPhotonBlasterHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 521 Anti-Matter Missile (bullet\hks.grp) -.headerstart -IsId 232 -Type 2 -Init AntiMatterMissileInit -Death AntiMatterMissileDeath -GndAttkInit AntiMatterMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AntiMatterMissileInit: - playfram 0x00 - wait 1 - sigorder 1 -AntiMatterMissileGndAttkInit: - wait 2 - sprol 373 0 0 # Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) - goto AntiMatterMissileGndAttkInit - -AntiMatterMissileDeath: - imgol 442 0 0 # Anti-Matter Missile Hit (thingy\HKexplod.grp) - if bullet.weapon_id == 71 goto AntiMatterMissileEmpyrean - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - wait 1 - end - -AntiMatterMissileEmpyrean: - playsndbtwn 2016 2019 # Empyrean weaponhit 01, 02, 03, 04 - domissiledmg - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 522 Pulse Cannon (bullet\blastcan.grp) -.headerstart -IsId 233 -Type 2 -Init PulseCannonInit -Death PulseCannonDeath -GndAttkInit PulseCannonGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PulseCannonInit: - playsnd 65 # Bullet\BlastCan.wav - wait 1 - sigorder 1 - wait 1 -PulseCannonGndAttkInit: - playfram 0x00 - wait 1 - goto PulseCannonGndAttkInit - -PulseCannonDeath: - playsnd 9 # Misc\ExploSm.wav - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 523 Phase Disruptor (bullet\dragbull.grp) -.headerstart -IsId 234 -Type 2 -Init PhaseDisruptorInit -Death PhaseDisruptorDeath -GndAttkInit PhaseDisruptorGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhaseDisruptorInit: - wait 1 - sigorder 1 - wait 1 -PhaseDisruptorGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - goto PhaseDisruptorGndAttkInit - -PhaseDisruptorDeath: - imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) - domissiledmg - if bullet.weapon_id == 66 goto PhaseDisruptor_Dracadin - playsnd 2848 # Panoptus weaponhit 01 - wait 1 - end - -PhaseDisruptor_Dracadin: - playsndbtwn 2673 2675 # Dracadin weaponhit 01, 02, 03 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 524 STA/STS Warden Overlay (bullet\epbBul.grp) -.headerstart -IsId 235 -Type 2 -Init STA_STSWardenOverlayInit -Death STA_STSWardenOverlayDeath -GndAttkInit STA_STSWardenOverlayGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -STA_STSWardenOverlayInit: - playsnd 99 # Bullet\DragBull.wav - wait 1 - sigorder 1 - wait 1 -STA_STSWardenOverlayGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto STA_STSWardenOverlayGndAttkInit - -STA_STSWardenOverlayDeath: - imgol 1163 0 0 # Warden Hit (thingy\phohit.grp) - domissiledmg - playsndbtwn 1385 1386 # Warden weapon hit 01, 02 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 525 Psionic Storm (thingy\psiStorm.grp) -.headerstart -IsId 236 -Type 14 -Init PsionicStormInit -Death Generic_Wait1End -GndAttkInit Generic_Wait1End -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 PsionicStormSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PsionicStormInit: - playfram 0x00 - tmprmgraphicstart - wait 5 - goto PsionicStormSpecialState2 - -PsionicStormSpecialState2: - tmprmgraphicend -PsionicStormLocal00: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - goto PsionicStormLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 526 Fusion Cutter Hit (bullet\scvspark.grp) -.headerstart -IsId 237 -Type 2 -Init FusionCutterHitInit -Death FusionCutterHitDeath -GndAttkInit FusionCutterHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FusionCutterHitInit: - wait 1 - sigorder 1 - wait 1 -FusionCutterHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 527 Gauss Rifle Hit (bullet\tspark.grp) -.headerstart -IsId 238 -Type 2 -Init GaussRifleHitInit -Death GaussRifleHitDeath -GndAttkInit GaussRifleHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GaussRifleHitInit: - wait 1 - sigorder 1 - wait 1 -GaussRifleHitDeath: - playfram 0x00 - domissiledmg - wait 1 - 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 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 528 Gemini Missiles (bullet\gemini.grp) -.headerstart -IsId 239 -Type 2 -Init GeminiMissilesInit -Death GeminiMissilesDeath -GndAttkInit GeminiMissilesGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GeminiMissilesInit: - playfram 0x00 - playsndbtwn 82 83 # Bullet\TPhFi200.wav | Bullet\TPhFi200.wav - wait 1 - sigorder 1 - wait 1 -GeminiMissilesGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 2 - goto GeminiMissilesGndAttkInit - -GeminiMissilesDeath: - playsnd 9 # Misc\ExploSm.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 529 Lockdown/LongBolt/Hellfire Missile (bullet\missile.grp) -.headerstart -IsId 240 -Type 2 -Init LongboltMissileInit -Death LongboltMissileDeath -GndAttkInit LongboltMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LongboltMissileInit: - playfram 0x00 - playsnd 80 # Bullet\HKMISSLE.wav - wait 1 - sigorder 1 - wait 1 -LongboltMissileGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto LongboltMissileGndAttkInit - -LongboltMissileDeath: - playsnd 9 # Misc\ExploSm.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 531 C-10 Canister Rifle Hit (thingy\ecaHit.grp) -.headerstart -IsId 241 -Type 2 -Init C_10CanisterRifleHitInit -Death C_10CanisterRifleHitDeath -GndAttkInit C_10CanisterRifleHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -C_10CanisterRifleHitInit: - wait 1 - sigorder 1 - wait 1 -C_10CanisterRifleHitDeath: - playfram 0x00 - domissiledmg - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 532 Fragmentation Grenade (bullet\grenade.grp) -.headerstart -IsId 242 -Type 2 -Init FragmentationGrenadeInit -Death FragmentationGrenadeDeath -GndAttkInit FragmentationGrenadeGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FragmentationGrenadeInit: - playfram 0x00 - playsnd 106 # Bullet\tvuFir00.wav - wait 1 - sigorder 1 - wait 1 -FragmentationGrenadeGndAttkInit: - sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) - wait 1 -FragmentationGrenadeLocal00: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto FragmentationGrenadeLocal00 - -FragmentationGrenadeDeath: - imgol 440 0 0 # Fragmentation Grenade Hit (thingy\efgHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 534 ATS/ATA Laser Battery (thingy\elbfire.grp) -# 535 Burst Lasers (thingy\elbfireW.grp) -.headerstart -IsId 243 -Type 2 -Init ATA_ATSLaserBattery_BurstLasersInit -Death ATA_ATSLaserBattery_BurstLasersDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ATA_ATSLaserBattery_BurstLasersInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -ATA_ATSLaserBattery_BurstLasersDeath: - imgol 447 0 0 # Burst Lasers Hit (thingy\elbHit.grp) - domissiledmg - if bullet.weapon_id == 170 goto ATA_ATSLaserBattery_BurstLasersRamesses - if bullet.weapon_id == 173 goto ATA_ATSLaserBattery_BurstLasersCataphract - playsnd 77 # Bullet\LASRHIT3.wav - goto ATA_ATSLaserBattery_BurstLasersDeath2 - -ATA_ATSLaserBattery_BurstLasersCataphract: - playsndbtwn 2518 2520 # Cataphract weaponhit 01, 02, 03 - goto ATA_ATSLaserBattery_BurstLasersDeath2 - -ATA_ATSLaserBattery_BurstLasersRamesses: - playsnd 3178 # Ramesses weaponhit 01 -ATA_ATSLaserBattery_BurstLasersDeath2: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 360 Magna Pulse (Unused) (thingy\eldFire.grp) -.headerstart -IsId 244 -Type 1 -Init Unknown244Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Unknown244Init: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 361 Lockdown Field (Small) (thingy\eldSmall.grp) -# 362 Lockdown Field (Medium) (thingy\eldMed.grp) -# 363 Lockdown Field (Large) (thingy\eldLarge.grp) -.headerstart -IsId 245 -Type 1 -Init LockdownHitInit -Death LockdownHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -LockdownHitInit: - 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 -LockdownHitLocal00: - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 11 - wait 2 - playfram 10 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - goto LockdownHitLocal00 - -LockdownHitDeath: - playfram 13 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 533 Arclite Shock Cannon Hit (thingy\mushroom.grp) -.headerstart -IsId 246 -Type 2 -Init ArcliteShockCannonHitInit -Death ArcliteShockCannonHitDeath -GndAttkInit ArcliteShockCannonHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ArcliteShockCannonHitInit: - playfram 0x00 - wait 1 - sigorder 1 - playfram 1 - wait 1 -ArcliteShockCannonHitDeath: - playsnd 2859 # Phalanx Siege weaponhit 01 - playfram 2 - domissiledmg - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 541 Yamato Gun (bullet\eycBull.grp) -.headerstart -IsId 247 -Type 2 -Init YamatoGunInit -Death YamatoGunDeath -GndAttkInit YamatoGunGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -YamatoGunInit: - playfram 0x00 - playsnd 179 # Terran\BATTLE\tBaYam02.wav - wait 1 - sigorder 1 - wait 1 -YamatoGunGndAttkInit: - wait 3 - sprul 351 0 0 # Yamato Gun Trail (bullet\eycBull.grp) - goto YamatoGunGndAttkInit - -YamatoGunDeath: - imgol 544 0 0 # Yamato Gun Hit (thingy\eycHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 542 Yamato Gun Trail (bullet\eycBull.grp) -.headerstart -IsId 248 -Type 0 -Init YamatoGunTrailInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -YamatoGunTrailInit: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 554 EMP Shockwave Missile (bullet\missile.grp) -.headerstart -IsId 249 -Type 2 -Init Lockdown_EMPShockwaveMissileInit -Death Lockdown_EMPShockwaveMissileDeath -GndAttkInit Lockdown_EMPShockwaveMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Lockdown_EMPShockwaveMissileInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -Lockdown_EMPShockwaveMissileGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto Lockdown_EMPShockwaveMissileGndAttkInit - -Lockdown_EMPShockwaveMissileDeath: - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 536 Phalanx (Tank) Turret Attack Overlay (thingy\ettFlash.grp) -.headerstart -IsId 250 -Type 1 -Init PhalanxTankTurretOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PhalanxTankTurretOverlayInit: - playfram 0x00 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 537 Phalanx (Siege) Turret Attack Overlay (thingy\esiFire.grp) -.headerstart -IsId 251 -Type 1 -Init PhalanxSiegeTurretOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PhalanxSiegeTurretOverlayInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 538 Seraph Overlay (Part1) (thingy\tveGlowB.grp) -# 539 Seraph Overlay (Part2) (thingy\tveGlowO.grp) -# 540 Seraph Overlay (Part3) (thingy\tveGlowW.grp) -.headerstart -IsId 252 -Type 1 -Init ScienceVesselOverlayInit -Death ScienceVesselOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -ScienceVesselOverlayInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 1 -ScienceVesselOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 545 Hallucination Hit (thingy\halmind.grp) -# 546 Scanner Sweep Hit (thingy\eveCast.grp) -.headerstart -IsId 253 -Type 1 -Init HallucinationHitInit -Death HallucinationHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -HallucinationHitInit: - 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 1 -HallucinationHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 254 -Type 0 -Init Unknown254Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown254Init: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 505 Plasma Drip Hit (Unused) (bullet\PDripHit.grp) -.headerstart -IsId 255 -Type 0 -Init Unknown255Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown255Init: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 504 Needle Spine Hit (bullet\zspark.grp) -.headerstart -IsId 256 -Type 2 -Init NeedleSpinesHitInit -Death NeedleSpinesHitDeath -GndAttkInit NeedleSpinesHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NeedleSpinesHitInit: - wait 1 - sigorder 1 - wait 1 -NeedleSpinesHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 507 Venom (Unused Zerg Weapon) (thingy\ep2Fire.grp) -.headerstart -IsId 257 -Type 13 -Init Venom_Unused_Init -Death Venom_Unused_Death -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -Unused1 Venom_Unused_Unused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 Venom_Unused_Unused2 -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 Venom_Unused_SpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -Venom_Unused_Init: - playfram 0x00 - wait 1 - sigorder 1 - if bullet.weapon_id == 37 goto Venom_Unused_Unused1 - goto ScourgeLocal00 - -Venom_Unused_Death: - domissiledmg - if bullet.weapon_id == 37 goto Venom_Unused_Unused2 - playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 - imgol 508 0 0 # Venom Hit (Unused) (thingy\etgHit.grp) - wait 1 - end - -Venom_Unused_Unused1: - tmprmgraphicstart - goto ScourgeLocal00 - -Venom_Unused_Unused2: - imgol 1097 0 0 # Nathrokor Attack Overlay (cm\effect\nathrokor-breath.grp) - wait 1 - end - -Venom_Unused_SpecialState1: - playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 506 Surkith Cesiant Tentacle (bullet\Tentacle.grp) -.headerstart -IsId 258 -Type 2 -Init SubterraneanTentacleInit -Death SubterraneanTentacleDeath -GndAttkInit SubterraneanTentacleDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SubterraneanTentacleInit: - playsnd 79 # Bullet\ZLuHit00.wav - wait 1 - sigorder 1 - wait 1 -SubterraneanTentacleDeath: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - domissiledmg - wait 2 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 508 Venom Hit (Unused) (thingy\etgHit.grp) -.headerstart -IsId 259 -Type 1 -Init VenomHit_Unused_Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -VenomHit_Unused_Init: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 509 Acid Spore (thingy\ep3Shot.grp) -.headerstart -IsId 260 -Type 2 -Init AcidSporeInit -Death AcidSporeDeath -GndAttkInit AcidSporeGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AcidSporeInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -AcidSporeGndAttkInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - goto AcidSporeGndAttkInit - -AcidSporeDeath: - domissiledmg - playsnd 72 # Bullet\ZGuHit00.wav - imgol 510 0 0 # Acid Spore Hit (thingy\ep3Burst.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 510 Acid Spore Hit (thingy\ep3Burst.grp) -.headerstart -IsId 261 -Type 1 -Init AcidSporeHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSporeHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 518 Geszithalor Attack Overlay (thingy\eplMuzz.grp) -.headerstart -IsId 262 -Type 1 -Init GeszithalorAttackOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GeszithalorAttackOverlayInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 511 Glave Wurm (bullet\spores.grp) -.headerstart -IsId 264 -Type 13 -Init GlaveWurmInit -Death GlaveWurmDeath -GndAttkInit GlaveWurmGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GlaveWurmSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -GlaveWurmInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -GlaveWurmGndAttkInit: - sprol 367 0 0 # Glave Wurm Trail - playfram 0x00 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 1 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 2 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 3 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 4 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 5 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 6 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 7 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 8 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - playfram 9 - wait 1 - goto GlaveWurmGndAttkInit - -GlaveWurmDeath: - playsnd 93 # Bullet\ZQuHit02.wav - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -GlaveWurmSpecialState1: - playsndbtwn 91 92 # Bullet\ZQuHit00.wav | Bullet\ZQuHit01.wav - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - goto GlaveWurmGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 512 Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) -.headerstart -IsId 265 -Type 1 -Init GlaveWurmHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GlaveWurmHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 515 Seeker Spores (bullet\Spore2.grp) -.headerstart -IsId 266 -Type 2 -Init SeekerSporesInit -Death SeekerSporesDeath -GndAttkInit SeekerSporesGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SeekerSporesInit: - playfram 0x00 - playsnd 78 # Bullet\ZLuFir00.wav - wait 1 - sigorder 1 - wait 1 -SeekerSporesGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - goto SeekerSporesGndAttkInit - -SeekerSporesDeath: - playsnd 79 # Bullet\ZLuHit00.wav - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 516 Matraleth Spell Holder (bullet\parasite.grp) -.headerstart -IsId 267 -Type 2 -Init MatralethSpellHolderInit -Death MatralethSpellHolderDeath -GndAttkInit MatralethSpellHolderGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatralethSpellHolderInit: - playfram 0x00 - wait 1 - sigorder 1 -MatralethSpellHolderGndAttkInit: - goto ScourgeLocal00 - -MatralethSpellHolderDeath: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 548 Psionic Shockwave Hit (thingy\emsHit.grp) -.headerstart -IsId 268 -Type 2 -Init PsionicShockwaveHitInit -Death PsionicShockwaveHitDeath -GndAttkInit PsionicShockwaveHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PsionicShockwaveHitInit: - wait 1 - sigorder 1 - wait 1 -PsionicShockwaveHitDeath: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - domissiledmg - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 513 Glave Wurm Trail (thingy\SpoTrail.grp) -.headerstart -IsId 269 -Type 1 -Init GlaveWurmTrailInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GlaveWurmTrailInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 514 Seeker Spores Overlay (thingy\gSmoke.grp) -.headerstart -IsId 270 -Type 1 -Init SeekerSporesOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -SeekerSporesOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 419 Acid Spray (Unused) (thingy\plasma.grp) -.headerstart -IsId 271 -Type 1 -Init AcidSprayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSprayInit: - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 420 Plasma Drip (Unused) (thingy\PlasDrip.grp) -.headerstart -IsId 272 -Type 1 -Init Unknown272Init -Death Unknown272Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown272Init: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 1 -Unknown272Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 422 Longbolt/Gemini Missiles Trail (thingy\smoke.grp) -# 960 Halo Rockets Trail (thingy\bsmoke.grp) -.headerstart -IsId 273 -Type 1 -Init LongboltHaloGeminiMissilesTrailInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -LongboltHaloGeminiMissilesTrailInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 423 Burrowing Dust (thingy\bDust.grp) -.headerstart -IsId 274 -Type 1 -Init BurrowingDustInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -BurrowingDustInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# All shadows -.headerstart -IsId 275 -Type 1 -Init ShadowHeaderInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ShadowHeaderInit: - wait 1 - followmaingraphic - goto ShadowHeaderInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 424 Shield Overlay (thingy\pshield.grp) -.headerstart -IsId 276 -Type 1 -Init ShieldOverlayInit -Death ShieldOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -ShieldOverlayInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 -ShieldOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 425 Energy Pulse Underlay (thingy\explo2.grp) -.headerstart -IsId 277 -Type 1 -Init EnergyPulseUnderlayInit -Death EnergyPulseUnderlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -EnergyPulseUnderlayInit: - playsnd 636 # Protoss\TEMPLAR\PTeMov00.WAV - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -EnergyPulseUnderlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 426 Double Explosion (thingy\dbl_exp.grp) -.headerstart -IsId 278 -Type 1 -Init DoubleExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DoubleExplosionInit: - playsnd 9 # Misc\ExploSm.wav - playfram 0x00 - wait 1 - playfram 9 - wait 1 - playfram 18 - wait 1 - playfram 27 - wait 1 - playfram 36 - wait 1 - playfram 45 - wait 1 - playfram 54 - wait 1 - playfram 63 - wait 1 - playfram 72 - wait 1 - playfram 81 - wait 1 - playfram 90 - wait 1 - playfram 99 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 428 Nuclear Missile Death (thingy\small.grp) -.headerstart -IsId 279 -Type 1 -Init MorningstarDeathInit -Death MorningstarDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -MorningstarDeathInit: - playsnd 9 # Misc\ExploSm.wav - 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 1 -MorningstarDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 429 Spider Mine Death (thingy\tmnExplo.grp) -.headerstart -IsId 280 -Type 1 -Init ScourgeLocal00 -Death SpiderMineExplosionDeath -.headerend -# ----------------------------------------------------------------------------- # - -SpiderMineExplosionDeath: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 430 Vespene Geyser Smoke1 (thingy\GeySmok1.grp) -# 431 Vespene Geyser Smoke2 (thingy\GeySmok2.grp) -# 432 Vespene Geyser Smoke3 (thingy\GeySmok3.grp) -# 433 Vespene Geyser Smoke4 (thingy\GeySmok4.grp) -# 434 Vespene Geyser Smoke5 (thingy\GeySmok5.grp) -.headerstart -IsId 281 -Type 1 -Init VespeneGeyserSmokesInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -VespeneGeyserSmokesInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 435 Vespene Geyser Smoke1 Overlay (thingy\GeySmoS1.grp) -# 436 Vespene Geyser Smoke2 Overlay (thingy\GeySmoS1.grp) -# 437 Vespene Geyser Smoke3 Overlay (thingy\GeySmoS1.grp) -# 438 Vespene Geyser Smoke4 Overlay (thingy\GeySmoS1.grp) -# 439 Vespene Geyser Smoke5 Overlay (thingy\GeySmoS1.grp) -.headerstart -IsId 282 -Type 1 -Init Unknown282Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Unknown282Init: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 440 Fragmentation Grenade Hit (thingy\efgHit.grp) -.headerstart -IsId 283 -Type 1 -Init FragmentationGrenadeHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -FragmentationGrenadeHitInit: - playsndbtwn 107 109 # Bullet\tvuHit00.wav | Bullet\tvuHit02.wav - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 441 Grenade Shot Smoke (thingy\GreSmoke.grp) -.headerstart -IsId 284 -Type 1 -Init GrenadeShotSmokeInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GrenadeShotSmokeInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 427 Phase Disruptor Hit (thingy\HKexplod.grp) -# 442 Anti-Matter Missile Hit (thingy\HKexplod.grp) -.headerstart -IsId 285 -Type 1 -Init PhaseDisruptor_AntiMatterMissileHitInit -Death PhaseDisruptor_AntiMatterMissileHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -PhaseDisruptor_AntiMatterMissileHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -PhaseDisruptor_AntiMatterMissileHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 443 Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) -.headerstart -IsId 286 -Type 1 -Init PlasmaShell_AntiMatterMissileOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlasmaShell_AntiMatterMissileOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 444 Plasma Shell Hit (thingy\psaExplo.grp) -.headerstart -IsId 287 -Type 1 -Init PlasmaShellHitInit -Death PlasmaShellHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -PlasmaShellHitInit: - playsnd 100 # Bullet\psaHit00.wav - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -PlasmaShellHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 445 Cursor Marker (thingy\blackx.grp) -.headerstart -IsId 288 -Type 2 -Init ScourgeLocal00 -Death [NONE] -GndAttkInit CursorMarkerGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CursorMarkerGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - __2d - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 560 Circle Marker1 (thingy\blackx.grp) -# 561 Selection Circle (22pixels) (thingy\o022.grp) -# 562 Selection Circle (32pixels) (thingy\o032.grp) -# 563 Selection Circle (48pixels) (thingy\o048.grp) -# 564 Selection Circle (62pixels) (thingy\o062.grp) -# 565 Selection Circle (72pixels) (thingy\o072.grp) -# 566 Selection Circle (94pixels) (thingy\o094.grp) -# 567 Selection Circle (110pixels) (thingy\o110.grp) -# 568 Selection Circle (122pixels) (thingy\o122.grp) -# 569 Selection Circle (146pixels) (thingy\o146.grp) -# 570 Selection Circle (224pixels) (thingy\o224.grp) -# 571 Selection Circle Dashed (22pixels) (thingy\od022.grp) -# 572 Selection Circle Dashed (32pixels) (thingy\od032.grp) -# 573 Selection Circle Dashed (48pixels) (thingy\od048.grp) -# 574 Selection Circle Dashed (62pixels) (thingy\od062.grp) -# 575 Selection Circle Dashed (72pixels) (thingy\od072.grp) -# 576 Selection Circle Dashed (94pixels) (thingy\od094.grp) -# 577 Selection Circle Dashed (110pixels) (thingy\od110.grp) -# 578 Selection Circle Dashed (122pixels) (thingy\od122.grp) -# 579 Selection Circle Dashed (146pixels) (thingy\od146.grp) -# 580 Selection Circle Dashed (224pixels) (thingy\od224.grp) -.headerstart -IsId 289 -Type 1 -Init ScourgeLocal00 -Death ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 114 Solarion Engines (thingy\pcaGlow.grp) -# 120 Envoy Engines (thingy\pshGlow.grp) -.headerstart -IsId 290 -Type 12 -Init SolarionEnginesInit -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 SolarionEnginesInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SolarionEnginesInit: - wait 1 - followmaingraphic - goto SolarionEnginesInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 132 Didact Engines (thingy\pabGlow.grp) -# 220 Minotaur Engines (thingy\tbaGlow.grp) -# 225 Trojan Engines (thingy\tdrGlow.grp) -# 249 Mason Engines (thingy\tscGlow.grp) -# 941 Valkyrie Engines (thingy\tbmGlow.grp) -# 942 Valkyrie Engines2 (Unused) (thingy\tbmGlow.grp) -# 943 Valkyrie Afterburners (Unused) (thingy\tbmAfter.grp) -# 1029 Centaur Engines (cm\terran\centaur-engine.grp) -# 1555 Vulture Engines -.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 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 503 White Circle (bullet\circle14.grp) -.headerstart -IsId 292 -Type 2 -Init WhiteCircleInit -Death WhiteCircleDeath -GndAttkInit WhiteCircleDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WhiteCircleInit: - wait 1 - sigorder 1 - wait 1 -WhiteCircleDeath: - playfram 0x00 - wait 5 - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 446 Minotaur Attack Overlay (thingy\elbBat.grp) -.headerstart -IsId 293 -Type 1 -Init MinotaurAttackOverlayInit -Death MinotaurAttackOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -MinotaurAttackOverlayInit: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 1 -MinotaurAttackOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 447 Burst Lasers Hit (thingy\elbHit.grp) -.headerstart -IsId 294 -Type 1 -Init ATA_ATSLaserBattery_BurstLasersHitInit -Death ATA_ATSLaserBattery_BurstLasersHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -ATA_ATSLaserBattery_BurstLasersHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -ATA_ATSLaserBattery_BurstLasersHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 448 Burst Lasers Overlay (Unused) (thingy\elbMuzz.grp) -.headerstart -IsId 295 -Type 1 -Init Unknown295Init -Death Unknown295Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown295Init: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 -Unknown295Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 387 Plague Cloud (thingy\ebbCloud.grp) -.headerstart -IsId 296 -Type 2 -Init PlagueCloudInit -Death PlagueCloudDeath -GndAttkInit PlagueCloudDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PlagueCloudInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -PlagueCloudDeath: - playsnd 816 # Zerg\DEFILER\ZDeBlo00.WAV - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - domissiledmg - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 388 Plague Overlay (Small) (thingy\ebbHitS.grp) -# 389 Plague Overlay (Medium) (thingy\ebbHitM.grp) -# 390 Plague Overlay (Large) (thingy\ebbHitL.grp) -.headerstart -IsId 297 -Type 1 -Init PlagueOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlagueOverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -PlagueOverlayLocal00: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - waitrand 2 3 - goto PlagueOverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 517 Consume (thingy\consume.grp) -.headerstart -IsId 298 -Type 2 -Init ConsumeInit -Death ConsumeDeath -GndAttkInit ConsumeDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ConsumeInit: - wait 1 - sigorder 1 - wait 1 -ConsumeDeath: - playsnd 813 # Zerg\DEFILER\ZDeCon00.WAV - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - domissiledmg - wait 2 - playfram 0x11 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 337 Dark Swarm (thingy\Dswarm.grp) -.headerstart -IsId 299 -Type 1 -Init DarkSwarmInit -Death DarkSwarmDeath -.headerend -# ----------------------------------------------------------------------------- # - -DarkSwarmInit: - playsnd 922 # Zerg\Matraleth\ZQuSwm00.WAV - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 -DarkSwarmLocal00: - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 3 - playfram 8 - wait 3 - playfram 7 - wait 3 - playfram 6 - wait 3 - goto DarkSwarmLocal00 - -DarkSwarmDeath: - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 371 Defensive Matrix Front (Small) (thingy\edmFronS.grp) -# 372 Defensive Matrix Front (Medium) (thingy\edmFronM.grp) -# 373 Defensive Matrix Front (Large) (thingy\edmFronL.grp) -# 374 Defensive Matrix Back (Small) (thingy\edmBackS.grp) -# 375 Defensive Matrix Back (Medium) (thingy\edmBackM.grp) -# 376 Defensive Matrix Back (Large) (thingy\edmBackL.grp) -.headerstart -IsId 300 -Type 1 -Init DefensiveMatrixOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DefensiveMatrixOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - goto DefensiveMatrixOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 377 Defensive Matrix Hit (Small) (thingy\edmHitS.grp) -# 378 Defensive Matrix Hit (Medium) (thingy\edmHitM.grp) -# 379 Defensive Matrix Hit (Large) (thingy\edmHitL.grp) -.headerstart -IsId 301 -Type 1 -Init DefensiveMatrixHitInit -Death DefensiveMatrixHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -DefensiveMatrixHitInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 1 -DefensiveMatrixHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 383 Ensnare Cloud (thingy\Ensnare.grp) -.headerstart -IsId 302 -Type 1 -Init EnsnareInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -EnsnareInit: - playsnd 924 # Zerg\Matraleth\ZQuEns00.WAV - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 384 Ensnare Overlay (Small) (thingy\ensGooS.grp) -# 385 Ensnare Overlay (Medium) (thingy\ensGooM.grp) -# 386 Ensnare Overlay (Large) (thingy\ensGooL.grp) -.headerstart -IsId 303 -Type 1 -Init EnsnareOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -EnsnareOverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -EnsnareOverlayLocal00: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - waitrand 2 3 - goto EnsnareOverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 380 Irradiate (Small) (thingy\eradLrg.grp) -# 381 Irradiate (Medium) (thingy\eradLrg.grp) -# 382 Irradiate (Large) (thingy\eradLrg.grp) -.headerstart -IsId 304 -Type 1 -Init IrradiateInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -IrradiateInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto IrradiateInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 391 Recall Field (thingy\recall.grp) -.headerstart -IsId 305 -Type 1 -Init RecallFieldInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -RecallFieldInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 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 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 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 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 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 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 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 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 1 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 365 Stasis Field (Small) (thingy\esfSmall.grp) -# 366 Stasis Field (Medium) (thingy\esfSmall.grp) -# 367 Stasis Field (Large) (thingy\esfLarge.grp) -.headerstart -IsId 306 -Type 1 -Init StasisFieldOverlayInit -Death StasisFieldOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -StasisFieldOverlayInit: - playfram 0x00 - tmprmgraphicstart - wait 1 - waitrand 2 7 - tmprmgraphicend - 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 -StasisFieldOverlayLocal00: - waitrand 1 3 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - goto StasisFieldOverlayLocal00 - -StasisFieldOverlayDeath: - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 364 Stasis Field Hit (thingy\esfHit.grp) -.headerstart -IsId 307 -Type 1 -Init StasisFieldHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -StasisFieldHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 370 Recharge Shields (Large) (thingy\sbaLarge.grp) -.headerstart -IsId 308 -Type 1 -Init RechargeShields_Large_Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -RechargeShields_Large_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 1 - wait 2 - playfram 1 - wait 2 - playfram 1 - wait 2 - playfram 1 - wait 2 - playfram 1 - wait 2 - playfram 1 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 368 Recharge Shields (Small) (thingy\sbaSmall.grp) -# 1548 Recharge Shields (Medium) (cm\protoss\recharge-shields-medium.grp) -# 370 Recharge Shields (Large) (thingy\sbaLarge.grp) -# 1549 Recharge Shields (XLarge) (cm\protoss\recharge-shields-xlarge.grp) -.headerstart -IsId 309 -Type 1 -Init RechargeShieldsInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -RechargeShieldsInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - tmprmgraphicstart - wait 2 - tmprmgraphicend - goto RechargeShieldsInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 449 Cantavis Glow (thingy\pteglow.grp) -.headerstart -IsId 310 -Type 1 -Init CantavisGlowInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -CantavisGlowInit: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 035 Needle Spines (thingy\spooge.grp) -.headerstart -IsId 311 -Type 1 -Init NeedleSpinesOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -NeedleSpinesOverlayInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 421 FlameThrower (thingy\flamer.grp) -.headerstart -IsId 312 -Type 1 -Init FlamethrowerInit -Death FlamethrowerDeath -.headerend -# ----------------------------------------------------------------------------- # - -FlamethrowerInit: - playsndbtwn 314 315 # Terran\Firebat\TFBFir00.WAV | Terran\Firebat\TFBFir01.WAV - goto FlamethrowerLocal00 - -FlamethrowerLocal00: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - goto FlamethrowerLocal01 - -FlamethrowerLocal01: - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - goto FlamethrowerDeath - -FlamethrowerDeath: - nobrkcodeend - gotorepeatattk - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 530 Gemini Missiles Explosion (thingy\ecaHit.grp) -.headerstart -IsId 313 -Type 1 -Init GeminiMissilesExplosionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GeminiMissilesExplosionInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 543 Yamato Gun Overlay (thingy\eycBlast.grp) -.headerstart -IsId 314 -Type 1 -Init YamatoGunOverlayInit -Death YamatoGunOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -YamatoGunOverlayInit: - playsnd 178 # Terran\BATTLE\tBaYam01.wav - playfram 4 - nobrkcodestart - 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 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 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 0x00 - wait 2 - playfram 1 - castspell - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 1 - sigorder 2 - nobrkcodeend - gotorepeatattk -YamatoGunOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 544 Yamato Gun Hit (thingy\eycHit.grp) -.headerstart -IsId 315 -Type 1 -Init YamatoGunHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -YamatoGunHitInit: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 547 Archon Birth (Unused) (thingy\emsHit.grp) -.headerstart -IsId 316 -Type 1 -Init Unknown316Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Unknown316Init: - playfram 0x00 - wait 1 - imguluselo 552 2 0 # Psionic Storm Part3 (thingy\elect02a.grp) - imguluselo 550 2 1 # Psionic Storm Part1 (thingy\elect02a.grp) - imgoluselo 553 2 2 # Psionic Storm Part4 (thingy\elect02.grp) - imgoluselo 551 2 3 # Psionic Storm Part2 (thingy\elect02.grp) - wait 1 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - 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 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 550 Psionic Storm Part1 (thingy\elect02a.grp) -# 551 Psionic Storm Part2 (thingy\elect02.grp) -.headerstart -IsId 317 -Type 1 -Init PsionicStormPartVariant1Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PsionicStormPartVariant1Init: - playfram 0 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 0 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 0 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 552 Psionic Storm Part3 (thingy\elect02a.grp) -# 553 Psionic Storm Part4 (thingy\elect02.grp) -.headerstart -IsId 318 -Type 1 -Init PsionicStormPartVariant2Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PsionicStormPartVariant2Init: - playfram 0x00 - setflipstate 1 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - 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 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 555 EMP Shockwave Hit (Part1) (thingy\emp.grp) -.headerstart -IsId 319 -Type 0 -Init EMPShockwaveHit_Part1_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EMPShockwaveHit_Part1_Init: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 556 EMP Shockwave Hit (Part2) (thingy\empl.grp) -.headerstart -IsId 320 -Type 0 -Init EMPShockwaveHit_Part2_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EMPShockwaveHit_Part2_Init: - playsnd 7 # Misc\ExploLrg.wav - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - imgul 555 0 0 # EMP Shockwave Hit (Part1) (thingy\emp.grp) - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 557 Hallucination Death1 (thingy\ehaMed.grp) -# 558 Hallucination Death2 (thingy\ehaMed.grp) -# 559 Hallucination Death3 (thingy\ehaMed.grp) -.headerstart -IsId 321 -Type 1 -Init HallucinationDeathInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -HallucinationDeathInit: - playfram 0x00 - wait 3 - playfram 1 - wait 3 - playfram 2 - wait 3 - playfram 3 - wait 3 - playfram 4 - wait 3 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 3 - playfram 10 - wait 3 - playfram 11 - wait 3 - playfram 12 - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 450 Flames1 Type1 (Small) (thingy\oFireC.grp) -# 451 Flames1 Type2 (Small) (thingy\oFireF.grp) -# 452 Flames1 Type3 (Small) (thingy\oFireV.grp) -# 453 Flames2 Type3 (Small) (thingy\oFireV.grp) -# 454 Flames3 Type3 (Small) (thingy\oFireV.grp) -# 455 Flames4 Type3 (Small) (thingy\oFireV.grp) -# 456 Flames5 Type3 (Small) (thingy\oFireV.grp) -# 457 Flames6 Type3 (Small) (thingy\oFireV.grp) -# 466 Flames2 Type1 (Small) (thingy\oFireC.grp) -# 467 Flames2 Type2 (Small) (thingy\oFireF.grp) -# 468 Flames7 Type3 (Small) (thingy\oFireV.grp) -# 469 Flames3 Type1 (Small) (thingy\oFireC.grp) -# 470 Flames3 Type2 (Small) (thingy\oFireF.grp) -# 471 Flames8 Type3 (Small) (thingy\oFireV.grp) -.headerstart -IsId 322 -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 - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 323 -Type 1 -Init Unknown323Init -Death Flames_Small_Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown323Init: - setflipstate 1 - 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 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 458 Bleeding Variant1 Type1 (Small) (thingy\bblood01.grp) -# 459 Bleeding Variant1 Type2 (Small) (thingy\bblood02.grp) -# 460 Bleeding Variant1 Type3 (Small) (thingy\bblood03.grp) -# 461 Bleeding Variant1 Type4 (Small) (thingy\bblood04.grp) -.headerstart -IsId 324 -Type 1 -Init Bleeding_Small_Variant1Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Bleeding_Small_Variant1Init: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto Bleeding_Small_Variant1Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 462 Bleeding Variant2 Type1 (Small) (thingy\bblood01.grp) -# 463 Bleeding Variant2 Type2 (Small) (thingy\bblood02.grp) -# 464 Bleeding Variant2 Type3 (Small) (thingy\bblood03.grp) -# 465 Bleeding Variant2 Type4 (Small) (thingy\bblood04.grp) -.headerstart -IsId 325 -Type 1 -Init Bleeding_Small_Variant2Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Bleeding_Small_Variant2Init: - setflipstate 1 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto Bleeding_Small_Variant1Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 472 Flames1 Type1 (Large) (thingy\oFireC.grp) -# 473 Flames1 Type2 (Large) (thingy\oFireF.grp) -# 474 Flames1 Type3 (Large) (thingy\oFireV.grp) -# 475 Flames2 Type3 (Large) (thingy\oFireV.grp) -# 476 Flames3 Type3 (Large) (thingy\oFireV.grp) -# 477 Flames4 Type3 (Large) (thingy\oFireV.grp) -# 478 Flames5 Type3 (Large) (thingy\oFireV.grp) -# 479 Flames6 Type3 (Large) (thingy\oFireV.grp) -# 488 Flames2 Type1 (Large) (thingy\oFireC.grp) -# 489 Flames2 Type2 (Large) (thingy\oFireF.grp) -# 490 Flames7 Type3 (Large) (thingy\oFireV.grp) -# 491 Flames3 Type1 (Large) (thingy\oFireC.grp) -# 492 Flames3 Type2 (Large) (thingy\oFireF.grp) -# 493 Flames8 Type3 (Large) (thingy\oFireV.grp) -.headerstart -IsId 326 -Type 1 -Init Flames_Large_Init -Death Flames_Large_Death -.headerend -# ----------------------------------------------------------------------------- # - -Flames_Large_Init: - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - goto Flames_Large_Init - -Flames_Large_Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 327 -Type 1 -Init Unknown327Init -Death Flames_Large_Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown327Init: - setflipstate 1 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - goto Flames_Large_Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 480 Bleeding Variant1 Type1 (Large) (thingy\bblood01.grp) -# 481 Bleeding Variant1 Type2 (Large) (thingy\bblood02.grp) -# 482 Bleeding Variant1 Type3 (Large) (thingy\bblood03.grp) -# 483 Bleeding Variant1 Type4 (Large) (thingy\bblood04.grp) -.headerstart -IsId 328 -Type 1 -Init Bleeding_Large_Variant1Init -Death Bleeding_Large_Variant1Death -.headerend -# ----------------------------------------------------------------------------- # - -Bleeding_Large_Variant1Init: - 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 Bleeding_Large_Variant1Init - -Bleeding_Large_Variant1Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 484 Bleeding Variant2 Type1 (Large) (thingy\bblood01.grp) -# 485 Bleeding Variant2 Type3 (Large) (thingy\bblood02.grp) -# 486 Bleeding Variant3 Type3 (Large) (thingy\bblood03.grp) -# 487 Bleeding Variant2 Type4 (Large) (thingy\bblood04.grp) -.headerstart -IsId 329 -Type 1 -Init Bleeding_Large_Variant2Init -Death Bleeding_Large_Variant1Death -.headerend -# ----------------------------------------------------------------------------- # - -Bleeding_Large_Variant2Init: - setflipstate 1 - 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 Bleeding_Large_Variant1Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 495 Building Landing Dust Type2 (thingy\dust02.grp) -# 497 Building Landing Dust Type4 (thingy\dust04.grp) -# 498 Building Landing Dust Type5 (thingy\dust05.grp) -.headerstart -IsId 330 -Type 0 -Init DustVariant1Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DustVariant1Init: - playfram 0x00 - wait 3 - playfram 1 - wait 3 - playfram 2 - wait 3 - playfram 3 - wait 3 - playfram 4 - wait 3 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 494 Building Landing Dust Type1 (thingy\dust01.grp) -# 496 Building Landing Dust Type3 (thingy\dust03.grp) -# 499 Building Lifting Dust Type1 (thingy\dust06.grp) -# 500 Building Lifting Dust Type2 (thingy\dust07.grp) -# 501 Building Lifting Dust Type3 (thingy\dust08.grp) -# 502 Building Lifting Dust Type4 (thingy\dust09.grp) -.headerstart -IsId 331 -Type 0 -Init DustVariant2Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DustVariant2Init: - playfram 0x00 - wait 3 - playfram 1 - wait 3 - playfram 2 - wait 3 - playfram 3 - wait 3 - playfram 4 - wait 3 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 581 Circle Marker2 (thingy\blackx.grp) -# 583 Circle Marker3 (thingy\blackx.grp) -# 585 Psi Field1 (Right Lower) (thingy\Juice02.grp) -.headerstart -IsId 332 -Type 1 -Init ConfirmCircleInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ConfirmCircleInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 584 Psi Field1 (Right Upper) (thingy\Juice01.grp) -.headerstart -IsId 333 -Type 1 -Init PsiFieldType1Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PsiFieldType1Init: - playfram 0x00 - imgol 586 -126 -77 # Psi Field2 (Right Upper) (thingy\Juice01.grp) - imgol 585 126 77 # Psi Field1 (Right Lower) (thingy\Juice02.grp) - imgol 587 -126 77 # Psi Field2 (Right Lower) (thingy\Juice02.grp) - setpos 126 -77 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 586 Psi Field2 (Right Upper) (thingy\Juice01.grp) -# 587 Psi Field2 (Right Lower) (thingy\Juice02.grp) -# 840 Unknown840 (thingy\tileset\ice\HDRadr02.grp) -# 842 6/1 Ice (thingy\tileset\ice\JGant1.grp) -# 906 6/20 Desert (thingy\tileset\desert\HDMachn2.grp) -.headerstart -IsId 334 -Type 1 -Init PsiFieldType2Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PsiFieldType2Init: - playfram 0x00 - setflipstate 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 588 Start Location (thingy\StartLoc.grp) -.headerstart -IsId 335 -Type 0 -Init StartLocationInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StartLocationInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 599 2/43 Ash (thingy\tileset\AshWorld\LALRoc01.grp) -# 600 2/44 Ash (thingy\tileset\AshWorld\LALRoc02.grp) -# 601 2/1 Ash (thingy\tileset\AshWorld\HASRoc01.grp) -# 602 2/4 Ash (thingy\tileset\AshWorld\HASRoc02.grp) -# 603 2/5 Ash (thingy\tileset\AshWorld\HASRoc03.grp) -# 604 2/30 Ash (thingy\tileset\AshWorld\HASRoc04.grp) -# 605 2/28 Ash (thingy\tileset\AshWorld\HASRoc05.grp) -# 606 2/29 Ash (thingy\tileset\AshWorld\HASRoc06.grp) -# 607 4/1 Ash (thingy\tileset\AshWorld\RORock01.grp) -# 608 4/2 Ash (thingy\tileset\AshWorld\RORock02.grp) -# 609 4/3 Ash (thingy\tileset\AshWorld\RORock03.grp) -# 640 4/12 Jungle (thingy\tileset\Jungle\dd025.grp) -# 641 4/13 Jungle (thingy\tileset\Jungle\dd026.grp) -# 642 4/1 Jungle (thingy\tileset\Jungle\dd027.grp) -# 643 4/3 Jungle (thingy\tileset\Jungle\dd028.grp) -# 644 4/2 Jungle (thingy\tileset\Jungle\dd029.grp) -# 645 4/5 Jungle (thingy\tileset\Jungle\dd030.grp) -# 646 4/4 Jungle (thingy\tileset\Jungle\dd031.grp) -# 647 4/9 Jungle (thingy\tileset\Jungle\dd055.grp) -# 648 4/10 Jungle (thingy\tileset\Jungle\dd056.grp) -# 649 5/5 Jungle (thingy\tileset\Jungle\dd075.grp) -# 650 5/7 Jungle (thingy\tileset\Jungle\dd076.grp) -# 651 5/6 Jungle (thingy\tileset\Jungle\dd077.grp) -# 652 5/9 Jungle (thingy\tileset\Jungle\dd078.grp) -# 653 5/8 Jungle (thingy\tileset\Jungle\dd079.grp) -# 654 4/6 Jungle (thingy\tileset\Jungle\dd080.grp) -# 655 4/7 Jungle (thingy\tileset\Jungle\dd081.grp) -# 656 4/17 Jungle (thingy\tileset\Jungle\dd091.grp) -# 657 13/4 Jungle (thingy\tileset\Jungle\dd203.grp) -# 658 11/5 Jungle (thingy\tileset\Jungle\dd204.grp) -# 659 11/6 Jungle (thingy\tileset\Jungle\dd205.grp) -# 660 11/7 Jungle (thingy\tileset\Jungle\dd206.grp) -# 661 11/8 Jungle (thingy\tileset\Jungle\dd207.grp) -# 662 11/10 Jungle (thingy\tileset\Jungle\dd209.grp) -# 663 11/11 Jungle (thingy\tileset\Jungle\dd210.grp) -# 664 11/12 Jungle (thingy\tileset\Jungle\dd211.grp) -# 677 7/9 Platform (thingy\tileset\Platform\Towr01.grp) -# 678 7/10 Platform (thingy\tileset\Platform\Towr02.grp) -# 681 7/26 Platform (thingy\tileset\Platform\LBSign01.grp) -# 682 7/24 Platform (thingy\tileset\Platform\LBSign02.grp) -# 683 7/28 Platform (thingy\tileset\Platform\LBSign03.grp) -# 684 7/27 Platform (thingy\tileset\Platform\LBSign04.grp) -# 685 7/25 Platform (thingy\tileset\Platform\LBSign05.grp) -# 686 7/29 Platform (thingy\tileset\Platform\LBSign06.grp) -# 687 7/30 Platform (thingy\tileset\Platform\LBSign07.grp) -# 688 7/31 Platform (thingy\tileset\Platform\LBSign08.grp) -# 689 12/1 Platform (thingy\tileset\Platform\SPThin01.grp) -# 690 9/27 Platform (thingy\tileset\Platform\refinery.grp) -# 699 6/16 Badlands (thingy\tileset\Badlands\HDRock05.grp) -# 700 6/17 Badlands (thingy\tileset\Badlands\HDRock06.grp) -# 701 6/20 Badlands (thingy\tileset\Badlands\HDRock07.grp) -# 702 6/21 Badlands (thingy\tileset\Badlands\HDRock08.grp) -# 703 5/10 Badlands (thingy\tileset\Badlands\HDVent01.grp) -# 712 6/3 Badlands (thingy\tileset\Badlands\HGTree01.grp) -# 713 11/3 Badlands (thingy\tileset\Badlands\LCShop01.grp) -# 714 11/8 Badlands (thingy\tileset\Badlands\LCShop02.grp) -# 715 11/6 Badlands (thingy\tileset\Badlands\LCShop03.grp) -# 716 11/7 Badlands (thingy\tileset\Badlands\LCShop04.grp) -# 717 11/9 Badlands (thingy\tileset\Badlands\LCShop05.grp) -# 718 11/10 Badlands (thingy\tileset\Badlands\LCShop06.grp) -# 719 11/11 Badlands (thingy\tileset\Badlands\LCShop07.grp) -# 720 11/12 Badlands (thingy\tileset\Badlands\LCShop08.grp) -# 721 11/13 Badlands (thingy\tileset\Badlands\LCShop09.grp) -# 722 11/14 Badlands (thingy\tileset\Badlands\LCShopAA.grp) -# 723 1/13 Badlands (thingy\tileset\Badlands\LCSign01.grp) -# 724 1/9 Badlands (thingy\tileset\Badlands\LCSign02.grp) -# 725 1/11 Badlands (thingy\tileset\Badlands\LCSign03.grp) -# 726 1/14 Badlands (thingy\tileset\Badlands\LCSign04.grp) -# 727 1/10 Badlands (thingy\tileset\Badlands\LCSign05.grp) -# 728 1/12 Badlands (thingy\tileset\Badlands\LCSign06.grp) -# 729 1/15 Badlands (thingy\tileset\Badlands\LCSign07.grp) -# 730 1/7 Badlands (thingy\tileset\Badlands\LCSign08.grp) -# 731 1/5 Badlands (thingy\tileset\Badlands\LCSign09.grp) -# 732 1/16 Badlands (thingy\tileset\Badlands\LCSignAA.grp) -# 733 1/8 Badlands (thingy\tileset\Badlands\LCSignBB.grp) -# 734 1/6 Badlands (thingy\tileset\Badlands\LCSignCC.grp) -# 746 3/9 Installation (thingy\tileset\install\DICran1.grp) -# 747 3/10 Installation (thingy\tileset\install\DICran2.grp) -# 748 3/11 Installation (thingy\tileset\install\DICran3.grp) -# 749 3/12 Installation (thingy\tileset\install\DICran4.grp) -# 755 7/21 Twilight (thingy\tileset\twilight\Ldarch.grp) -# 759 7/16 Twilight (thingy\tileset\twilight\Ldxel03.grp) -# 760 7/15 Twilight (thingy\tileset\twilight\Ldxel04.grp) -# 761 7/19 Twilight (thingy\tileset\twilight\Ldxel05.grp) -# 762 7/20 Twilight (thingy\tileset\twilight\Ldxel06.grp) -# 764 6/1 Twilight (thingy\tileset\twilight\JTree01.grp) -# 765 6/2 Twilight (thingy\tileset\twilight\JTree02.grp) -# 766 6/3 Twilight (thingy\tileset\twilight\JTree03.grp) -# 767 6/4 Twilight (thingy\tileset\twilight\JTree04.grp) -# 768 6/5 Twilight (thingy\tileset\twilight\JTree05.grp) -# 769 8/3 Twilight1 (thingy\tileset\twilight\rstatue.grp) -# 787 Unknown787 (thingy\tileset\ice\HDSTre01.grp) -# 788 Unknown788 (thingy\tileset\ice\HDSTre02.grp) -# 789 12/9 Ice1 (thingy\tileset\ice\HDSTre03.grp) -# 790 12/10 Ice1 (thingy\tileset\ice\HDSTre04.grp) -# 831 12/20 Ice (thingy\tileset\ice\LDsmrock.grp) -# 841 4/1 Ice (thingy\tileset\ice\JGant1.grp) -# 880 10/6 Desert (thingy\tileset\desert\JGPLNT01.grp) -# 897 4/17 Desert (thingy\tileset\desert\HDMachn2.grp) -.headerstart -IsId 336 -Type 0 -Init DoodadHeaderInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DoodadHeaderInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 589 2/38 Ash (thingy\tileset\AshWorld\rock01.grp) -# 591 2/39 Ash (thingy\tileset\AshWorld\rock02.grp) -# 593 2/41 Ash (thingy\tileset\AshWorld\rock03.grp) -# 595 2/40 Ash (thingy\tileset\AshWorld\rock04.grp) -# 597 2/42 Ash (thingy\tileset\AshWorld\rock05.grp) -# 610 4/56 Jungle (thingy\tileset\Jungle\HDRock01.grp) -# 612 4/57 Jungle (thingy\tileset\Jungle\HDRock02.grp) -# 614 4/58 Jungle (thingy\tileset\Jungle\HDRock03.grp) -# 616 4/59 Jungle (thingy\tileset\Jungle\HDRock04.grp) -# 618 9/5 Jungle (thingy\tileset\Jungle\JUbush01.grp) -# 620 9/6 Jungle (thingy\tileset\Jungle\JUbush03.grp) -# 622 9/7 Jungle (thingy\tileset\Jungle\JUbush05.grp) -# 624 4/51 Jungle (thingy\tileset\Jungle\LDtree01.grp) -# 626 4/52 Jungle (thingy\tileset\Jungle\LDtree02.grp) -# 628 4/54 Jungle (thingy\tileset\Jungle\LDtree03.grp) -# 630 4/53 Jungle (thingy\tileset\Jungle\LDtree04.grp) -# 632 9/1 Jungle (thingy\tileset\Jungle\tree01.grp) -# 634 9/2 Jungle (thingy\tileset\Jungle\tree02.grp) -# 636 9/3 Jungle (thingy\tileset\Jungle\tree03.grp) -# 638 9/4 Jungle (thingy\tileset\Jungle\tree04.grp) -# 665 7/4 Platform (thingy\tileset\Platform\Dish01.grp) -# 667 7/5 Platform (thingy\tileset\Platform\Dish02.grp) -# 669 7/6 Platform (thingy\tileset\Platform\Dish03.grp) -# 671 7/1 Platform (thingy\tileset\Platform\Glob01.grp) -# 673 7/2 Platform (thingy\tileset\Platform\Glob02.grp) -# 675 7/3 Platform (thingy\tileset\Platform\Glob03.grp) -# 691 5/54 Badlands (thingy\tileset\Badlands\HDRock01.grp) -# 693 5/55 Badlands (thingy\tileset\Badlands\HDRock02.grp) -# 695 5/56 Badlands (thingy\tileset\Badlands\HDRock03.grp) -# 697 5/57 Badlands (thingy\tileset\Badlands\HDRock04.grp) -# 704 5/50 Badlands (thingy\tileset\Badlands\HDTree01.grp) -# 706 5/52 Badlands (thingy\tileset\Badlands\HDTree02.grp) -# 708 5/53 Badlands (thingy\tileset\Badlands\HDTree03.grp) -# 710 5/51 Badlands (thingy\tileset\Badlands\HDTree04.grp) -# 771 9/29 Ice (thingy\tileset\ice\HDbld01.grp) -# 773 9/28 Ice (thingy\tileset\ice\HDbld02.grp) -# 775 12/38 Ice (thingy\tileset\ice\HDbld03.grp) -# 777 12/37 Ice (thingy\tileset\ice\HDbld04.grp) -# 779 12/33 Ice1 (thingy\tileset\ice\HDradarl.grp) -# 781 9/21 Ice (thingy\tileset\ice\HDradarR.grp) -# 783 9/15 Ice (thingy\tileset\ice\HDRock01.grp) -# 785 9/16 Ice (thingy\tileset\ice\HDRock02.grp) -# 791 9/24 Ice (thingy\tileset\ice\HDSpire.grp) -# 793 9/23 Ice (thingy\tileset\ice\HDTwr01.grp) -# 795 Unknown795 (thingy\tileset\ice\HDTwr02.grp) -# 797 12/7 Ice (thingy\tileset\ice\LDBTre01.grp) -# 799 12/8 Ice (thingy\tileset\ice\LDBTre02.grp) -# 801 12/9 Ice2 (thingy\tileset\ice\LDBTre03.grp) -# 803 12/10 Ice2 (thingy\tileset\ice\LDBTre04.grp) -# 805 12/40 Ice (thingy\tileset\ice\LDbld01.grp) -# 807 12/41 Ice (thingy\tileset\ice\LDbld02.grp) -# 809 12/42 Ice (thingy\tileset\ice\LDComm.grp) -# 811 12/5 Ice (thingy\tileset\ice\LDDtre01.grp) -# 813 12/6 Ice (thingy\tileset\ice\LDDtre02.grp) -# 815 12/36 Ice (thingy\tileset\ice\LDDish.grp) -# 817 12/32 Ice (thingy\tileset\ice\LDRdr01.grp) -# 819 12/33 Ice2 (thingy\tileset\ice\LDRdr02.grp) -# 821 12/34 Ice (thingy\tileset\ice\LDRdr03.grp) -# 823 12/24 Ice1 (thingy\tileset\ice\LDRck01.grp) -# 825 12/25 Ice1 (thingy\tileset\ice\LDRck02.grp) -# 827 12/30 Ice1 (thingy\tileset\ice\HDPipes.grp) -# 829 12/31 Ice (thingy\tileset\ice\LDthing.grp) -# 834 9/22 Ice (thingy\tileset\ice\HDRadr02.grp) -# 843 5/6 Ice (thingy\tileset\ice\RJBTree1.grp) -# 845 5/7 Ice (thingy\tileset\ice\RJBTree2.grp) -# 847 5/8 Ice (thingy\tileset\ice\RJBTree3.grp) -# 849 5/9 Ice (thingy\tileset\ice\RJBTree4.grp) -# 852 10/12 Desert1 (thingy\tileset\desert\HDBBROKE.grp) -# 854 10/8 Desert1 (thingy\tileset\desert\HDBGAS.grp) -# 856 10/9 Desert1 (thingy\tileset\desert\HDBMED.grp) -# 858 6/10 Desert (thingy\tileset\desert\HDBMOSS.grp) -# 860 6/13 Desert1 (thingy\tileset\desert\HDBTENT.grp) -# 862 Unknown Desert (thingy\tileset\desert\HDPLNT03.grp) -# 864 10/12 Desert2 (thingy\tileset\desert\JGBROKE.grp) -# 866 10/9 Desert2 (thingy\tileset\desert\JGBGAS.grp) -# 868 10/10 Desert2 (thingy\tileset\desert\JGBGEN.grp) -# 870 10/11 Desert (thingy\tileset\desert\JGBSGN.grp) -# 872 10/14 Desert (thingy\tileset\desert\JGBTENT.grp) -# 874 10/41 Desert (thingy\tileset\desert\JGBCOMM.grp) -# 876 10/39 Desert (thingy\tileset\desert\JGBFACT.grp) -# 878 10/8 Desert2 (thingy\tileset\desert\JGBRED.grp) -# 881 10/7 Desert (thingy\tileset\desert\JGPLNT02.grp) -# 883 4/6 Desert (thingy\tileset\desert\LDBAZ.grp) -# 885 4/11 Desert (thingy\tileset\desert\LDBGAS.grp) -# 887 4/10 Desert (thingy\tileset\desert\LDBGREN.grp) -# 890 4/7 Desert (thingy\tileset\desert\LDBSUKY.grp) -# 892 4/12 Desert (thingy\tileset\desert\LDBTENT.grp) -# 895 4/13 Desert (thingy\tileset\desert\HDLbox01.grp) -# 898 4/15 Desert1 (thingy\tileset\desert\LDLbox01.grp) -# 900 10/23 Desert (thingy\tileset\desert\LDMachn1.grp) -# 902 10/5 Desert (thingy\tileset\desert\LDPlnt04.grp) -.headerstart -IsId 337 -Type 0 -Init DoodadHeader_secondary_Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DoodadHeader_secondary_Init: - playfram 0x00 - imgulnextid 0 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 679 7/8 Platform (thingy\tileset\Platform\tree01.grp) -.headerstart -IsId 338 -Type 0 -Init SpacePlatformDoodadInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpacePlatformDoodadInit: - playfram 0x00 -SpacePlatformDoodadLocal00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - goto SpacePlatformDoodadLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 680 7/7 Platform (thingy\tileset\Platform\tree02.grp) -.headerstart -IsId 339 -Type 0 -Init SpacePlatformDoodad2Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpacePlatformDoodad2Init: - playfram 0x00 -SpacePlatformDoodad2Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - goto SpacePlatformDoodad2Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 742 Left Upper Level Door (thingy\tileset\install\CRDoor1.grp) -# 750 Substructure Left Door (thingy\tileset\install\DIDoor1.grp) -# 754 Substructure Opening Hole (thingy\tileset\install\DIHatc1.grp) -.headerstart -IsId 340 -Type 27 -Init InstallationDoodadInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt InstallationDoodadAlmostBuilt -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit InstallationDoodadStarEditInit -Disable InstallationDoodadDisable -Burrow [NONE] -UnBurrow [NONE] -Enable InstallationDoodadStarEditInit -.headerend -# ----------------------------------------------------------------------------- # - -InstallationDoodadInit: - playfram 0x00 - goto ScourgeLocal00 - -InstallationDoodadAlmostBuilt: - playfram 9 - goto ScourgeLocal00 - -InstallationDoodadStarEditInit: - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - sigorder 1 - goto ScourgeLocal00 - -InstallationDoodadDisable: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 4 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 743 Right Upper Level Door (thingy\tileset\install\CRDoor1.grp) -# 751 Substructure Right Door (thingy\tileset\install\DIDoor1.grp) -.headerstart -IsId 341 -Type 27 -Init InstallationDoodad2Init -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt InstallationDoodad2AlmostBuilt -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable InstallationDoodad2Disable -Burrow [NONE] -UnBurrow [NONE] -Enable InstallationDoodad2Enable -.headerend -# ----------------------------------------------------------------------------- # - -InstallationDoodad2Init: - playfram 0x00 - setflipstate 1 - goto ScourgeLocal00 - -InstallationDoodad2AlmostBuilt: - playfram 9 - setflipstate 1 - goto ScourgeLocal00 - -InstallationDoodad2Enable: - playfram 9 - setflipstate 1 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - sigorder 1 - goto ScourgeLocal00 - -InstallationDoodad2Disable: - 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 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 744 4/15 Installation1 (thingy\tileset\install\DCFan1.grp) -.headerstart -IsId 342 -Type 0 -Init InstallationRightWallFansInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InstallationRightWallFansInit: - 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 - goto InstallationRightWallFansInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 745 4/15 Installation2 (thingy\tileset\install\DCFan1.grp) -.headerstart -IsId 343 -Type 0 -Init InstallationLeftWallFansInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InstallationLeftWallFansInit: - playfram 0x00 - setflipstate 1 - wait 2 -InstallationLeftWallFansLocal00: - 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 0x00 - wait 2 - goto InstallationLeftWallFansLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 752 3/1 Installation (thingy\tileset\install\DIGear1.grp) -# 753 3/2 Installation (thingy\tileset\install\DIGear2.grp) -.headerstart -IsId 344 -Type 0 -Init InstallationGearInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InstallationGearInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto InstallationGearInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 736 Floor Missile Trap (thingy\tileset\install\CLPlate1.grp) -.headerstart -IsId 345 -Type 27 -Init FloorMissileTrapInit -Death FloorMissileTrapDeath -GndAttkInit FloorMissileTrapGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt FloorMissileTrapGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 FloorMissileTrapSpecialState1 -SpecialState2 FloorMissileTrapSpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable FloorMissileTrapSpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -FloorMissileTrapInit: - playfram 1 - goto ScourgeLocal00 - -FloorMissileTrapDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -FloorMissileTrapGndAttkInit: - wait 1 - attackwith 1 - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -FloorMissileTrapSpecialState1: - 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 - imgol 737 0 0 # Floor Missile Trap Turret (thingy\tileset\install\CLPlat1T.grp) - sigorder 1 - goto ScourgeLocal00 - -FloorMissileTrapSpecialState2: - setspawnframe 20 - wait 1 -FloorMissileTrapLocal00: - curdirectcondjmp 160 10 FloorMissileTrapLocal01 - wait 2 - goto FloorMissileTrapLocal00 - -FloorMissileTrapLocal01: - wait 1 - playfram 10 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 737 Floor Missile Trap Turret (thingy\tileset\install\CLPlat1T.grp) -.headerstart -IsId 346 -Type 24 -Init FloorMissileTrapTurretInit -Death Generic_Wait1End -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt ScourgeLocal00 -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 FloorMissileTrapTurretSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable FloorMissileTrapTurretSpecialState2 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FloorMissileTrapTurretInit: - playfram 0x00 - wait 1 - setfldirect 20 - goto ScourgeLocal00 - -FloorMissileTrapTurretSpecialState2: - wait 1 -FloorMissileTrapTurretLocal00: - curdirectcondjmp 160 10 Generic_Wait1End - wait 2 - goto FloorMissileTrapTurretLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 735 Floor Gun Trap (thingy\tileset\install\CLPlate2.grp) -.headerstart -IsId 347 -Type 27 -Init FloorGunTrapInit -Death FloorGunTrapDeath -GndAttkInit FloorGunTrapGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt FloorGunTrapGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle FloorGunTrapGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 FloorGunTrapSpecialState1 -SpecialState2 FloorGunTrapSpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable FloorGunTrapSpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -FloorGunTrapInit: - playfram 1 - goto ScourgeLocal00 - -FloorGunTrapDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -FloorGunTrapGndAttkInit: - wait 1 - nobrkcodestart - playsnd 70 # Bullet\TGoFir00.wav - attackwith 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -FloorGunTrapGndAttkToIdle: - playfram 10 - goto ScourgeLocal00 - -FloorGunTrapSpecialState1: - 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 - sigorder 1 - playfram 10 - goto ScourgeLocal00 - -FloorGunTrapSpecialState2: - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 738 Wall Missile Trap (thingy\tileset\install\DCGun1.grp) -.headerstart -IsId 348 -Type 27 -Init WallMissileTrapType1Init -Death WallMissileTrapType1Death -GndAttkInit WallMissileTrapType1GndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt WallMissileTrapType1GndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WallMissileTrapType1SpecialState1 -SpecialState2 WallMissileTrapType1SpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable WallMissileTrapType1SpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -WallMissileTrapType1Init: - playfram 1 - wait 1 - setfldirect 12 - goto ScourgeLocal00 - -WallMissileTrapType1Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -WallMissileTrapType1GndAttkInit: - wait 1 - attackwith 1 - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -WallMissileTrapType1SpecialState1: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - sigorder 1 - goto ScourgeLocal00 - -WallMissileTrapType1SpecialState2: - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 739 Wall Missile Trap2 (thingy\tileset\install\DCGun1.grp) -.headerstart -IsId 349 -Type 27 -Init WallMissileTrapTypet2Init -Death WallMissileTrapTypet2Death -GndAttkInit WallMissileTrapTypet2GndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt WallMissileTrapTypet2GndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WallMissileTrapTypet2SpecialState1 -SpecialState2 WallMissileTrapTypet2SpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable WallMissileTrapTypet2SpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -WallMissileTrapTypet2Init: - playfram 1 - setflipstate 1 - wait 1 - setfldirect 20 - goto ScourgeLocal00 - -WallMissileTrapTypet2Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -WallMissileTrapTypet2GndAttkInit: - wait 1 - attackwith 1 - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -WallMissileTrapTypet2SpecialState1: - playfram 1 - setflipstate 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - sigorder 1 - goto ScourgeLocal00 - -WallMissileTrapTypet2SpecialState2: - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 740 Wall Flame Trap (thingy\tileset\install\DCGun2.grp) -.headerstart -IsId 350 -Type 27 -Init WallFlameTrapType1Init -Death WallFlameTrapType1Death -GndAttkInit WallFlameTrapType1GndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt WallFlameTrapType1GndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WallFlameTrapType1SpecialState1 -SpecialState2 WallFlameTrapType1SpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable WallFlameTrapType1SpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -WallFlameTrapType1Init: - playfram 1 - wait 1 - setfldirect 12 - goto ScourgeLocal00 - -WallFlameTrapType1Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -WallFlameTrapType1GndAttkInit: - wait 1 - nobrkcodestart - imgoluselo 421 0 0 # FlameThrower (thingy\flamer.grp) - setfldirect 12 - attkshiftproj 24 - wait 2 - attkshiftproj 52 - wait 1 - attkshiftproj 80 - wait 10 - ignorerest - goto ScourgeLocal00 - -WallFlameTrapType1SpecialState1: - 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 - sigorder 1 - goto ScourgeLocal00 - -WallFlameTrapType1SpecialState2: - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 741 Wall Flame Trap2 (thingy\tileset\install\DCGun2.grp) -.headerstart -IsId 351 -Type 27 -Init WallFlameTrapType2Init -Death WallFlameTrapType2Death -GndAttkInit WallFlameTrapType2GndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt WallFlameTrapType2GndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WallFlameTrapType2SpecialState1 -SpecialState2 WallFlameTrapType2SpecialState2 -AlmostBuilt ScourgeLocal00 -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable WallFlameTrapType2SpecialState2 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -WallFlameTrapType2Init: - playfram 1 - setflipstate 1 - wait 1 - setfldirect 20 - goto ScourgeLocal00 - -WallFlameTrapType2Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 1 - end - -WallFlameTrapType2GndAttkInit: - wait 1 - nobrkcodestart - imgoluselo 421 0 0 # FlameThrower (thingy\flamer.grp) - setfldirect 20 - attkshiftproj 24 - wait 2 - attkshiftproj 52 - wait 1 - attkshiftproj 80 - wait 10 - ignorerest - goto ScourgeLocal00 - -WallFlameTrapType2SpecialState1: - playfram 1 - setflipstate 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 - sigorder 1 - goto ScourgeLocal00 - -WallFlameTrapType2SpecialState2: - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 582 Map Revealer (neutral\maprev.grp) -.headerstart -IsId 352 -Type 1 -Init MapRevealerInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MapRevealerInit: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 914 Zerg Egg (All Mutations) (zerg\Lurkegg.grp) -.headerstart -IsId 353 -Type 20 -Init ZergEggAllMutationsInit -Death ZergEggAllMutationsDeath -GndAttkInit ZergEggAllMutationsGndAttkInit -AirAttkInit ZergEggAllMutationsAirAttkInit -Unused1 ZergEggAllMutationsUnused1 -GndAttkRpt [NONE] # Bugged -AirAttkRpt [NONE] # Bugged -CastSpell ZergEggAllMutationsCastSpell -GndAttkToIdle ZergEggAllMutationsGndAttkToIdle -AirAttkToIdle ZergEggAllMutationsAirAttkToIdle -Unused2 ZergEggAllMutationsUnused2 -Walking ZergEggAllMutationsWalking -WalkingToIdle ZergEggAllMutationsWalkingToIdle -SpecialState1 ZergEggAllMutationsSpecialState1 -SpecialState2 ZergEggAllMutationsSpecialState2 -AlmostBuilt ZergEggAllMutationsAlmostBuilt -Built ZergEggAllMutationsBuilt -Landing ZergEggAllMutationsLanding -LiftOff ZergEggAllMutationsLiftoff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZergEggAllMutationsInit: - imgul 22 0 -4 # Egg Shadow (zerg\zegShad.grp) - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - waitrand 1 3 -ZergEggAllMutationsLocal00: - 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 ZergEggAllMutationsLocal00 - -ZergEggAllMutationsDeath: - playsnd 830 # Zerg\Egg\ZEgDth00.WAV - lowsprul 143 0 0 # Egg Remnants (zerg\zegDeath.grp) - wait 1 - end - -ZergEggAllMutationsGndAttkInit: - wait 1 - nobrkcodestart - playfram 36 - wait 2 - playfram 37 - wait 2 - playfram 38 - wait 2 - playfram 39 - wait 2 - playfram 40 - wait 2 - playfram 41 - wait 2 - playfram 42 - wait 2 - playfram 43 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ScourgeLocal00 - -ZergEggAllMutationsAirAttkInit: - wait 1 - playfram 56 - wait 2 - playfram 57 - wait 2 - playfram 58 - wait 2 - playfram 59 - wait 2 - playfram 60 - wait 2 - playfram 61 - wait 2 - playfram 62 - wait 2 - playfram 63 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsUnused1: - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - playfram 27 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsUnused2: - wait 1 - nobrkcodestart - playfram 27 - wait 2 - playfram 26 - wait 2 - playfram 25 - wait 2 - playfram 24 - wait 2 - playfram 23 - wait 2 - playfram 22 - wait 2 - playfram 21 - wait 2 - playfram 20 - sigorder 4 - wait 2 - nobrkcodeend - goto ScourgeLocal00 - -ZergEggAllMutationsAlmostBuilt: - playfram 28 - wait 2 - playfram 29 - wait 2 - playfram 30 - wait 2 - playfram 31 - wait 2 - playfram 32 - wait 2 - playfram 33 - wait 2 - playfram 34 - wait 2 - playfram 35 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsCastSpell: - wait 1 - nobrkcodestart - playfram 34 - wait 2 - playfram 33 - wait 2 - playfram 32 - wait 2 - playfram 31 - wait 2 - playfram 30 - wait 2 - playfram 29 - wait 2 - playfram 28 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsSpecialState1: - sigorder 4 - goto ScourgeLocal00 - -ZergEggAllMutationsWalking: - playfram 44 - wait 2 - playfram 45 - wait 2 - playfram 46 - wait 2 - playfram 47 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsWalkingToIdle: - wait 1 - nobrkcodestart - playfram 46 - wait 2 - playfram 45 - wait 2 - playfram 44 - wait 2 - playfram 43 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsSpecialState2: - wait 1 - nobrkcodestart - playfram 19 - wait 2 - playfram 18 - wait 2 - playfram 0x11 - wait 2 - playfram 16 - wait 2 - playfram 15 - wait 2 - playfram 14 - wait 2 - playfram 13 - wait 2 - playfram 12 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ScourgeLocal00 - -ZergEggAllMutationsGndAttkToIdle: - wait 1 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsAirAttkToIdle: - wait 1 - nobrkcodestart - playfram 54 - wait 2 - playfram 53 - wait 2 - playfram 52 - wait 2 - playfram 51 - wait 2 - playfram 50 - wait 2 - playfram 49 - wait 2 - playfram 48 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsBuilt: - # Zoryusthaleth mutate - playfram 64 - wait 2 - playfram 65 - wait 2 - playfram 66 - wait 2 - playfram 67 - wait 2 - playfram 68 - wait 2 - playfram 69 - wait 2 - playfram 70 - wait 2 - playfram 71 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsLanding: - # Konvilisk mutate - playfram 72 - wait 2 - playfram 73 - wait 2 - playfram 74 - wait 2 - playfram 75 - wait 2 - playfram 76 - wait 2 - playfram 77 - wait 2 - playfram 78 - wait 2 - playfram 79 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -ZergEggAllMutationsLiftoff: - # Keskathalor mutate - playfram 80 - wait 2 - playfram 81 - wait 2 - playfram 82 - wait 2 - playfram 83 - wait 2 - playfram 84 - wait 2 - playfram 85 - wait 2 - playfram 86 - wait 2 - playfram 87 - waitrand 1 3 - goto ZergEggAllMutationsLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 921 Lakizilisk (zerg\Zlurker.grp) -.headerstart -IsId 354 -Type 26 -Init LakiziliskInit -Death LakiziliskDeath -GndAttkInit LakiziliskGndAttkInit -AirAttkInit LakiziliskGndAttkInit -Unused1 LakiziliskUnused1 -GndAttkRpt LakiziliskGndAttkRpt -AirAttkRpt LakiziliskGndAttkRpt -CastSpell [NONE] -GndAttkToIdle LakiziliskGndAttkToIdle -AirAttkToIdle LakiziliskGndAttkToIdle -Unused2 [NONE] -Walking LakiziliskWalking -WalkingToIdle LakiziliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 LakiziliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow LakiziliskBurrow -UnBurrow LakiziliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LakiziliskInit: - imgul 922 0 0 # Lakizilisk Shadow (zerg\zZluShad.grp) -LakiziliskWalkingToIdle: - playfram 0x00 -LakiziliskLocal00: - wait 1 - waitrand 62 74 - randcondjmp 128 LakiziliskLocal01 - goto LakiziliskLocal00 - -LakiziliskLocal01: - randcondjmp 128 LakiziliskLocal02 - playfram 0x11 - wait 1 - turnccwise 1 - playfram 0x22 - wait 1 - turnccwise 1 - playfram 0x33 - wait 1 - turnccwise 1 - playfram 0x44 - wait 1 - turnccwise 1 - playfram 0x55 - wait 1 - turnccwise 1 - playfram 0x66 - wait 1 - turnccwise 1 - goto LakiziliskWalkingToIdle - -LakiziliskLocal02: - playfram 0x11 - wait 1 - turncwise 1 - playfram 0x22 - wait 1 - turncwise 1 - playfram 0x33 - wait 1 - turncwise 1 - playfram 0x44 - wait 1 - turncwise 1 - playfram 0x55 - wait 1 - turncwise 1 - playfram 0x66 - wait 1 - turncwise 1 - goto LakiziliskWalkingToIdle - -LakiziliskDeath: - playsnd 1080 # Zerg\LURKER\ZLuDth00.WAV - setfldirect 0 - playfram 0x1a9 - wait 2 - playfram 0x1ba - wait 2 - playfram 0x1cb - wait 2 - playfram 0x1dc - wait 2 - playfram 0x1ed - wait 2 - lowsprul 484 0 0 # Lakizilisk Remnants (zerg\zLakizilisk.grp) - wait 9 # Extra time to prevent nullsprite crash - end - -LakiziliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1174 - playfram 0x1ed - wait 2 - playfram 0x1dc - wait 2 - playfram 0x1cb - wait 2 - playfram 0x1ba - wait 2 - playfram 0x1a9 - wait 2 - setfldirect 12 - nobrkcodeend - goto LakiziliskWalkingToIdle - -LakiziliskGndAttkInit: - nobrkcodestart -LakiziliskGndAttkRpt: - wait 1 - playsnd 2484 # Lakizilisk weaponfire 01 - sigorder 32 - attack - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -LakiziliskGndAttkToIdle: - goto ScourgeLocal00 - -LakiziliskWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x00 - goto LakiziliskWalking - -LakiziliskSpecialState2: - playfram 0x198 - goto ScourgeLocal00 - -LakiziliskBurrow: - sigorder 128 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playsnd 1093 # Zerg\LURKER\ZLuBurrw.wav - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x154 - wait 1 - playfram 0x165 - wait 1 - playfram 0x176 - wait 1 - playfram 0x187 - wait 1 - playfram 0x198 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -LakiziliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - sigorder 4 - goto LakiziliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 915 Vithrilisk (zerg\devour.grp) -.headerstart -IsId 357 -Type 12 -Init VithriliskInit -Death VithriliskDeath -GndAttkInit VithriliskGndAttkInit -AirAttkInit VithriliskGndAttkInit -Unused1 [NONE] -GndAttkRpt VithriliskGndAttkInit -AirAttkRpt VithriliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle VithriliskGndAttkToIdle -AirAttkToIdle VithriliskGndAttkToIdle -Unused2 [NONE] -Walking VithriliskWalking -WalkingToIdle VithriliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VithriliskInit: - imgul 916 0 42 # Vithrilisk Shadow (zerg\devour.grp) - playfram 0x00 - wait 2 -VithriliskGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - goto VithriliskGndAttkToIdle - -VithriliskDeath: - playsnd 1097 # Zerg\Vithrilisk\ZDvDth00.WAV - sprol 483 0 0 # Vithrilisk Death (zerg\zdvDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -VithriliskGndAttkInit: - playfram 0x66 - wait 1 - nobrkcodestart - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0x88 - playsnd 1094 # Zerg\Vithrilisk\firesuck.wav - wait 2 - playfram 0x77 - wait 2 - playfram 0x66 - wait 2 - attackwith 2 - nobrkcodeend - gotorepeatattk - goto VithriliskGndAttkToIdle - -VithriliskWalking: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 2 - goto VithriliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 917 Vithrilisk Birth (thingy\zDvbirth.grp) -.headerstart -IsId 358 -Type 13 -Init VithriliskBirthInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 VithriliskBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -VithriliskBirthInit: - playfram 7 - wait 1 - waitrand 10 15 -VithriliskBirthLocal00: - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 10 - wait 1 - goto VithriliskBirthLocal00 - -VithriliskBirthSpecialState1: - wait 1 - nobrkcodestart - 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 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 918 Vithrilisk Death (zerg\zdvDeath.grp) -.headerstart -IsId 359 -Type 0 -Init VithriliskDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VithriliskDeathInit: - playfram 0x00 - wait 2 - imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 944 Cleric (terran\medic.grp) -.headerstart -IsId 360 -Type 13 -Init ClericInit -Death ClericDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 ClericUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell ClericCastSpell -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ClericWalking -WalkingToIdle ClericWalkingToIdle -SpecialState1 ClericSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ClericInit: - imgul 945 0 0 # Cleric Shadow (terran\tmeShad.grp) -ClericLocal00: - playfram 0x00 -ClericLocal01: - wait 62 - randcondjmp 128 ClericLocal02 - goto ClericLocal01 - -ClericLocal02: - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - turnrand 3 - wait 1 - playfram 0x66 - wait 1 - goto ClericLocal00 - -ClericDeath: - playsnd 1000 # Terran\Medic\TMdDth00.wav - setfldirect 0 - 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 4 - playfram 229 - wait 4 - lowsprul 490 0 0 # Cleric Remnants (terran\tmeDeath.grp) - wait 1 - end - -ClericUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1188 - 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 ClericWalkingToIdle - -ClericCastSpell: - orderdone 1 - nobrkcodestart - playfram 0x11 - wait 3 - playfram 0x22 - castspell - sigorder 2 - wait 3 - playfram 0x11 - wait 3 - nobrkcodeend - gotorepeatattk - playfram 0x00 - goto ScourgeLocal00 - -ClericWalking: - orderdone 1 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0x00 - goto ClericWalking - -ClericWalkingToIdle: - orderdone 1 - goto ClericLocal00 - -ClericSpecialState1: - playfram 0x33 - wait 1 -ClericLocal04: - sigorder 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playsnd 1018 # Terran\Medic\TMedHeal.wav - goto ClericLocal04 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 946 Cleric Remnants (terran\tmeDeath.grp) -# 1362 Scribe Remnants (cm\protoss\scribe-death.grp) -# 1542 Evigrilisk Remains (cm\zerg\evigrilisk-remains.grp) -# 1899 Ancile Remains (cm\terran\ancile-death.grp) -.headerstart -IsId 361 -Type 1 -Init GenericRemnantsFourInit -Death GenericRemnantsFourDeath -.headerend -# ----------------------------------------------------------------------------- # - -GenericRemnantsFourInit: - playfram 0x00 - wait 239 -GenericRemnantsFourDeath: - 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: -# 939 Valkyrie (terran\bomber.grp) -.headerstart -IsId 362 -Type 12 -Init ValkyrieInit -Death ValkyrieDeath -GndAttkInit ValkyrieAirAttkInit -AirAttkInit ValkyrieAirAttkInit -Unused1 [NONE] -GndAttkRpt ValkyrieAirAttkInit -AirAttkRpt ValkyrieAirAttkInit -CastSpell [NONE] -GndAttkToIdle OvilethLocal00 -AirAttkToIdle OvilethLocal00 -Unused2 [NONE] -Walking ValkyrieWalking -WalkingToIdle ValkyrieWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ValkyrieInit: - imgul 940 0 42 # Valkyrie Shadow (terran\bomber.grp) - playfram 0x00 - goto OvilethLocal00 - -ValkyrieDeath: - playsnd 1040 # Terran\FRIGATE\TVkDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -ValkyrieAirAttkInit: - wait 2 - nobrkcodestart - attackwith 2 - wait 8 - attackwith 2 - wait 8 - attackwith 2 - wait 8 - attackwith 2 - wait 8 - attackwith 2 - nobrkcodeend - gotorepeatattk - goto OvilethLocal00 - -ValkyrieWalking: - setvertpos 0 - imgol 941 0 0 # Valkyrie Engines (thingy\tbmGlow.grp) - sigorder 64 - goto ScourgeLocal00 - -ValkyrieWalkingToIdle: - orderdone 64 - goto OvilethLocal00 - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 363 -Type 0 -Init Unknown363Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown363Init: - playframtile 0x00 - imgulnextid 0 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 925 Mind Tyrant Energy (protoss\darchn.grp) -.headerstart -IsId 365 -Type 13 -Init MindTyrantEnergyInit -Death MindTyrantEnergyDeath -GndAttkInit MindTyrantEnergyGndAttkInit -AirAttkInit MindTyrantEnergyGndAttkInit -Unused1 MindTyrantEnergyUnused1 -GndAttkRpt MindTyrantEnergyGndAttkInit -AirAttkRpt MindTyrantEnergyGndAttkInit -CastSpell MindTyrantEnergyCastSpell -GndAttkToIdle MindTyrantEnergyGndAttkInit -AirAttkToIdle MindTyrantEnergyGndAttkInit -Unused2 MindTyrantEnergyUnused2 -Walking MindTyrantEnergyGndAttkInit -WalkingToIdle MindTyrantEnergyGndAttkInit -SpecialState1 MindTyrantEnergySpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -MindTyrantEnergyInit: - playfram 18 - wait 1 - nobrkcodestart - wait 1 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - imgol 926 0 0 # Mind Tyrant Being (protoss\darchnT.grp) - imgol 927 0 0 # Mind Tyrant Swirl (protoss\darchnT2.grp) - sigorder 4 - nobrkcodeend - wait 2 -MindTyrantEnergyGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 7 - wait 1 - playfram 5 - wait 1 - playfram 3 - wait 1 - playfram 1 - wait 1 - goto MindTyrantEnergyGndAttkInit - -MindTyrantEnergyDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 928 0 0 # Mind Tyrant Death (protoss\PdaDeath.grp) - wait 3 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -MindTyrantEnergyUnused1: - wait 1 - nobrkcodestart - playsnd 7 # Misc\ExploLrg.wav - sprol 741 0 0 # Mind Tyrant Death (protoss\PdaDeath.grp) - wait 3 - nobrkcodeend - goto MindTyrantEnergyInit - -MindTyrantEnergyCastSpell: - wait 1 - castspell - sigorder 2 - gotorepeatattk - goto MindTyrantEnergyGndAttkInit - -MindTyrantEnergyUnused2: - playsnd 1275 # Mind Tyrant Tyranny Channel - wait 2 - sigorder 2 - gotorepeatattk - goto MindTyrantEnergyGndAttkInit - -MindTyrantEnergySpecialState1: - playsnd 617 # Protoss\TEMPLAR\PTeSum00.WAV - playfram 10 - wait 2 - playfram 11 - wait 2 -MindTyrantEnergyLocal00: - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 16 - wait 2 - playfram 15 - wait 2 - playfram 14 - wait 2 - playfram 13 - wait 2 - goto MindTyrantEnergyLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 926 Mind Tyrant Being (protoss\darchnT.grp) -.headerstart -IsId 366 -Type 12 -Init MindTyrantBeingInit -Death Generic_Wait1End -GndAttkInit MindTyrantBeingGndAttkInit -AirAttkInit MindTyrantBeingGndAttkInit -Unused1 [NONE] -GndAttkRpt MindTyrantBeingGndAttkInit -AirAttkRpt MindTyrantBeingGndAttkInit -CastSpell MindTyrantBeingCastSpell -GndAttkToIdle MindTyrantBeingGndAttkToIdle -AirAttkToIdle MindTyrantBeingGndAttkToIdle -Unused2 [NONE] -Walking MindTyrantBeingGndAttkToIdle -WalkingToIdle MindTyrantBeingGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MindTyrantBeingInit: - setfldirect 15 -MindTyrantBeingGndAttkToIdle: - playfram 0x00 - wait 4 - playfram 0x11 - wait 4 - playfram 0x22 - wait 4 - playfram 0x33 - wait 4 - playfram 0x44 - wait 4 - playfram 0x55 - wait 4 - playfram 0x66 - wait 4 - playfram 0x77 - wait 4 - playfram 0x88 - wait 4 - playfram 0x99 - wait 4 - playfram 0x88 - wait 4 - playfram 0x77 - wait 4 - playfram 0x66 - wait 4 - playfram 0x55 - wait 4 - playfram 0x44 - wait 4 - playfram 0x33 - wait 4 - playfram 0x22 - wait 4 - playfram 0x11 - wait 4 - goto MindTyrantBeingGndAttkToIdle - -MindTyrantBeingGndAttkInit: - playfram 0xaa - wait 1 - nobrkcodestart - trgtrangecondjmp 48 MindTyrantBeingLocal00 - imgoluselo 549 0 0 # Archon Beam (thingy\emsBeam.grp) - playsnd 58 # Bullet\PArFir00.wav - attack - wait 1 - nobrkcodeend - gotorepeatattk - goto MindTyrantBeingGndAttkToIdle - -MindTyrantBeingLocal00: - playsnd 58 # Bullet\PArFir00.wav - attack - wait 1 - nobrkcodeend - gotorepeatattk - goto MindTyrantBeingGndAttkToIdle - -MindTyrantBeingCastSpell: - nobrkcodestart - castspell - sigorder 2 - nobrkcodeend - gotorepeatattk - goto MindTyrantBeingGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 927 Mind Tyrant Swirl (protoss\darchnT2.grp) -.headerstart -IsId 367 -Type 1 -Init MindTyrantSwirlInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MindTyrantSwirlInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -MindTyrantSwirlLocal00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto MindTyrantSwirlLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 928 Mind Tyrant Death (protoss\PdaDeath.grp) -.headerstart -IsId 368 -Type 0 -Init MindTyrantDeathInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MindTyrantDeathInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 929 Lanifect (cm\protoss\lanifect.grp) -.headerstart -IsId 369 -Type 21 -Init LanifectInit -Death LanifectDeath -GndAttkInit LanifectAirAttkInit -AirAttkInit LanifectAirAttkInit -Unused1 [NONE] -GndAttkRpt LanifectAirAttkInit -AirAttkRpt LanifectAirAttkInit -CastSpell LanifectCastSpell -GndAttkToIdle LanifectGndAttkToIdle -AirAttkToIdle LanifectGndAttkToIdle -Unused2 [NONE] -Walking LanifectWalking -WalkingToIdle LanifectGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -LanifectInit: - imgul 930 0 42 # Lanifect Shadow (cm\protoss\lanifect.grp) -LanifectGndAttkToIdle: - playfram 0x00 - goto OvilethLocal00 - -LanifectDeath: - playsnd 1351 # Lanifect death 01 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 887 0 42 # Lanifect Remains - wait 1 - end - -LanifectAirAttkInit: - nobrkcodestart - playfram 0x20 - wait 1 - attackwith 2 - playsnd 1060 # Protoss\Corsair\PCorlasr2.wav - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto LanifectGndAttkToIdle - -LanifectCastSpell: - playfram 0xA0 - nobrkcodestart - wait 1 - playfram 0xC0 - wait 1 - playsnd 1059 # Protoss\Corsair\PCorWeb1.wav - castspell - nobrkcodeend - gotorepeatattk - sigorder 2 - goto LanifectGndAttkToIdle - -LanifectWalking: - playfram 0x00 - setvertpos 0 - imgol 931 0 0 # Lanifect Engines (cm\protoss\lanifect-engines.grp) - goto ScourgeLocal00 - -LanifectWarpIn: - imgol 143 0 0 # Scout Warp Flash (protoss\scout.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 931 Lanifect Engines (thingy\pcsGlow.grp) -# 1471 Magnetar Engines (cm\terran\magnetar-engine.grp) -.headerstart -IsId 370 -Type 12 -Init LanifectEnginesInit -Death Generic_Wait1End -GndAttkInit Generic_Wait1End -AirAttkInit Generic_Wait1End -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell Generic_Wait1End -GndAttkToIdle Generic_Wait1End -AirAttkToIdle Generic_Wait1End -Unused2 [NONE] -Walking LanifectEnginesInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LanifectEnginesInit: - engframe 0 - wait 1 - engframe 17 - wait 1 - goto LanifectEnginesInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 932 Neutron Flare Overlay (Unused) (thingy\elbFireC.grp) -.headerstart -IsId 371 -Type 1 -Init Unknown371Init -Death Unknown371Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown371Init: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 1 -Unknown371Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 933 Cabalist (protoss\dtemplar.grp) -.headerstart -IsId 372 -Type 12 -Init CabalistInit -Death CabalistDeath -GndAttkInit CabalistGndAttkInit -AirAttkInit [NONE] -Unused1 CabalistUnused1 -GndAttkRpt CabalistGndAttkInit -AirAttkRpt [NONE] -CastSpell CabalistCastSpell -GndAttkToIdle CabalistGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking CabalistWalking -WalkingToIdle CabalistGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CabalistInit: - imgul 1617 0 0 # Cabalist Shadow (cm\protoss\cabalist-shadow.grp) - playfram 0xdd -CabalistGndAttkToIdle: - playfram 0xdd - goto ScourgeLocal00 - -CabalistDeath: - playsnd 1920 # Cabalist death 01 - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -CabalistUnused1: - wait 1 - nobrkcodestart - playsnd 1921 # Cabalist revive 01 - imgol 1445 0 0 # Zealot death reversed - wait 11 - setfldirect 12 - nobrkcodeend - goto CabalistGndAttkToIdle - -CabalistGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - attackmelee 1 111 # Bullet\UZeFir00.wav - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto CabalistGndAttkToIdle - -CabalistCastSpell: - castspell - sigorder 2 - gotorepeatattk - goto CabalistGndAttkToIdle - -CabalistWalking: - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - move 5 - wait 1 - playfram 0xee - move 5 - wait 1 - playfram 0xff - move 5 - wait 1 - playfram 0x110 - move 5 - wait 1 - playfram 0x121 - goto CabalistWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 964 Neutron Flare (thingy\PcsSplsh.grp) -.headerstart -IsId 373 -Type 2 -Init NeutronFlareInit -Death NeutronFlareDeath -GndAttkInit NeutronFlareDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NeutronFlareInit: - wait 1 - sigorder 1 - wait 1 -NeutronFlareDeath: - playfram 0x00 - domissiledmg - if bullet.weapon_id == 106 goto NeutronFlareDeathDemiurge - playsnd 95 # Lanifect weaponhit 01 - goto NeutronFlareDeath2 - -NeutronFlareDeathDemiurge: - playsndbtwn 1405 1406 # Demiurge weaponhit 01, 02 -NeutronFlareDeath2: - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 951 Disruption Web (thingy\Disrupt.grp) -.headerstart -IsId 374 -Type 1 -Init DisruptionWebInit -Death DisruptionWebDeath -.headerend -# ----------------------------------------------------------------------------- # - -DisruptionWebInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 -DisruptionWebLocal00: - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 3 - playfram 8 - wait 3 - playfram 9 - wait 3 - goto DisruptionWebLocal00 - -DisruptionWebDeath: - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1380 Exemplar (cm\protoss\exemplar.grp) -.headerstart -IsId 376 -Type 21 -Init ExemplarInit -Death ExemplarDeath -GndAttkInit ExemplarGndAttkInit -AirAttkInit ExemplarGndAttkInit -Unused1 [NONE] -GndAttkRpt ExemplarGndAttkInit -AirAttkRpt ExemplarGndAttkInit -CastSpell [NONE] -GndAttkToIdle ExemplarGndAttkToIdle -AirAttkToIdle ExemplarGndAttkToIdle -Unused2 [NONE] -Walking ExemplarWalking -WalkingToIdle ExemplarWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ExemplarInit: - imgul 1381 0 42 # Exemplar Shadow (cm\protoss\exemplar.grp) -ExemplarGndAttkToIdle: - playfram 0x00 - goto ExemplarWalkingToIdle - -ExemplarWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto ExemplarWalkingToIdle - -ExemplarDeath: - playsnd 2860 # Exemplar death 01 - imgol 1565 0 0 # Protoss Explosion (Medium) - wait 5 - imgol 1563 -8 0 # Exemplar Death - imgol 1563 0 -8 # Exemplar Death - wait 2 - imgol 1563 6 -4 # Exemplar Death - imgol 1563 -4 6 # Exemplar Death - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -ExemplarGndAttkInit: - nobrkcodestart - playsndbtwn 1222 1226 # Exemplar weaponfire 01, 02, 03, 04, 05 - playfram 0x11 - attackwith 1 - wait 2 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -ExemplarWalking: - playfram 0x00 - setvertpos 0 - imgol 1202 0 0 # Exemplar Engines (cm\protoss\exemplar-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 965 Halo Rockets (bullet\SMmissle.grp) -.headerstart -IsId 378 -Type 2 -Init HaloRocketInit -Death HaloRocketDeath -GndAttkInit HaloRocketGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HaloRocketInit: - playfram 0x00 - playsnd 1023 # Bullet\Tfrshoot.wav - wait 1 - sigorder 1 - wait 1 -HaloRocketGndAttkInit: - sprol 505 0 0 # Halo Rockets Trail (thingy\bsmoke.grp) - wait 2 - goto HaloRocketGndAttkInit - -HaloRocketDeath: - playsnd 1022 # Bullet\Tfrhit.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 966 Optical Flare Grenade (bullet\grenade.grp) -.headerstart -IsId 379 -Type 2 -Init OpticalFlareInit -Death OpticalFlareDeath -GndAttkInit OpticalFlareGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OpticalFlareInit: - playfram 0x00 - playsnd 1016 # Terran\Medic\TMedflsh.wav - wait 1 - sigorder 1 - wait 1 -OpticalFlareGndAttkInit: - sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) - wait 1 -OpticalFlareLocal00: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto OpticalFlareLocal00 - -OpticalFlareDeath: - imgol 977 0 0 # Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 961 Subterranean Spines (bullet\Spike.grp) -.headerstart -IsId 380 -Type 1 -Init SubterraneanSpinesInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -SubterraneanSpinesInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 962 Corrosive Acid Shot (thingy\ZDvPuke.grp) -.headerstart -IsId 381 -Type 2 -Init CorrosiveAcidInit -Death CorrosiveAcidDeath -GndAttkInit CorrosiveAcidGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CorrosiveAcidInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -CorrosiveAcidGndAttkInit: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - goto ScourgeLocal00 - -CorrosiveAcidDeath: - playsnd 72 # Bullet\ZGuHit00.wav - imgol 963 0 0 # Corrosive Acid Hit (thingy\ZDvHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 963 Corrosive Acid Hit (thingy\ZDvHit.grp) -.headerstart -IsId 382 -Type 1 -Init CorrosiveAcidHitInit -Death CorrosiveAcidHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -CorrosiveAcidHitInit: - playfram 0x00 - playsnd 1095 # Zerg\Devourer\goophit.wav - wait 1 - playfram 1 - wait 1 - 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 -CorrosiveAcidHitDeath: - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 986 Acid Spores (1) Overlay (Small) (thingy\ZdvGooS.grp) -# 990 Acid Spores (1) Overlay (Medium) (thingy\ZdvGooM.grp) -# 994 Acid Spores (1) Overlay (Large) (thingy\ZdvGooL.grp) -.headerstart -IsId 383 -Type 1 -Init AcidSpores_1_OverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSpores_1_OverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -AcidSpores_1_OverlayLocal00: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - goto AcidSpores_1_OverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 987 Acid Spores (2-3) Overlay (Small) (thingy\ZdvGooS.grp) -# 991 Acid Spores (2-3) Overlay (Medium) (thingy\ZdvGooM.grp) -# 995 Acid Spores (2-3) Overlay (Large) (thingy\ZdvGooL.grp) -.headerstart -IsId 384 -Type 1 -Init AcidSpores_2_3_OverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSpores_2_3_OverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -AcidSpores_2_3_OverlayLocal00: - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - wait 2 - goto AcidSpores_2_3_OverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 988 Acid Spores (4-5) Overlay (Small) (thingy\ZdvGooS.grp) -# 992 Acid Spores (4-5) Overlay (Medium) (thingy\ZdvGooM.grp) -# 996 Acid Spores (4-5) Overlay (Large) (thingy\ZdvGooL.grp) -.headerstart -IsId 385 -Type 1 -Init AcidSpores_4_5_OverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSpores_4_5_OverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -AcidSpores_4_5_OverlayLocal00: - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xaa - wait 2 - playfram 0xbb - wait 2 - goto AcidSpores_4_5_OverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 989 Acid Spores (6-9) Overlay (Small) (thingy\ZdvGooS.grp) -# 993 Acid Spores (6-9) Overlay (Medium) (thingy\ZdvGooM.grp) -# 997 Acid Spores (6-9) Overlay (Large) (thingy\ZdvGooL.grp) -.headerstart -IsId 386 -Type 1 -Init AcidSpores_6_9_OverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -AcidSpores_6_9_OverlayInit: - tmprmgraphicstart - wait 2 - tmprmgraphicend -AcidSpores_6_9_OverlayLocal00: - playfram 0xcc - wait 2 - playfram 0xdd - wait 2 - playfram 0xee - wait 2 - playfram 0xff - wait 2 - goto AcidSpores_6_9_OverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 832 12/30 Ice2 (thingy\tileset\ice\HDPipes.grp) -# 836 12/24 Ice2 (thingy\tileset\ice\LDRck01.grp) -# 838 12/25 Ice2 (thingy\tileset\ice\LDRck02.grp) -# 904 6/13 Desert2 (thingy\tileset\desert\HDLbox01.grp) -# 907 4/15 Desert2 (thingy\tileset\desert\LDLbox01.grp) -# 909 8/23 Desert (thingy\tileset\desert\LDMachn1.grp) -.headerstart -IsId 387 -Type 0 -Init IceDoodadInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IceDoodadInit: - playfram 0x00 - setflipstate 1 - imgulnextid 0 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 833 12/30 Ice2 Shadow (thingy\tileset\ice\SHDPipes.grp) -# 837 12/24 Ice2 Shadow (thingy\tileset\ice\SLDRck01.grp) -# 839 12/25 Ice2 Shadow (thingy\tileset\ice\SLDRck02.grp) -# 905 6/13 Desert2 Shadow (thingy\tileset\desert\SHDLbox1.grp) -# 908 4/15 Desert2 Shadow (thingy\tileset\desert\SLDLbox1.grp) -# 910 8/23 Desert Shadow (thingy\tileset\desert\SLDMchn1.grp) -.headerstart -IsId 388 -Type 1 -Init DoodadShadowsHeader_BW_Init -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DoodadShadowsHeader_BW_Init: - wait 1 - followmaingraphic - goto DoodadShadowsHeader_BW_Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 967 Restoration Hit (Small) (thingy\tCureSml.grp) -# 968 Restoration Hit (Medium) (thingy\tCureMed.grp) -# 969 Restoration Hit (Large) (thingy\tCureLrg.grp) -.headerstart -IsId 389 -Type 1 -Init RestorationHitInit -Death RestorationHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -RestorationHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -RestorationHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 973 Mind Control Hit (Small) (thingy\PDaMyoSm.grp) -# 974 Mind Control Hit (Medium) (thingy\PDaMyoMd.grp) -# 975 Mind Control Hit (Large) (thingy\PDaMyoLg.grp) -.headerstart -IsId 390 -Type 1 -Init MindControlHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MindControlHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 0x11 - wait 1 - playfram 18 - wait 1 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 976 Optical Flare Hit (Small) (thingy\TmeFlshS.grp) -# 977 Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) -# 978 Optical Flare Hit (Large) (thingy\TmeFlshL.grp) -.headerstart -IsId 391 -Type 1 -Init OpticalFlareHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -OpticalFlareHitInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 979 Feedback (Small) (thingy\PDaPsySm.grp) -# 980 Feedback (Medium) (thingy\PDaPsyMd.grp) -# 981 Feedback Hit (Large) (thingy\PDaPsyLg.grp) -.headerstart -IsId 392 -Type 1 -Init FeedbackInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -FeedbackInit: - playfram 0 - wait 1 - playfram 1 - wait 1 - 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 0x11 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 982 Maelstrom Overlay (Small) (thingy\PDaParSm.grp) -# 983 Maelstrom Overlay (Medium) (thingy\PDaParMd.grp) -# 984 Maelstrom Overlay (Large) (thingy\PDaParLg.grp) -.headerstart -IsId 393 -Type 1 -Init MaelstromOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MaelstromOverlayInit: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 0x11 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - goto MaelstromOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 970 Unused Heal (Small) (thingy\tmeHealM.grp) -# 971 Unused Heal (Medium) (thingy\tmeHealM.grp) -# 972 Unused Heal (Large) (thingy\tmeHealL.grp) -.headerstart -IsId 394 -Type 1 -Init Unknown394Init -Death Unknown394Death -.headerend -# ----------------------------------------------------------------------------- # - -Unknown394Init: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 1 - tmprmgraphicstart - wait 48 - tmprmgraphicend - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 1 -Unknown394Death: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 985 Subterranean Spines Hit (zerg\zmarker.grp) -.headerstart -IsId 395 -Type 2 -Init Unknown395Init -Death Unknown395Death -GndAttkInit Unknown395GndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Unknown395Init: - wait 1 - sigorder 1 - wait 1 -Unknown395GndAttkInit: - grdsprol 511 0 0 # Subterranean Spines (bullet\Spike.grp) - dogrddamage - wait 2 - goto Unknown395GndAttkInit - -Unknown395Death: - playsnd 1110 # Bullet\ZLrkHit1.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - dogrddamage - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 851 10/10 Desert1 (thingy\tileset\desert\HDBANT.grp) -.headerstart -IsId 396 -Type 0 -Init DesertDoodad1Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DesertDoodad1Init: - playfram 0x00 -DesertDoodad1Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 5 - wait 1 - goto DesertDoodad1Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 889 4/9 Desert (thingy\tileset\desert\LDBNEON.grp) -.headerstart -IsId 397 -Type 0 -Init DesertDoodad2Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DesertDoodad2Init: - playfram 0x00 -DesertDoodad2Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - goto DesertDoodad2Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 894 4/8 Desert (thingy\tileset\desert\Ldneon.grp) -# 913 Unknown913 (protoss\scout.grp) -.headerstart -IsId 398 -Type 0 -Init DesertDoodad4Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DesertDoodad4Init: - playfram 0x00 -DesertDoodad4Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - goto DesertDoodad4Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 911 12/1 Desert Overlay (thingy\tileset\desert\Tgas.grp) -.headerstart -IsId 399 -Type 0 -Init DesertDoodadOverlayInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DesertDoodadOverlayInit: - playfram 0x00 -DesertDoodadOverlayLocal00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - waitrand 63 75 - goto DesertDoodadOverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 912 11/3 Desert (thingy\tileset\desert\sarlacc.grp) -.headerstart -IsId 400 -Type 0 -Init DesertDoodad3Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DesertDoodad3Init: - playfram 0x00 -DesertDoodad3Local00: - 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 - goto DesertDoodad3Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 756 Unknown Twilight (thingy\tileset\twilight\Lddrill.grp) -.headerstart -IsId 401 -Type 0 -Init TwilightDoodad4Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TwilightDoodad4Init: - playfram 0x00 -TwilightDoodad4Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - goto TwilightDoodad4Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 757 7/13 Twilight (thingy\tileset\twilight\Ldxel01.grp) -.headerstart -IsId 402 -Type 0 -Init TwilightDoodad13Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TwilightDoodad13Init: - playfram 0x00 -TwilightDoodad13Local00: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - goto TwilightDoodad13Local00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 758 7/14 Twilight (thingy\tileset\twilight\Ldxel02.grp) -.headerstart -IsId 403 -Type 0 -Init TwilightDoodad5Init -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TwilightDoodad5Init: - playfram 0x00 -TwilightDoodadLocal700: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - goto TwilightDoodadLocal700 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 763 7/17 Twilight (thingy\tileset\twilight\Ldxeltur.grp) -.headerstart -IsId 404 -Type 0 -Init TwilightDoodadInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TwilightDoodadInit: - playfram 0x00 -TwilightDoodadLocal00: - playfram 0x00 - setflipstate 0 - 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 - setflipstate 1 - sethorpos -3 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - goto TwilightDoodadLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 923 Overmind Cocoon (zerg\XOvermnd.grp) -.headerstart -IsId 405 -Type 20 -Init OvermindCocoonInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt OvermindCocoonAlmostBuilt -Built OvermindCocoonBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking OvermindCocoonIsWorking -WorkingToIdle OvermindCocoonIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvermindCocoonInit: - imgul 924 0 0 # Overmind Cocoon Shadow (zerg\ZovShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -OvermindCocoonAlmostBuilt: - playfram 0x00 - goto OvermindCocoonBuilt - -OvermindCocoonBuilt: - wait 1 - waitrand 1 2 -OvermindCocoonIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - wait 1 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto OvermindCocoonIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 934 Warp Gate (protoss\XwarpGat.grp) -.headerstart -IsId 406 -Type 20 -Init WarpGateInit -Death WarpGateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt WarpGateAlmostBuilt -Built WarpGateBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking WarpGateIsWorking -WorkingToIdle WarpGateIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WarpGateInit: - imgul 935 0 0 # Warp Gate Shadow (protoss\pwgShad.grp) - playfram 0x00 - goto ScourgeLocal00 - -WarpGateDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -WarpGateAlmostBuilt: - playfram 0x00 - goto WarpGateBuilt - -WarpGateBuilt: - imgol 936 0 0 - goto ScourgeLocal00 - -WarpGateIsWorking: - playfram 0x00 - goto WarpGateIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 947 Psi Disrupter (neutral\PsiDisr.grp) -.headerstart -IsId 407 -Type 20 -Init PsiDisrupterInit -Death PsiDisrupterDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built PsiDisrupterBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking PsiDisrupterBuilt -WorkingToIdle PsiDisrupterBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PsiDisrupterInit: - imgul 948 0 0 # Psi Disrupter Shadow (neutral\tpdShad.grp) -PsiDisrupterBuilt: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto PsiDisrupterBuilt - -PsiDisrupterDeath: - playfram 6 - playsnd 7 - imgol 334 0 0 - wait 3 - lowsprul 274 0 0 - wait 1 - end - - # ----------------------------------------------------------------------------- # - # This header is used by images.dat entries: - # 949 Power Generator (neutral\Generate.grp) - .headerstart - IsId 408 - Type 20 - Init PowerGeneratorInit - Death AtelierDeath - GndAttkInit [NONE] - AirAttkInit [NONE] - Unused1 [NONE] - GndAttkRpt [NONE] - AirAttkRpt [NONE] - CastSpell [NONE] - GndAttkToIdle [NONE] - AirAttkToIdle [NONE] - Unused2 [NONE] - Walking [NONE] - WalkingToIdle [NONE] - SpecialState1 [NONE] - SpecialState2 [NONE] - AlmostBuilt [NONE] - Built PowerGeneratorBuilt - Landing [NONE] - LiftOff [NONE] - IsWorking ScourgeLocal00 - WorkingToIdle ScourgeLocal00 - WarpIn [NONE] - .headerend - # ----------------------------------------------------------------------------- # - - PowerGeneratorInit: - imgul 950 0 0 # Power Generator Shadow (neutral\tgnShad.grp) - PowerGeneratorBuilt: - 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 - goto PowerGeneratorBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 936 Warp Gate Overlay (protoss\XwarpFir.grp) -.headerstart -IsId 409 -Type 24 -Init WarpGateOverlayInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking WarpGateOverlayInit -WorkingToIdle WarpGateOverlayInit -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable Generic_Wait1End -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WarpGateOverlayInit: - 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 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - goto WarpGateOverlayInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 937 Xel'Naga Temple (protoss\XelTempl.grp) -.headerstart -IsId 410 -Type 20 -Init XelNagaTempleInit -Death XelNagaTempleDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt InfestedTerranWalkingToIdle -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking InfestedTerranWalkingToIdle -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -XelNagaTempleInit: - imgul 938 0 0 # Xel'Naga Temple Shadow (protoss\pxtShad.grp) - goto InfestedTerranWalkingToIdle - -XelNagaTempleDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 998 Maelstrom Hit (thingy\MaelHit.grp) -.headerstart -IsId 411 -Type 1 -Init MaelstromHitInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MaelstromHitInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1015 Gorgrokor (cm\zerg\gorgrokor.grp) -.headerstart -IsId 413 -Type 12 -Init GorgrokorInit -Death GorgrokorDeath -GndAttkInit GorgrokorGndAttkInit -AirAttkInit GorgrokorAirAttkInit -Unused1 [NONE] -GndAttkRpt GorgrokorGndAttkInit -AirAttkRpt GorgrokorAirAttkInit -CastSpell [NONE] -GndAttkToIdle GorgrokorWalkingToIdle -AirAttkToIdle GorgrokorWalkingToIdle -Unused2 [NONE] -Walking GorgrokorWalking -WalkingToIdle GorgrokorWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GorgrokorInit: - imgul 1017 0 42 # Gorgrokor Shadow (cm\zerg\gorgrokor.grp) - playfram 0x00 - wait 2 -GorgrokorWalkingToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - goto GorgrokorWalkingToIdle - -GorgrokorDeath: - playsnd 852 # Zerg\Guardian\ZGuDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 963 0 42 # Zerg Building Rubble Small - wait 1 - end - -GorgrokorGndAttkInit: - nobrkcodestart - playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x180 - attackwith 1 - playsndbtwn 3171 3174 # Gorgrokor weaponhit 01, 02, 03, 04 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x180 - wait 1 - nobrkcodeend - gotorepeatattk - goto GorgrokorWalkingToIdle - -GorgrokorAirAttkInit: - nobrkcodestart - playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - attackwith 2 - playfram 0x140 - wait 1 - nobrkcodeend - gotorepeatattk - goto GorgrokorWalkingToIdle - -GorgrokorWalking: - 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 0x00 - wait 1 - goto GorgrokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1003 Iroleth (cm\zerg\iroleth.grp) -.headerstart -IsId 414 -Type 12 -Init IrolethInit -Death IrolethDeath -GndAttkInit IrolethGndAttkInit -AirAttkInit IrolethGndAttkInit -Unused1 [NONE] -GndAttkRpt IrolethGndAttkInit -AirAttkRpt IrolethGndAttkInit -CastSpell [NONE] -GndAttkToIdle IrolethWalkingToIdle -AirAttkToIdle IrolethWalkingToIdle -Unused2 [NONE] -Walking IrolethWalking -WalkingToIdle IrolethWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IrolethInit: - imgul 1016 0 42 # Iroleth Shadow (cm\zerg\Iroleth.grp) - playfram 0x00 - goto IrolethLocal00 - -IrolethLocal00: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x00 - wait 2 - goto IrolethLocal00 - -IrolethDeath: - playsnd 910 # Zerg\Ovileth\ZOvDth00.WAV - imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -IrolethGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart -# playsndbtwn 1934 1936 # Akistrokor weaponfire 01, 02, 03 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto IrolethLocal00 - -IrolethWalking: - 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 0x100 - wait 1 - playfram 0x00 - wait 1 - goto IrolethWalking - -IrolethWalkingToIdle: - playfram 0x00 - wait 1 - goto IrolethLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1001 Quarry (cm\terran\quarry.grp) -.headerstart -IsId 415 -Type 24 -Init QuarryInit -Death VestryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt QuarryAlmostBuilt -Built QuarryBuilt -Landing QuarryLanding -LiftOff ScourgeLocal00 -IsWorking QuarryIsWorking -WorkingToIdle QuarryBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -QuarryInit: - imgul 1014 0 0 # Quarry Shadow (cm\terran\quarry-shad.grp) -QuarryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -QuarryAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -QuarryLanding: - imgol 1784 0 0 # Quarry Connector (cm\terran\quarry-connector.grp) - goto ScourgeLocal00 - -QuarryIsWorking: - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 0x00 - wait 1 - goto QuarryIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1020 Gorgrokor Birth (zerg\cocoon.grp) -.headerstart -IsId 417 -Type 13 -Init GorgrokorBirthInit -Death ZergCocoonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GorgrokorBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -GorgrokorBirthInit: - imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) - goto ZergCocoonWalking - -GorgrokorBirthSpecialState1: - wait 1 - nobrkcodestart - playfram 15 - wait 2 - playfram 49 - wait 2 - playfram 50 - wait 2 - playfram 51 - wait 2 - playfram 52 - wait 2 - playfram 53 - wait 2 - playfram 54 - wait 2 - playfram 55 - wait 2 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1021 Aurora (cm\protoss\aurora.grp) -.headerstart -IsId 418 -Type 21 -Init AuroraInit -Death AuroraDeath -GndAttkInit AuroraGndAttkInit -AirAttkInit AuroraGndAttkInit -Unused1 [NONE] -GndAttkRpt AuroraGndAttkInit -AirAttkRpt AuroraGndAttkInit -CastSpell [NONE] -GndAttkToIdle AuroraGndAttkToIdle -AirAttkToIdle AuroraGndAttkToIdle -Unused2 [NONE] -Walking AuroraWalking -WalkingToIdle AuroraWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AuroraInit: - imgul 1022 0 42 # Aurora Shadow (cm\protoss\aurora.grp) -AuroraGndAttkToIdle: - playfram 0x00 - goto AuroraWalkingToIdle - -AuroraWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto AuroraWalkingToIdle - -AuroraDeath: - playsnd 533 # Protoss\Aurora\PScDth00.WAV - imgol 1164 0 0 # Beta Protoss Explosion (small) (thingy\pexplode.grp) - wait 3 - lowsprul 847 0 42 # Protoss Unit Rubble Small - wait 1 - end - -AuroraGndAttkInit: - playfram 0x20 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - gotorepeatattk - goto ScourgeLocal00 - -AuroraWalking: - playfram 0x00 - setvertpos 0 - imgol 1199 0 0 # Aurora Engines (cm\protoss\aurora-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1023 Panoptus (protoss\panoptus.grp) -.headerstart -IsId 419 -Type 21 -Init PanoptusInit -Death PanoptusDeath -GndAttkInit PanoptusGndAttkInit -AirAttkInit PanoptusGndAttkInit -Unused1 [NONE] -GndAttkRpt PanoptusGndAttkInit -AirAttkRpt PanoptusGndAttkInit -CastSpell [NONE] -GndAttkToIdle PanoptusGndAttkToIdle -AirAttkToIdle PanoptusGndAttkToIdle -Unused2 [NONE] -Walking PanoptusWalking -WalkingToIdle PanoptusWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -PanoptusInit: - imgul 1024 0 42 # Panoptus Shadow (cm\protoss\panoptus.grp) -PanoptusGndAttkToIdle: - playfram 0x00 - goto PanoptusWalkingToIdle - -PanoptusWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto PanoptusWalkingToIdle - -PanoptusDeath: - playsnd 533 # Protoss\Panoptus\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -PanoptusGndAttkInit: - playfram 0x20 - playsndbtwn 2020 2023 # Panoptus weaponfire 01, 02, 03, 04 - attack - wait 2 - playfram 0x00 - gotorepeatattk - ignorerest - goto ScourgeLocal00 - -PanoptusWalking: - playfram 0x00 - setvertpos 0 - imgol 142 0 0 # Panoptus Engines (thingy\pscGlow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1025 Centaur (terran\centaur.grp) -.headerstart -IsId 420 -Type 12 -Init CentaurInit -Death CentaurDeath -GndAttkInit CentaurGndAttkInit -AirAttkInit CentaurGndAttkInit -Unused1 CentaurUnused1 -GndAttkRpt CentaurGndAttkInit -AirAttkRpt CentaurGndAttkInit -CastSpell [NONE] -GndAttkToIdle CentaurGndAttkToIdle -AirAttkToIdle CentaurGndAttkToIdle -Unused2 CentaurUnused2 -Walking CentaurWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CentaurInit: - imgul 1026 0 42 # Centaur Shadow (cm\terran\centaur.grp) -CentaurGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -CentaurDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 7 - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 332 5 5 # Explosion2 (Small) (thingy\tBangS.grp) - wait 2 - imgol 332 11 5 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 2 - imgol 334 -5 -11 - wait 2 - imgol 332 -5 -5 # Explosion2 (Small) (thingy\tBangS.grp) - wait 5 - lowsprul 273 0 42 # Terran Building Rubble Small - wait 1 - end - -CentaurUnused1: - wait 1 - nobrkcodestart - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 1443 0 0 - wait 7 - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 334 5 5 - wait 7 - playsndbtwn 2024 2026 # Centaur death 01, 02, 03 - imgol 334 -5 -5 - wait 12 - nobrkcodeend - goto ScourgeLocal00 - -CentaurGndAttkInit: - wait 1 - playsndbtwn 2780 2782 # Centaur weapon 1 fire 01, 02, 03 - imgol 1034 0 0 # Centaur attack overlay (cm\terran\centaur-attack.grp) - attack - wait 1 - gotorepeatattk - goto ScourgeLocal00 - -CentaurWalking: - setvertpos 0 - imgol 1029 0 0 # Centaur Engine (cm\terran\centaur-engine.grp) - imgol 1148 0 0 # Centaur Engine 2 (cm\terran\centaur-engine2.grp) - goto ScourgeLocal00 - -CentaurUnused2: - wait 1 - nobrkcodestart - playsndbtwn 1204 1207 # - fireweapon 24 - wait 4 - fireweapon 24 - wait 4 - fireweapon 24 - wait 4 - fireweapon 24 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1027 Cuirass (cm\terran\cuirass.grp) -.headerstart -IsId 421 -Type 12 -Init CuirassInit -Death CuirassDeath -GndAttkInit CuirassGndAttkInit -AirAttkInit CuirassGndAttkInit -Unused1 CuirassUnused1 -GndAttkRpt CuirassGndAttkInit -AirAttkRpt CuirassGndAttkInit -CastSpell [NONE] -GndAttkToIdle CuirassGndAttkToIdle -AirAttkToIdle CuirassGndAttkToIdle -Unused2 [NONE] -Walking CuirassWalking -WalkingToIdle CuirassGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CuirassInit: - imgul 1028 0 0 # Cuirass Shadow (cm\terran\cuirass-shad.grp) - playfram 0x00 - goto CuirassGndAttkToIdle - -CuirassGndAttkToIdle: - playfram 0x22 - goto ScourgeLocal00 - -CuirassDeath: - playsndbtwn 1247 1248 # Southpaw death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 0 # Terran Unit Rubble Medium - wait 1 - end - -CuirassUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1699 - sprol 742 0 0 - wait 10 - setfldirect 10 - tmprmgraphicend - nobrkcodeend - goto CuirassGndAttkToIdle - -CuirassGndAttkInit: - playfram 0x22 - wait 1 - playfram 0x99 - playsndbtwn 2775 2776 # Cuirass weapon fire 01, 02 - attackwith 1 - wait 1 - playfram 0x22 - gotorepeatattk - goto CuirassGndAttkToIdle - -CuirassWalking: - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - goto CuirassWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1030 Centaur Missile (cm\terran\centaur-missile.grp) -.headerstart -IsId 422 -Type 2 -Init CentaurMissileInit -Death CentaurMissileDeath -GndAttkInit CentaurMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CentaurMissileInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -CentaurMissileGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto CentaurMissileGndAttkInit - -CentaurMissileDeath: - playsnd 9 # Misc\ExploSm.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# Parasite Overlay (cm\effect\parasite-overlay.grp) -.headerstart -IsId 423 -Type 1 -Init ParasiteOverlayInit -Death ParasiteOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -ParasiteOverlayInit: - playsnd 114 # Misc\ZPwrDown.wav - 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 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - 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 - playsnd 3239 # Rilirokor\ZBrPss02.wav - wait 1 - end - -ParasiteOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1006 Madrigal Imperioso Mode (cm\terran\madrigal.grp) -.headerstart -IsId 424 -Type 12 -Init MadrigalImperiosoBaseInit -Death MadrigalImperiosoBaseDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 MadrigalImperiosoBaseUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking MadrigalImperiosoBaseWalking -WalkingToIdle MadrigalImperiosoBaseWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalImperiosoBaseInit: - imgul 1033 0 7 # Madrigal Shadow (cm\terran\madrigal.grp) -MadrigalImperiosoBaseWalkingToIdle: - setvertpos 0 - playfram 0x00 - goto ScourgeLocal00 - -MadrigalImperiosoBaseDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 1497 0 0 # Madrigal Death - wait 3 - lowsprul 971 0 0 # Madrigal Furia Remains - wait 1 - end - -MadrigalImperiosoBaseUnused1: - wait 1 - nobrkcodestart - playsnd 1699 - sprol 744 0 0 # Large Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto MadrigalImperiosoBaseWalkingToIdle - -MadrigalImperiosoBaseWalking: - setvertpos 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1742 Madrigal (Imperioso) Turret (cm\terran\madrigal-turret.grp) -.headerstart -IsId 747 -Type 13 -Init MadrigalImperiosoTurretInit -Death Generic_Wait1End -GndAttkInit MadrigalImperiosoTurretGndAttkInit -AirAttkInit MadrigalImperiosoTurretGndAttkInit -Unused1 [NONE] -GndAttkRpt MadrigalImperiosoTurretGndAttkInit -AirAttkRpt MadrigalImperiosoTurretGndAttkInit -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalImperiosoTurretInit: - playfram 0x20 - goto ScourgeLocal00 - -MadrigalImperiosoTurretGndAttkInit: - wait 1 - nobrkcodestart - wait 2 - playfram 0x00 - wait 1 - playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 - attack - playfram 0x20 - wait 1 - playfram 0x00 - wait 2 - playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 - attack - playfram 0x20 - wait 1 - playfram 0x00 - wait 2 - playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 - attack - playfram 0x20 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1743 Madrigal (Furia) Base (cm\terran\madrigal-base.grp) -.headerstart -IsId 748 -Type 14 -Init MadrigalFuriaBaseInit -Death MadrigalImperiosoBaseDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 MadrigalFuriaBaseUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 MadrigalFuriaBaseSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalFuriaBaseInit: - imgul 1033 0 2 # Madrigal Shadow (cm\terran\madrigal.grp) - wait 1 - setflspeed 0 - playfram 0x00 - wait 1 - playsnd 2196 # Madrigal switch 01 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 14 - sigorder 1 - goto ScourgeLocal00 - -MadrigalFuriaBaseUnused1: - wait 1 - nobrkcodestart - playsnd 1699 # Phalanx revive 01 - sprol 744 0 0 # Medium orange explosion reversed - playfram 5 - wait 12 - nobrkcodeend - goto ScourgeLocal00 - -MadrigalFuriaBaseSpecialState2: - wait 14 - playfram 0x40 - wait 2 - playfram 0x20 - wait 2 - playfram 0x00 - wait 2 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1744 Madrigal (Furia) Turret (cm\terran\madrigal-turret.grp) -.headerstart -IsId 749 -Type 14 -Init MadrigalFuriaTurretInit -Death Generic_Wait1End -GndAttkInit MadrigalFuriaTurretGndAttkInit -AirAttkInit MadrigalFuriaTurretGndAttkInit -Unused1 [NONE] -GndAttkRpt MadrigalFuriaTurretGndAttkInit -AirAttkRpt MadrigalFuriaTurretGndAttkInit -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle ScourgeLocal00 -SpecialState1 ScourgeLocal00 -SpecialState2 MadrigalFuriaTurretSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalFuriaTurretInit: - playfram 0x20 - wait 1 - nobrkcodestart - wait 10 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0xC0 - wait 1 - playfram 0xE0 - nobrkcodeend - goto ScourgeLocal00 - -MadrigalFuriaTurretGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x100 - attackwith 1 - playfram 0xE0 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -MadrigalFuriaTurretSpecialState2: - wait 1 - playsnd 2197 # Madrigal switch 02 - playfram 0xC0 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1006 Paladin (cm\terran\paladin.grp) -.headerstart -IsId 425 -Type 12 -Init PaladinInit -Death PaladinDeath -GndAttkInit PaladinGndAttkInit -AirAttkInit PaladinGndAttkInit -Unused1 PaladinUnused1 -GndAttkRpt PaladinGndAttkInit -AirAttkRpt PaladinGndAttkInit -CastSpell [NONE] -GndAttkToIdle PaladinGndAttkToIdle -AirAttkToIdle PaladinGndAttkToIdle -Unused2 [NONE] -Walking PaladinWalking -WalkingToIdle PaladinWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PaladinInit: - imgul 1013 0 0 # Paladin shadow (cm\terran\paladin-shad.grp) -PaladinWalkingToIdle: - playfram 0x00 - goto PaladinLocal00 - -PaladinLocal00: - wait 62 - randcondjmp 25 PaladinLocal01 - goto PaladinLocal00 - -PaladinLocal01: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - randcondjmp 43 PaladinLocal01 - goto PaladinLocal00 - -PaladinDeath: - playsnd 2820 # Goliath death 01 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small - wait 1 - end - -PaladinUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 744 0 0 # Large Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto PaladinWalkingToIdle - -PaladinGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playsnd 2821 # Paladin charge 01 - goto PaladinGndAttkRpt -PaladinGndAttkRpt: - wait 10 - playsndbtwn 1144 1147 # Paladin weaponfire 01, 02, 03, 04 - attack - wait 3 - attack - wait 3 - playsndbtwn 1144 1147 # Paladin weaponfire - attack - wait 3 - attack - wait 3 - playsndbtwn 1144 1147 # Paladin weaponfire - attack - wait 3 - attack - wait 3 - playsndbtwn 1144 1147 # Paladin weaponfire - attack - wait 3 - attack - wait 3 - playsndbtwn 1144 1147 # Paladin weaponfire - attack - wait 3 - attack - wait 3 - nobrkcodeend - gotorepeatattk - ignorerest -PaladinGndAttkToIdle: - wait 1 - goto PaladinWalkingToIdle - -PaladinWalking: - move 3 - wait 1 - playfram 0xbb - move 3 - wait 1 - playfram 0xcc - move 3 - wait 1 - playfram 0xdd - move 3 - wait 1 - playfram 0xee - move 3 - wait 1 - playfram 0xff - move 3 - wait 1 - playfram 0x110 - move 3 - wait 1 - playfram 0x121 - move 4 - wait 1 - playfram 0x132 - move 3 - wait 1 - playfram 0x143 - move 3 - wait 1 - playfram 0x154 - move 3 - wait 1 - playfram 0x165 - move 3 - wait 1 - playfram 0x176 - move 3 - wait 1 - playfram 0x187 - move 3 - wait 1 - playfram 0x198 - move 3 - wait 1 - playfram 0x1A9 - move 3 - wait 1 - playfram 0x1BA - move 3 - wait 1 - playfram 0x1CB - move 3 - wait 1 - playfram 0x1DC - move 3 - wait 1 - playfram 0x1ED - move 3 - wait 1 - playfram 0x1FE - move 3 - wait 1 - playfram 0x20F - move 3 - wait 1 - playfram 0x220 - move 3 - wait 1 - playfram 0x231 - move 3 - wait 1 - playfram 0x242 - move 3 - wait 1 - playfram 0x33 - move 3 - wait 1 - playfram 0x44 - move 3 - wait 1 - playfram 0x55 - move 3 - wait 1 - playfram 0x66 - move 3 - wait 1 - playfram 0x77 - move 3 - wait 1 - playfram 0x88 - move 3 - wait 1 - playfram 0x99 - move 3 - wait 1 - playfram 0xaa - goto PaladinWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1001 Scrapyard (cm\terran\scrapyard.grp) -.headerstart -IsId 427 -Type 24 -Init ScrapyardInit -Death ScrapyardDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ScrapyardAlmostBuilt -Built ScrapyardBuilt -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking ScrapyardIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScrapyardDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ScrapyardInit: - imgul 1037 0 0 # Scrapyard Shadow (cm\terran\scrapyard-shad.grp) -ScrapyardBuilt: - imgul 294 0 0 # Palladium Connector - playfram 0x00 - goto ScourgeLocal00 - -ScrapyardAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -ScrapyardDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) - wait 1 - end - -ScrapyardIsWorking: - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 0x00 - waitrand 2 5 - goto ScrapyardIsWorking - -ScrapyardDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1040 Liivral Pond (cm\zerg\liivralpond.grp) -.headerstart -IsId 430 -Type 20 -Init LiivralPondInit -Death LiivralPondDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt LiivralPondAlmostBuilt -Built LiivralPondBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking LiivralPondIsWorking -WorkingToIdle LiivralPondWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LiivralPondInit: - playfram 0x00 - imgul 1042 0 0 # Vorval Pond Shadow (cm\zerg\liivralpond-shad.grp) - goto LiivralPondWorkingToIdle - -LiivralPondWorkingToIdle: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - goto LiivralPondWorkingToIdle - -LiivralPondDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -LiivralPondAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto LiivralPondBuilt - -LiivralPondBuilt: - playfram 0x00 - wait 2 - goto LiivralPondWorkingToIdle - -LiivralPondIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - waitrand 1 2 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - waitrand 1 3 - goto LiivralPondIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1041 Othstol Oviform (cm\zerg\othstoloviform.grp) -.headerstart -IsId 431 -Type 20 -Init OthstolOviformInit -Death OthstolOviformDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt OthstolOviformAlmostBuilt -Built OthstolOviformBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking OthstolOviformIsWorking -WorkingToIdle OthstolOviformWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OthstolOviformInit: - imgul 1043 0 0 # Othstol Oviform Shadow (cm\zerg\othstoloviform-shad.grp) - playfram 0x00 - goto OthstolOviformWorkingToIdle - -OthstolOviformWorkingToIdle: - 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 - goto OthstolOviformWorkingToIdle - -OthstolOviformDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -OthstolOviformAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -OthstolOviformBuilt: - playfram 0x00 - wait 2 - goto OthstolOviformWorkingToIdle - -OthstolOviformIsWorking: - playfram 0x00 - wait 1 - playfram 1 - waitrand 1 2 - playfram 2 - wait 1 - playfram 3 - waitrand 1 2 - playfram 4 - wait 1 - playfram 5 - waitrand 1 2 - playfram 6 - wait 1 - playfram 7 - waitrand 1 2 - playfram 8 - wait 1 - playfram 9 - waitrand 1 2 - playfram 10 - wait 1 - goto OthstolOviformIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1048 Othstoleth (cm\zerg\othstoleth.grp) -.headerstart -IsId 434 -Type 12 -Init OthstolethInit -Death OthstolethDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking OthstolethWalking -WalkingToIdle OthstolethWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OthstolethInit: - imgul 1049 0 42 # Othstoleth Shadow (cm\zerg\othstoleth.grp) - playfram 0x00 - goto OthstolethLocal00 - -OthstolethLocal00: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0x00 - wait 2 - goto OthstolethLocal00 - -OthstolethDeath: - playsnd 910 # Zerg\ovileth\ZOvDth00.WAV - imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) - wait 1 - lowsprul 186 0 42 # Zerg Building Rubble Small - wait 1 - end - -OthstolethWalking: - 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 0x00 - wait 1 - goto OthstolethWalking - -OthstolethWalkingToIdle: - playfram 0x00 - wait 2 - goto OthstolethLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1050 Ancestral Archives (cm\protoss\ancestral-archives.grp) -.headerstart -IsId 435 -Type 27 -Init AncestralArchivesInit -Death AncestralArchivesDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built AncestralArchivesBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking AncestralArchivesIsWorking -WorkingToIdle AncestralArchivesLocal00 -WarpIn AncestralArchivesWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable AncestralArchivesDisabled -Burrow [NONE] -UnBurrow [NONE] -Enable AncestralArchivesLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -AncestralArchivesInit: - imgul 1051 0 0 # Ancestral Archives Shadow (cm\protoss\ancestral-archives-shadow.grp) -AncestralArchivesLocal00: - playfram 0x00 - goto ScourgeLocal00 - -AncestralArchivesDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -AncestralArchivesBuilt: - playfram 0x00 - goto ScourgeLocal00 - -AncestralArchivesWarpIn: - imgol 1052 0 0 # Ancestral Archives Warp Flash (cm\protoss\ancestral-archives.grp) - goto ScourgeLocal00 - -AncestralArchivesIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0 - goto AncestralArchivesIsWorking - -AncestralArchivesDisabled: - playfram 3 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1053 Irol Iris (cm\zerg\iroliris.grp) -.headerstart -IsId 436 -Type 20 -Init IrolIrisInit -Death IrolIrisDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt IrolIrisAlmostBuilt -Built IrolIrisBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking IrolIrisIsWorking -WorkingToIdle IrolIrisWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IrolIrisInit: - imgul 1054 0 0 # Irol Iris Shadow (cm\zerg\iroliris-shad.grp) - playfram 0x00 - goto IrolIrisWorkingToIdle - -IrolIrisWorkingToIdle: - 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 - goto IrolIrisWorkingToIdle - -IrolIrisDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -IrolIrisAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -IrolIrisBuilt: - playfram 0x00 - wait 2 - goto IrolIrisWorkingToIdle - -IrolIrisIsWorking: - playfram 0x00 - wait 1 - playfram 1 - waitrand 1 2 - playfram 2 - wait 1 - playfram 3 - waitrand 1 2 - playfram 4 - wait 1 - playfram 5 - waitrand 1 2 - playfram 6 - wait 1 - playfram 7 - waitrand 1 2 - playfram 8 - wait 1 - playfram 9 - waitrand 1 2 - playfram 10 - wait 1 - goto IrolIrisIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1056 Treasury (cm\terran\treasury.grp) -.headerstart -IsId 438 -Type 20 -Init TreasuryInit -Death TreasuryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TreasuryAlmostBuilt -Built TreasuryBuilt -Landing TreasuryLanding -LiftOff TreasuryLiftoff -IsWorking [NONE] -WorkingToIdle TreasuryBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TreasuryInit: - playfram 0x00 - imgul 1057 0 0 # Treasury Shadow (cm\terran\treasury-shad.grp) - goto ScourgeLocal00 - -TreasuryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -TreasuryAlmostBuilt: - playfram 20 - goto ScourgeLocal00 - -TreasuryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -TreasuryLanding: - nobrkcodestart - wait 25 - playsnd 472 # Misc\Land.WAV - playfram 0x00 -# playfram 4 - wait 4 -# playfram 2 - wait 4 -# playfram 3 - wait 4 -# playfram 5 - wait 4 -# playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -TreasuryLiftoff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV -# playfram 5 - wait 4 -# playfram 3 - wait 4 -# playfram 2 - wait 4 -# playfram 4 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1060 Khaydarin Charge Overlay (cm\effect\treasury-overlay.grp) -.headerstart -IsId 440 -Type 1 -Init KhaydarinChargeInit -Death KhaydarinChargeDeath -.headerend -# ----------------------------------------------------------------------------- # - -KhaydarinChargeInit: - playfram 0x00 - wait 2 -KhaydarinChargeLocal00: - playfram 1 - 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 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 1 -KhaydarinChargeDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1009 Rotary (cm\terran\rotary.grp) -.headerstart -IsId 441 -Type 24 -Init RotaryInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt RotaryAlmostBuilt -Built RotaryBuilt -Landing RotaryLanding -LiftOff ScourgeLocal00 -IsWorking RotaryIsWorking -WorkingToIdle RotaryBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable RotaryDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -RotaryInit: - imgul 1070 0 0 # Rotary Shadow (cm\terran\rotary-shad.grp) -RotaryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -RotaryAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -RotaryLanding: - imgol 1788 0 0 # Rotary Connector (cm\terran\rotary-connector.grp) - goto ScourgeLocal00 - -RotaryIsWorking: - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 0x00 - waitrand 2 5 - goto RotaryIsWorking - -RotaryDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1007 Savant Power Siphon (cm\terran\savant-power-siphon.grp) -.headerstart -IsId 815 -Type 14 -Init SavantPowerSiphonInit -Death MadcapDeath -GndAttkInit MadcapGndAttkInit -AirAttkInit MadcapGndAttkInit -Unused1 [NONE] -GndAttkRpt MadcapGndAttkRpt -AirAttkRpt MadcapGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MadcapGndAttkToIdle -AirAttkToIdle MadcapGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 SavantSpecialState1 -SpecialState2 SavantEntropyGauntletsTransform -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SavantPowerSiphonInit: - imgul 1074 0 0 # Savant Power Siphon Shadow (cm\terran\savant-siphon-shadow.grp) - imgol 1110 0 0 # Savant Power Siphon transform - playsnd 3078 # Savant Entropy Gauntlets transform 01 - wait 12 - sigorder 1 - goto MadcapWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1007 Savant (cm\terran\savant-entropy-gauntlets.grp) -.headerstart -IsId 442 -Type 14 -Init SavantInit -Death MadcapDeath -GndAttkInit MadcapGndAttkInit -AirAttkInit MadcapGndAttkInit -Unused1 [NONE] -GndAttkRpt MadcapGndAttkRpt -AirAttkRpt MadcapGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MadcapGndAttkToIdle -AirAttkToIdle MadcapGndAttkToIdle -Unused2 [NONE] -Walking MadcapWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 SavantEntropyGauntletsTransform -SpecialState2 SavantEntropyGauntletsTransform -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SavantInit: - imgul 2004 0 0 # Savant Shadow (cm\terran\savant-shadow.grp) - goto MadcapWalkingToIdle - -SavantSpecialState1: - playfram 0x00 - goto ScourgeLocal00 - -SavantEntropyGauntletsTransform: - imgol 1846 0 0 # Savant Entropy Gauntlets transform - playsnd 3077 # Savant Entropy Gauntlets transform 01 - wait 12 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1071 Simulacrum (protoss\simulacrum.grp) -.headerstart -IsId 443 -Type 21 -Init SimulacrumInit -Death SimulacrumDeath -GndAttkInit SimulacrumGndAttkInit -AirAttkInit SimulacrumGndAttkInit -Unused1 [NONE] -GndAttkRpt SimulacrumGndAttkInit -AirAttkRpt SimulacrumGndAttkInit -CastSpell [NONE] -GndAttkToIdle SimulacrumWalkingToIdle -AirAttkToIdle SimulacrumWalkingToIdle -Unused2 [NONE] -Walking SimulacrumWalking -WalkingToIdle SimulacrumWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn SimulacrumWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -SimulacrumInit: - imgul 1072 0 0 # Simulacrum Shadow (protoss\pdrShad.grp) -SimulacrumWalkingToIdle: - playfram 0x33 - goto ScourgeLocal00 - -SimulacrumDeath: - playsndbtwn 1256 1258 # Simulacrum death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -SimulacrumGndAttkInit: - playfram 0x33 - wait 1 - nobrkcodestart - playsndbtwn 1427 1434 # Simulacrum weapon fire 01, 02, 03, 04, 05, 06, 07, 08 - attackwith 1 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SimulacrumWalkingToIdle - -SimulacrumWalking: - move 4 - wait 1 - playfram 0x44 - move 5 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 5 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - goto SimulacrumWalking - -SimulacrumWarpIn: - imgol 125 0 0 # Simulacrum Warp Flash (protoss\simulacrum.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1632 Pythean (cm\terran\pythean.grp) -.headerstart -IsId 446 -Type 12 -Init PytheanInit -Death PytheanDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking PytheanWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PytheanInit: - imgul 1633 0 42 # Trojan Shadow (cm\terran\pythean.grp) - playfram 0x00 - goto ScourgeLocal00 - -PytheanDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 42 # Terran Building Rubble Small - wait 1 - end - -PytheanWalking: - setvertpos 0 - imgol 1734 0 0 # Pythean Engines (cm\terran\pythean-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1095 Nathrokor (cm\zerg\nathrokor.grp) -.headerstart -IsId 451 -Type 12 -Init NathrokorInit -Death NathrokorDeath -GndAttkInit NathrokorGndAttkInit -AirAttkInit NathrokorAirAttkInit -Unused1 [NONE] -GndAttkRpt NathrokorGndAttkInit -AirAttkRpt NathrokorAirAttkInit -CastSpell [NONE] -GndAttkToIdle NathrokorGndAttkToIdle -AirAttkToIdle NathrokorGndAttkToIdle -Unused2 [NONE] -Walking NathrokorWalking -WalkingToIdle NathrokorGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NathrokorInit: - imgul 1096 0 42 # Nathrokor Shadow (cm\zerg\nathrokor.grp) - playfram 0x00 - wait 2 -NathrokorGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0x00 - wait 2 - goto NathrokorGndAttkToIdle - -NathrokorDeath: - playsnd 1203 # Nathrokor death 01 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 1 - lowsprul 850 0 42 # Zerg Unit Rubble Tiny - wait 1 - end - -NathrokorGndAttkInit: - playfram 0x100 - wait 1 - nobrkcodestart - playfram 0x120 - playsnd 1326 # Nathrokor weaponfire 01 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 2 - playfram 0x140 - wait 2 - playfram 0x120 - wait 2 - playfram 0x100 - wait 1 - nobrkcodeend - gotorepeatattk - goto NathrokorGndAttkToIdle - -NathrokorAirAttkInit: - playfram 0x180 - wait 1 - nobrkcodestart - playfram 0x1A0 - playsnd 1326 # Nathrokor weaponfire 01 - wait 1 - playfram 0x1C0 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x1E0 - wait 1 - playfram 0x200 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - nobrkcodeend - gotorepeatattk - goto NathrokorGndAttkToIdle - -NathrokorWalking: - 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 0x00 - wait 1 - goto NathrokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1097 Nathrokor Attack Overlay (cm\effect\nathrokor-breath.grp) -.headerstart -IsId 452 -Type 1 -Init NathrokorAttackOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -NathrokorAttackOverlayInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1098 Empyrean (cm\protoss\empyrean.grp) -.headerstart -IsId 453 -Type 21 -Init EmpyreanInit -Death EmpyreanDeath -GndAttkInit EmpyreanGndAttkInit -AirAttkInit EmpyreanGndAttkInit -Unused1 [NONE] -GndAttkRpt EmpyreanGndAttkInit -AirAttkRpt EmpyreanGndAttkInit -CastSpell [NONE] -GndAttkToIdle EmpyreanGndAttkToIdle -AirAttkToIdle EmpyreanGndAttkToIdle -Unused2 [NONE] -Walking EmpyreanWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn EmpyreanWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EmpyreanInit: - imgul 1099 0 42 # Empyrean Shadow (protoss\empyrean.grp) -EmpyreanGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -EmpyreanDeath: - playsndbtwn 3050 3052 # Empyrean death 01, 02, 03 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 223 0 42 # Protoss Building Rubble Small - wait 1 - end - -EmpyreanGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1323 1325 # Empyrean attack 01, 02, 03 - attackwith 1 - wait 4 - attackwith 1 - wait 4 - attackwith 1 - wait 4 - attackwith 1 - nobrkcodeend - gotorepeatattk - goto EmpyreanGndAttkToIdle - -EmpyreanWalking: - setvertpos 0 - imgol 1203 0 0 # Empyrean Engines (cm\protoss\empyrean-engine.grp) - goto ScourgeLocal00 - -EmpyreanWarpIn: - imgol 143 0 0 # Empyrean Warp Flash (protoss\empyrean.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1102 Phase Link (cm\effect\phaselink-small.grp) -# 1103 Phase Link (cm\effect\phaselink-medium.grp) -# 1104 Phase Link (cm\effect\phaselink-large.grp) -.headerstart -IsId 455 -Type 1 -Init PhaseLinkInit -Death PhaseLinkDeath -.headerend -# ----------------------------------------------------------------------------- # - -PhaseLinkInit: - playfram 0x00 - wait 2 -PhaseLinkLocal00: - playfram 1 - 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 1 -PhaseLinkDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1105 Exemplar Laser Impact (cm\protoss\exemplar-impact.grp) -.headerstart -IsId 456 -Type 1 -Init ExemplarLaserImpactInit -Death ExemplarLaserImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -ExemplarLaserImpactInit: - playfram 0x00 - wait 1 -ExemplarLaserImpactLocal00: - playfram 1 - 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 -ExemplarLaserImpactDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1106 Augur Death (cm\protoss\augur-death.grp) -.headerstart -IsId 457 -Type 1 -Init AugurDeathInit -Death AugurDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -AugurDeathInit: - playfram 0x00 # Frame set 0 - wait 1 -AugurDeathLocal00: - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - goto AugurDeathDeath - -AugurDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1107 Energy Decay (small) (cm\effect\energydecay.grp) -# 1108 Energy Decay (medium) (cm\effect\energydecay.grp) -# 1109 Energy Decay (large) (cm\effect\energydecay.grp) -.headerstart -IsId 458 -Type 1 -Init EnergyDecayInit -Death EnergyDecayDeath -.headerend -# ----------------------------------------------------------------------------- # - -EnergyDecayInit: - playfram 0x00 # Frame set 0 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 -EnergyDecayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1110 Savant Form Switch - Power (cm\terran\savant-form-switch.grp) -# 1846 Savant Form Switch - Entropy (cm\terran\savant-form-switch.grp) -.headerstart -IsId 459 -Type 1 -Init SavantFormSwitchInit -Death SavantFormSwitchDeath -.headerend -# ----------------------------------------------------------------------------- # - -SavantFormSwitchInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 -SavantFormSwitchDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1095 Alkajelisk (cm\zerg\alkajelisk.grp) -.headerstart -IsId 460 -Type 12 -Init AlkajeliskInit -Death AlkajeliskDeath -GndAttkInit AlkajeliskGndAttkInit -AirAttkInit AlkajeliskGndAttkInit -Unused1 [NONE] -GndAttkRpt AlkajeliskGndAttkInit -AirAttkRpt AlkajeliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle AlkajeliskGndAttkToIdle -AirAttkToIdle AlkajeliskGndAttkToIdle -Unused2 [NONE] -Walking AlkajeliskWalking -WalkingToIdle AlkajeliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AlkajeliskInit: - imgul 1112 0 42 # Alkajelisk Shadow (cm\zerg\alkajelisk.grp) - playfram 0x00 - wait 2 -AlkajeliskGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0x00 - wait 2 - goto AlkajeliskGndAttkToIdle - -AlkajeliskDeath: - playsnd 878 # Zerg\Ultra\ZUlDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 186 0 42 # Zerg Building Rubble Small - wait 1 - end - -AlkajeliskGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1784 1787 # Alkajelisk weapon fire 01, 02, 03, 04 - attackwith 1 - wait 2 - attackwith 1 - wait 2 - attackwith 1 - wait 3 - attackwith 1 - wait 2 - attackwith 1 - wait 2 - attackwith 1 - nobrkcodeend - gotorepeatattk - goto AlkajeliskGndAttkToIdle - -AlkajeliskWalking: - 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 0x00 - wait 1 - goto AlkajeliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1113 Keskathalor (zerg\keskathalor.grp) -.headerstart -IsId 461 -Type 26 -Init KeskathalorInit -Death KeskathalorDeath -GndAttkInit KeskathalorGndAttkInit -AirAttkInit KeskathalorGndAttkInit -Unused1 [NONE] -GndAttkRpt KeskathalorGndAttkRpt -AirAttkRpt KeskathalorGndAttkRpt -CastSpell [NONE] -GndAttkToIdle KeskathalorGndAttkToIdle -AirAttkToIdle KeskathalorGndAttkToIdle -Unused2 [NONE] -Walking KeskathalorWalking -WalkingToIdle KeskathalorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 KeskathalorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow KeskathalorBurrow -UnBurrow KeskathalorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KeskathalorInit: - imgul 1114 0 0 # Keskathalor Shadow (cm\zerg\keskathalor-shad.grp) -KeskathalorGndAttkToIdle: - playfram 0x88 - goto KeskathalorLocal00 - -KeskathalorLocal00: - wait 62 - randcondjmp 25 KeskathalorLocal02 - randcondjmp 85 KeskathalorLocal01 - goto KeskathalorLocal00 - -KeskathalorLocal01: - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 25 - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - randcondjmp 25 KeskathalorLocal03 - goto KeskathalorGndAttkToIdle - -KeskathalorLocal02: - playfram 0x00 - wait 1 - turnccwise 1 - playfram 0x11 - wait 1 - turnccwise 1 - playfram 0x22 - wait 1 - turnccwise 1 - playfram 0x11 - wait 1 - turnccwise 1 - playfram 0x00 - wait 1 - turnccwise 1 - playfram 0x88 - wait 1 - turnccwise 1 - goto KeskathalorGndAttkToIdle - -KeskathalorLocal03: - playfram 0x88 - wait 1 - turncwise 1 - playfram 0x00 - wait 1 - turncwise 1 - playfram 0x11 - wait 1 - turncwise 1 - playfram 0x22 - wait 1 - turncwise 1 - playfram 0x11 - wait 1 - turncwise 1 - playfram 0x00 - wait 1 - turncwise 1 - goto KeskathalorGndAttkToIdle - -KeskathalorDeath: - playsnd 878 # Zerg\Ultra\ZUlDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 2 - lowsprul 186 0 0 # Zerg Building Rubble Small - wait 1 - end - -KeskathalorGndAttkInit: - playfram 0x88 -KeskathalorGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x99 - attackwith 1 - fireweapon 58 - playsndbtwn 1399 1400 # Keskathalor weapon fire 01, 02 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - nobrkcodeend - gotorepeatattk - ignorerest - goto KeskathalorGndAttkToIdle - -KeskathalorWalking: - move 3 - wait 1 - move 3 - wait 1 - playfram 0x11 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x22 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x33 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x44 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x55 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x66 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x77 - goto KeskathalorWalking - -KeskathalorSpecialState2: - playfram 0x165 - goto ScourgeLocal00 - -KeskathalorBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x165 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -KeskathalorUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - sigorder 4 - goto KeskathalorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1115 Star Sovereign (cm\protoss\starsovereign.grp) -.headerstart -IsId 462 -Type 21 -Init StarSovereignInit -Death StarSovereignDeath -GndAttkInit StarSovereignGndAttkInit -AirAttkInit StarSovereignGndAttkInit -Unused1 StarSovereignUnused1 -GndAttkRpt StarSovereignGndAttkInit -AirAttkRpt StarSovereignGndAttkInit -CastSpell StarSovereignCastSpell -GndAttkToIdle StarSovereignGndAttkToIdle -AirAttkToIdle StarSovereignGndAttkToIdle -Unused2 [NONE] -Walking StarSovereignWalking -WalkingToIdle StarSovereignWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn StarSovereignWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -StarSovereignInit: - imgul 1116 0 42 # Star Sovereign Shadow (cm\protoss\starsovereign.grp) -StarSovereignGndAttkToIdle: - playfram 0x00 - goto StarSovereignWalkingToIdle - -StarSovereignWalkingToIdle: - setvertpos 0 - goto ScourgeLocal00 - -StarSovereignDeath: - playsndbtwn 1393 1395 # Star Sovereign death 01, 02, 03 - imgol 1567 0 0 # Star Sovereign Death - wait 2 - imgol 1566 24 24 # Protoss Explosion (Large) - wait 3 - imgol 1566 -24 -24 # Protoss Explosion (Large) - wait 1 - imgol 1565 0 0 # Protoss Explosion (Medium) - wait 2 - imgol 1565 24 -24 # Protoss Explosion (Medium) - wait 3 - imgol 1565 -24 24 # Protoss Explosion (Medium) - wait 1 - imgol 1566 0 0 # Protoss Explosion (Large) - wait 3 - lowsprul 224 0 42 # Protoss Building Rubble Large - wait 1 - end - -StarSovereignUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsndbtwn 1701 1703 # Star Sovereign revive 01, 02, 03 - sprol 745 -24 24 - wait 2 - sprol 745 -24 24 - wait 3 - sprol 745 24 -24 - wait 1 - sprol 745 0 0 - wait 2 - sprol 745 -24 -24 - wait 3 - sprol 745 24 24 - wait 1 - sprol 745 0 0 - wait 3 - setfldirect 13 - tmprmgraphicend - nobrkcodeend - goto StarSovereignWalkingToIdle - -StarSovereignGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x20 - playsndbtwn 1227 1230 # Star Sovereign weapon fire 01, 02, 03, 04 - attackwith 1 - attackwith 1 - wait 2 - playfram 0x00 - gotorepeatattk - goto ScourgeLocal00 - -StarSovereignCastSpell: - wait 1 - nobrkcodestart - wait 20 - imgul 1251 0 30 # Grief of All Gods channel - wait 100 - imgul 1254 0 60 # Grief of All Gods Blast - call StarSovereignLocal01 - call StarSovereignLocal00 - call StarSovereignLocal00 - call StarSovereignLocal00 - call StarSovereignLocal02 - call StarSovereignLocal02 - call StarSovereignLocal02 - call StarSovereignLocal02 - call StarSovereignLocal02 - sprul 635 0 60 - wait 36 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -StarSovereignLocal00: - imgul 1253 0 60 -StarSovereignLocal01: - wait 6 - goto StarSovereignLocal03 - -StarSovereignLocal02: - imgul 1253 0 60 - wait 6 - sigorder 64 -StarSovereignLocal03: - sigorder 8 - wait 6 - sigorder 16 - wait 6 - sigorder 32 - wait 6 - sigorder 64 - sigorder 8 - wait 6 - sigorder 16 - wait 6 - sigorder 32 - return - -StarSovereignWalking: - setvertpos 0 -# imgol 1205 0 0 # Star Sovereign Engines (cm\protoss\starsovereign-engine.grp) - goto ScourgeLocal00 - -StarSovereignWarpIn: - imgol 143 0 0 # Star Sovereign Warp Flash (protoss\starsovereign.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1117 Apostle (cm\terran\apostle.grp) -.headerstart -IsId 463 -Type 12 -Init ApostleInit -Death ApostleDeath -GndAttkInit MadcapGndAttkInit -AirAttkInit MadcapGndAttkInit -Unused1 [NONE] -GndAttkRpt MadcapGndAttkRpt -AirAttkRpt MadcapGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MadcapGndAttkToIdle -AirAttkToIdle MadcapGndAttkToIdle -Unused2 [NONE] -Walking MadcapWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ApostleInit: - imgul 1118 0 4 # Apostle Shadow (cm\terran\apostle-shad.grp) - goto MadcapWalkingToIdle - -ApostleDeath: - playsnd 1301 # Apostle death 01 - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 5 - lowsprul 565 0 0 # Apostle Remnants (cm\terran\apostle-death.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1118 Apostle Remnants (cm\terran\apostle-death.grp) -.headerstart -IsId 464 -Type 1 -Init ApostleRemnantsInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ApostleRemnantsInit: - playfram 0 - wait 255 - wait 24 - playfram 1 - wait 255 - wait 24 - playfram 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1120 Exemplar Projectile (cm\protoss\exemplar-weapon.grp) -.headerstart -IsId 465 -Type 2 -Init ExemplarTorpedoInit -Death ExemplarTorpedoDeath -GndAttkInit ExemplarTorpedoGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ExemplarTorpedoInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -ExemplarTorpedoGndAttkInit: - playfram 0x00 - wait 2 - goto ExemplarTorpedoLocal01 - -ExemplarTorpedoLocal01: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x00 - wait 2 - goto ExemplarTorpedoLocal01 - -ExemplarTorpedoDeath: - imgol 1105 0 0 # Exemplar weapon impact - playsndbtwn 3057 3059 # Exemplar weaponhit 01, 02, 03 - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1011 Future Station (cm\terran\future-station.grp) -.headerstart -IsId 466 -Type 24 -Init FutureStationInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt FutureStationAlmostBuilt -Built InfestedTerranWalkingToIdle -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking FutureStationIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FutureStationInit: - imgul 1121 0 0 # Future Station Shadow (cm\terran\future-station-shadow.grp) - goto InfestedTerranWalkingToIdle - -FutureStationAlmostBuilt: - playfram 20 - goto ScourgeLocal00 - -FutureStationIsWorking: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 0x00 - wait 1 - goto FutureStationIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1122 Argosy (cm\protoss\argosy.grp) -.headerstart -IsId 467 -Type 27 -Init ArgosyInit -Death ArgosyDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ArgosySpecialState1 -SpecialState2 ArgosySpecialState2 -AlmostBuilt ArgosyAlmostBuilt -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ArgosyIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn ArgosyAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable InfestedTerranWalkingToIdle -Burrow [NONE] -UnBurrow [NONE] -Enable InfestedTerranWalkingToIdle -.headerend -# ----------------------------------------------------------------------------- # - -ArgosyInit: - imgul 1123 0 0 # Argosy Shadow (cm\protoss\argosy-shad.grp) - goto InfestedTerranWalkingToIdle - -ArgosyDeath: - playfram 0x00 - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -ArgosySpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - goto ScourgeLocal00 - -ArgosySpecialState2: - wait 1 - goto InfestedTerranWalkingToIdle - -ArgosyAlmostBuilt: - imgol 1124 0 0 # Argosy Warp Flash (cm\protoss\argosy.grp) - goto ScourgeLocal00 - -ArgosyIsWorking: - 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 0x00 - wait 2 - goto ArgosyIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1125 Nanite Assembly (cm\terran\naniteassembly.grp) -.headerstart -IsId 468 -Type 20 -Init NaniteAssemblyInit -Death NaniteAssemblyDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt NaniteAssemblyAlmostBuilt -Built NaniteAssemblyBuilt -Landing NaniteAssemblyLanding -LiftOff NaniteAssemblyLiftOff -IsWorking NaniteAssemblyIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NaniteAssemblyInit: - playfram 0x00 - imgul 1126 0 0 # Nanite Assembly Shadow (cm\terran\naniteassembly-shad.grp) - goto ScourgeLocal00 - -NaniteAssemblyDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -NaniteAssemblyAlmostBuilt: - playfram 21 - goto ScourgeLocal00 - -NaniteAssemblyBuilt: - playfram 0x00 - goto ScourgeLocal00 - -NaniteAssemblyLanding: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV -# playfram 4 - wait 8 -# playfram 3 - wait 8 -# playfram 2 - wait 8 -# playfram 5 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -NaniteAssemblyLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0x00 - wait 1 -# playfram 5 - wait 8 -# playfram 2 - wait 8 -# playfram 3 - wait 8 -# playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -NaniteAssemblyIsWorking: - 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 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 0x00 - wait 2 - goto NaniteAssemblyIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1127 Hadron (cm\terran\particle-accelerator.grp) -.headerstart -IsId 469 -Type 24 -Init HadronInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt HadronAlmostBuilt -Built HadronBuilt -Landing HadronLanding -LiftOff ScourgeLocal00 -IsWorking HadronIsWorking -WorkingToIdle HadronBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable HadronDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HadronInit: - playfram 0x00 - imgul 1128 0 0 # Hadron Shadow (cm\terran\particle-accelerator-shadow.grp) - goto HadronLanding - -HadronLanding: -# imgol 294 0 0 # Palladium Connector (terran\machineC.grp) - goto ScourgeLocal00 - -HadronAlmostBuilt: - playfram 5 - goto ScourgeLocal00 - -HadronBuilt: - playfram 0x00 - goto HadronLanding - -HadronIsWorking: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 0x00 - wait 1 - goto HadronIsWorking - -HadronDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1122 Crucible (cm\protoss\crucible.grp) -.headerstart -IsId 470 -Type 27 -Init CrucibleInit -Death CrucibleDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 CrucibleSpecialState1 -SpecialState2 CrucibleSpecialState2 -AlmostBuilt CrucibleAlmostBuilt -Built CrucibleBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking CrucibleIsWorking -WorkingToIdle CrucibleWorkingToIdle -WarpIn CrucibleAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable InfestedTerranWalkingToIdle -Burrow [NONE] -UnBurrow [NONE] -Enable CrucibleEnable -.headerend -# ----------------------------------------------------------------------------- # - -CrucibleInit: - imgul 1130 0 0 # Crucible Shadow (cm\protoss\crucible-shad.grp) - playfram 0x00 - wait 1 - goto CrucibleBuilt - -CrucibleBuilt: - wait 1 - goto CrucibleIsWorking - -CrucibleIsWorking: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 12 - wait 2 - playfram 11 - wait 2 - playfram 10 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - goto CrucibleIsWorking - -CrucibleDeath: - playfram 0x00 - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -CrucibleSpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - goto ScourgeLocal00 - -CrucibleSpecialState2: - wait 1 - goto CrucibleWorkingToIdle - -CrucibleWorkingToIdle: - playfram 0x00 - wait 1 - goto CrucibleBuilt - -CrucibleAlmostBuilt: - imgol 1131 0 0 # Crucible Warp Flash (cm\protoss\crucible.grp) - goto CrucibleBuilt - -CrucibleEnable: - playfram 0x00 - wait 2 - goto CrucibleWorkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1135 Gladius (cm\protoss\gladius.grp) -.headerstart -IsId 472 -Type 21 -Init GladiusInit -Death GladiusDeath -GndAttkInit GladiusGndAttkInit -AirAttkInit GladiusGndAttkInit -Unused1 [NONE] -GndAttkRpt GladiusGndAttkInit -AirAttkRpt GladiusGndAttkInit -CastSpell [NONE] -GndAttkToIdle GladiusGndAttkToIdle -AirAttkToIdle GladiusGndAttkToIdle -Unused2 [NONE] -Walking GladiusWalking -WalkingToIdle GladiusWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -GladiusInit: - imgul 1136 0 42 # Gladius Shadow (cm\protoss\gladius.grp) -GladiusGndAttkToIdle: - playfram 0x00 - goto GladiusWalkingToIdle - -GladiusWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto GladiusWalkingToIdle - -GladiusDeath: - playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -GladiusGndAttkInit: - nobrkcodestart - playsndbtwn 1926 1928 # Gladius weaponfire 01, 02, 03 - playfram 0x20 - attackwith 1 - wait 2 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -GladiusWalking: - setvertpos 0 - imgol 1204 0 0 # Gladius Engines (cm\protoss\gladius-engine.grp) - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1137 Magister (cm\protoss\magister.grp) -.headerstart -IsId 473 -Type 21 -Init MagisterInit -Death MagisterDeath -GndAttkInit MagisterGndAttkInit -AirAttkInit MagisterGndAttkInit -Unused1 [NONE] -GndAttkRpt MagisterGndAttkInit -AirAttkRpt MagisterGndAttkInit -CastSpell [NONE] -GndAttkToIdle MagisterGndAttkToIdle -AirAttkToIdle MagisterGndAttkToIdle -Unused2 [NONE] -Walking MagisterWalking -WalkingToIdle MagisterWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -MagisterInit: - imgul 1138 0 42 # Magister Shadow (cm\protoss\magister.grp) -MagisterGndAttkToIdle: - playfram 0x00 - goto MagisterWalkingToIdle - -MagisterWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto MagisterWalkingToIdle - -MagisterDeath: - playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -MagisterGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - wait 1 - playsndbtwn 1313 1315 # Magister attack 01, 02, 03 - attackwith 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -MagisterWalking: - playfram 0x00 - setvertpos 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1139 Vassal (cm\protoss\vassal.grp) -.headerstart -IsId 474 -Type 21 -Init VassalInit -Death VassalDeath -GndAttkInit VassalGndAttkInit -AirAttkInit VassalGndAttkInit -Unused1 [NONE] -GndAttkRpt VassalGndAttkInit -AirAttkRpt VassalGndAttkInit -CastSpell [NONE] -GndAttkToIdle VassalGndAttkToIdle -AirAttkToIdle VassalGndAttkToIdle -Unused2 [NONE] -Walking VassalWalking -WalkingToIdle VassalWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -VassalInit: - imgul 1140 0 42 # Vassal Shadow (cm\protoss\vassal.grp) -VassalGndAttkToIdle: - playfram 0x00 - goto VassalWalkingToIdle - -VassalWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto VassalWalkingToIdle - -VassalDeath: - playsndbtwn 3060 3062 # Vassal death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 847 0 42 # Protoss Unit Rubble Small - wait 1 - end - -VassalGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x20 - playsndbtwn 1217 1221 # Vassal weaponfire 01, 02, 03, 04, 05 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -VassalWalking: - setvertpos 0 - playfram 0x00 - imgol 1206 0 0 # Vassal Engines (cm\protoss\vassal-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1141 Madcap (cm\terran\madcap.grp) -.headerstart -IsId 475 -Type 12 -Init MadcapInit -Death MadcapDeath -GndAttkInit MadcapGndAttkInit -AirAttkInit MadcapGndAttkInit -Unused1 [NONE] -GndAttkRpt MadcapGndAttkRpt -AirAttkRpt MadcapGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MadcapGndAttkToIdle -AirAttkToIdle MadcapGndAttkToIdle -Unused2 [NONE] -Walking MadcapWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MadcapInit: - imgul 1142 0 0 # Madcap Shadow (cm\terran\madcap-shad.grp) -MadcapWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -MadcapDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 5 - lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) - wait 1 - end - -MadcapGndAttkInit: - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 -MadcapGndAttkRpt: - wait 1 - nobrkcodestart - attack - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - nobrkcodeend - gotorepeatattk - ignorerest -MadcapGndAttkToIdle: - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - playfram 0x100 - wait 1 - goto MadcapWalkingToIdle - -MadcapWalking: - 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 0x20 - move 4 - wait 1 - goto MadcapWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1143 Salamander (cm\terran\salamander.grp) -.headerstart -IsId 476 -Type 12 -Init SalamanderInit -Death SalamanderDeath -GndAttkInit SalamanderGndAttkInit -AirAttkInit SalamanderAirAttkInit -Unused1 [NONE] -GndAttkRpt SalamanderGndAttkInit -AirAttkRpt SalamanderAirAttkInit -CastSpell [NONE] -GndAttkToIdle SalamanderGndAttkToIdle -AirAttkToIdle SalamanderGndAttkToIdle -Unused2 [NONE] -Walking SalamanderWalking -WalkingToIdle SalamanderWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SalamanderInit: - imgul 1144 0 42 # Salamander Shadow (cm\terran\salamander.grp) -SalamanderGndAttkToIdle: - playfram 0x00 - goto SalamanderWalkingToIdle - -SalamanderWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto SalamanderWalkingToIdle - -SalamanderDeath: - playsndbtwn 1262 1264 # Salamander death 01, 02, 03 - imgol 1553 -3 -7 # Salamander Death - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 8 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -SalamanderGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 2777 2779 # Salamander weaponfire 01, 02, 03 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SalamanderWalkingToIdle - -SalamanderAirAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 3129 3132 # Salamander weapon 2 fire 01, 02, 03 - attackwith 2 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SalamanderWalkingToIdle - -SalamanderWalking: - setvertpos 0 - imgol 1166 0 0 # Salamander Engines (cm\terran\salamander-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1145 Salamander Missile (cm\terran\salamander-missile.grp) -.headerstart -IsId 477 -Type 2 -Init SalamanderMissileInit -Death SalamanderMissileDeath -GndAttkInit SalamanderMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SalamanderMissileInit: - playfram 0x00 - wait 1 - sigorder 1 - goto SalamanderMissileGndAttkInit - -SalamanderMissileGndAttkInit: - 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 - playfram 0x00 - wait 1 - goto SalamanderMissileGndAttkInit - -SalamanderMissileDeath: - imgol 1875 0 0 # Salamander weaponhit - playsnd 9 # Misc\ExploSm.wav - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1146 Gorgon (cm\terran\gorgon.grp) -.headerstart -IsId 478 -Type 12 -Init GorgonInit -Death GorgonDeath -GndAttkInit GorgonGndAttkInit -AirAttkInit GorgonGndAttkInit -Unused1 [NONE] -GndAttkRpt GorgonGndAttkInit -AirAttkRpt GorgonGndAttkInit -CastSpell [NONE] -GndAttkToIdle GorgonGndAttkToIdle -AirAttkToIdle GorgonGndAttkToIdle -Unused2 [NONE] -Walking GorgonWalking -WalkingToIdle WraithGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GorgonInit: - imgul 1147 0 42 # Gorgon Shadow (cm\terran\gorgon.grp) -GorgonGndAttkToIdle: - playfram 0x00 - goto WraithGndAttkToIdle - -GorgonDeath: - playsndbtwn 1249 1251 # Gorgon death 01, 02, 03 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -GorgonGndAttkInit: - wait 1 - playsndbtwn 1252 1253 # Gorgon weaponfire 01, 02 - attack - sigorder 32 - wait 1 - gotorepeatattk - goto WraithGndAttkToIdle - -GorgonWalking: - setvertpos 0 - imgol 1198 0 0 # Gorgon Engines (cm\terran\gorgon-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1150 Phobos (cm\terran\phobos.grp) -.headerstart -IsId 480 -Type 12 -Init PhobosInit -Death PhobosDeath -GndAttkInit PhobosGndAttkInit -AirAttkInit PhobosGndAttkInit -Unused1 [NONE] -GndAttkRpt PhobosGndAttkInit -AirAttkRpt PhobosGndAttkInit -CastSpell PhobosCastSpell -GndAttkToIdle PhobosGndAttkToIdle -AirAttkToIdle PhobosGndAttkToIdle -Unused2 [NONE] -Walking PhobosWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhobosInit: - imgul 1151 0 42 # Phobos Shadow (cm\terran\phobos.grp) -PhobosGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -PhobosDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 274 0 42 # Terran Building Rubble Large - wait 1 - end - -PhobosGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1259 1261 # Phobos weaponfire 01, 02, 03 - attackwith 1 - wait 4 - attackwith 1 - wait 4 - attackwith 1 - wait 4 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -PhobosWalking: - setvertpos 0 - imgol 1162 0 0 # Phobos Engines (cm\terran\phobos-engine.grp) - goto ScourgeLocal00 - -PhobosCastSpell: - imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1152 Penumbra (cm\terran\penumbra.grp) -.headerstart -IsId 481 -Type 12 -Init PenumbraInit -Death PenumbraDeath -GndAttkInit PenumbraGndAttkInit -AirAttkInit PenumbraGndAttkInit -Unused1 PenumbraUnused1 -GndAttkRpt PenumbraGndAttkInit -AirAttkRpt PenumbraGndAttkInit -CastSpell [NONE] -GndAttkToIdle PenumbraGndAttkToIdle -AirAttkToIdle PenumbraGndAttkToIdle -Unused2 [NONE] -Walking PenumbraWalking -WalkingToIdle PenumbraWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PenumbraInit: - imgul 1153 0 0 # Penumbra shadow (cm\terran\penumbra-shad.grp) -PenumbraWalkingToIdle: - playfram 0x110 - goto ScourgeLocal00 - -PenumbraDeath: - playsndbtwn 1742 1743 # Penumbra death 01, 02 - imgol 1498 0 0 # Penumbra Death (Primary) - wait 10 - imgol 334 15 15 - wait 7 - imgol 334 -15 -15 - wait 6 - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -PenumbraUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsndbtwn 1744 1745 # Penumbra revive 01, 02 - wait 10 - sprol 744 -15 15 - wait 10 - sprol 744 15 15 - wait 3 - sprol 744 0 -0 - wait 3 - setfldirect 13 - tmprmgraphicend - nobrkcodeend - goto PenumbraWalkingToIdle - -PenumbraGndAttkInit: - playfram 0x110 - wait 2 - nobrkcodestart - playsndbtwn 1199 1202 # Penumbra weaponfire 01, 02, 03, 04 - attack - playfram 0x165 - wait 2 - playfram 0x154 - wait 2 - playfram 0x143 - wait 2 - playfram 0x132 - wait 2 - playfram 0x121 - nobrkcodeend - wait 2 - playfram 0x110 - gotorepeatattk - ignorerest -PenumbraGndAttkToIdle: - wait 2 - goto PenumbraWalkingToIdle - -PenumbraWalking: - move 3 - wait 1 - playfram 0x00 - move 3 - wait 1 - move 4 - wait 1 - playfram 0x11 - move 3 - wait 1 - move 4 - wait 1 - playfram 0x22 - move 3 - wait 1 - move 5 - wait 1 - playfram 0x33 - move 3 - wait 1 - move 5 - wait 1 - playfram 0x44 - move 3 - wait 1 - move 4 - wait 1 - playfram 0x55 - move 3 - wait 1 - move 4 - wait 1 - playfram 0x66 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x77 - move 3 - wait 1 - move 3 - wait 1 - playfram 0x88 - move 3 - wait 1 - move 4 - wait 1 - playfram 0x99 - move 3 - wait 1 - move 4 - wait 1 - playfram 0xaa - move 3 - wait 1 - move 5 - wait 1 - playfram 0xbb - move 3 - wait 1 - move 5 - wait 1 - playfram 0xcc - move 3 - wait 1 - move 4 - wait 1 - playfram 0xdd - move 3 - wait 1 - move 4 - wait 1 - playfram 0xee - move 3 - wait 1 - move 3 - wait 1 - playfram 0xff - goto PenumbraWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1154 Cyclops (cm\terran\cyclops.grp) -.headerstart -IsId 482 -Type 12 -Init CyclopsInit -Death CyclopsDeath -GndAttkInit CyclopsGndAttkInit -AirAttkInit CyclopsGndAttkInit -Unused1 CyclopsUnused1 -GndAttkRpt CyclopsGndAttkRpt -AirAttkRpt CyclopsGndAttkRpt -CastSpell [NONE] -GndAttkToIdle CyclopsGndAttkToIdle -AirAttkToIdle CyclopsGndAttkToIdle -Unused2 [NONE] -Walking CyclopsWalking -WalkingToIdle CyclopsWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CyclopsInit: - imgul 1155 0 0 # Cyclops shadow (cm\terran\cyclops-shad.grp) -CyclopsWalkingToIdle: - playfram 0x00 - goto CyclopsLocal00 - -CyclopsLocal00: - wait 62 - randcondjmp 25 CyclopsLocal01 - goto CyclopsLocal00 - -CyclopsLocal01: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - waitrand 12 96 - playfram 0x60 - wait 1 - playfram 0x40 - wait 1 - randcondjmp 43 CyclopsLocal01 - playfram 0x20 - wait 1 - playfram 0x00 - goto CyclopsLocal00 - -CyclopsDeath: - playsndbtwn 1598 1602 # Cyclops death 01, 02, 03, 04, 05 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 816 0 0 # Cyclops Remains - end - -CyclopsUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 742 0 0 # Small Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto CyclopsWalkingToIdle - -CyclopsGndAttkInit: - playfram 0x00 -CyclopsGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x220 - playsndbtwn 2548 2549 # Cyclops weapon fire 01, 02, 03 - attack - wait 1 - playfram 0x240 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -CyclopsGndAttkToIdle: - playfram 0x00 - wait 1 - goto CyclopsWalkingToIdle - -CyclopsWalking: - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x120 - move 5 - wait 1 - playfram 0x140 - move 5 - wait 1 - playfram 0x160 - move 5 - wait 1 - 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 - goto CyclopsWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1156 Phobos Missile (cm\terran\phobos-missile.grp) -.headerstart -IsId 483 -Type 2 -Init PhobosMissileInit -Death PhobosMissileDeath -GndAttkInit PhobosMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhobosMissileInit: - playfram 0x00 - playsnd 80 # Bullet\HKMISSLE.wav - wait 1 - sigorder 1 - wait 1 -PhobosMissileGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto PhobosMissileGndAttkInit - -PhobosMissileDeath: - playsnd 9 # Misc\ExploSm.wav - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1157 Phobos Laser (cm\terran\phobos-laser.grp) -.headerstart -IsId 484 -Type 2 -Init PhobosLaserInit -Death PhobosLaserDeath -GndAttkInit PhobosLaserGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhobosLaserInit: - playfram 0x00 - wait 1 - sigorder 1 - goto PhobosLaserGndAttkInit - -PhobosLaserGndAttkInit: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x00 - wait 1 - goto PhobosLaserGndAttkInit - -PhobosLaserDeath: - imgol 1168 0 0 # Phobos Laser Impact (cm\terran\phobos-laser-impact.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1158 Nanite Field Overlay (cm\effect\nanitefield-overlay.grp) -.headerstart -IsId 485 -Type 1 -Init NaniteFieldInit -Death NaniteFieldDeath -.headerend -# ----------------------------------------------------------------------------- # - -NaniteFieldInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - goto NaniteFieldDeath - -NaniteFieldDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1159 Sanctum of Sorrow (cm\protoss\sanctumofsorrow.grp) -.headerstart -IsId 486 -Type 27 -Init SanctumofSorrowInit -Death SanctumofSorrowDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built SanctumofSorrowBuilt -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking SanctumofSorrowIsWorking -WorkingToIdle SanctumofSorrowBuilt -WarpIn SanctumofSorrowWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable SanctumofSorrowDisable -Burrow [NONE] -UnBurrow [NONE] -Enable SanctumofSorrowBuilt -.headerend -# ----------------------------------------------------------------------------- # - -SanctumofSorrowInit: - playfram 0x00 - imgul 1160 0 0 # Sanctum of Sorrow Shadow (cm\protoss\sanctumofsorrow-shad.grp) - goto ScourgeLocal00 - -SanctumofSorrowDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -SanctumofSorrowBuilt: - playfram 0x00 - goto ScourgeLocal00 - -SanctumofSorrowIsWorking: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0 - goto SanctumofSorrowIsWorking - -SanctumofSorrowWarpIn: - imgol 1161 0 0 # Sanctum of Sorrow Warp Flash (cm\protoss\sanctumofsorrow.grp) - goto ScourgeLocal00 - -SanctumofSorrowDisable: - playfram 3 - wait 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1163 Warden Hit (thingy\phohit.grp) -.headerstart -IsId 487 -Type 1 -Init WardenHitInit -Death WardenHitDeath -.headerend -# ----------------------------------------------------------------------------- # - -WardenHitInit: - playfram 0x00 - wait 1 - playfram 2 - wait 1 - playfram 4 - wait 1 - playfram 6 - wait 1 - playfram 8 -WardenHitDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1164 Beta Protoss Explosion (small) (thingy\pexplode.grp) -.headerstart -IsId 488 -Type 1 -Init ProtossExplosionSmallInit -Death ProtossExplosionSmallDeath -.headerend -# ----------------------------------------------------------------------------- # - -ProtossExplosionSmallInit: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 1 -ProtossExplosionSmallDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1165 Aurora Last Orders Impact (thingy\tBangS.grp) -.headerstart -IsId 489 -Type 1 -Init LastOrdersImpactInit -Death LastOrdersImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -LastOrdersImpactInit: - 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 1 -LastOrdersImpactDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1168 Phobos Laser Impact (cm\terran\phobos-laser-impact.grp) -.headerstart -IsId 490 -Type 1 -Init PhobosLaserImpactInit -Death PhobosLaserImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -PhobosLaserImpactInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -PhobosLaserImpactDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1169 Salamander Missile Impact (cm\terran\salamander-missile-impact.grp) -.headerstart -IsId 491 -Type 1 -Init SalamanderMissileImpactInit -Death SalamanderMissileImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -SalamanderMissileImpactInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 -SalamanderMissileImpactLocal00: - 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 SalamanderMissileImpactLocal00 - -SalamanderMissileImpactDeath: - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 12 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1171 Atreus (cm\protoss\atreus.grp) -.headerstart -IsId 492 -Type 21 -Init AtreusInit -Death AtreusDeath -GndAttkInit AtreusGndAttkInit -AirAttkInit AtreusGndAttkInit -Unused1 [NONE] -GndAttkRpt AtreusGndAttkInit -AirAttkRpt AtreusGndAttkInit -CastSpell [NONE] -GndAttkToIdle AtreusGndAttkToIdle -AirAttkToIdle AtreusGndAttkToIdle -Unused2 [NONE] -Walking AtreusWalking -WalkingToIdle AtreusGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn AtreusWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AtreusInit: - imgul 1173 0 0 # Atreus Shadow (cm\protoss\atreus-shad.grp) - goto AtreusGndAttkToIdle - -AtreusGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -AtreusDeath: - playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 2 - lowsprul 846 0 7 # Protoss Unit Rubble Medium - wait 1 - end - -AtreusGndAttkInit: - playfram 0x00 -AtreusGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x220 - playsndbtwn 1788 1790 # Atreus weapon fire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto AtreusGndAttkToIdle - -AtreusWalking: - 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 - move 4 - wait 1 - playfram 0x200 - goto AtreusWalking - -AtreusWarpIn: - imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1174 Amaranth (cm\protoss\amaranth.grp) -.headerstart -IsId 493 -Type 21 -Init AmaranthInit -Death AmaranthDeath -GndAttkInit AmaranthGndAttkInit -AirAttkInit AmaranthGndAttkInit -Unused1 [NONE] -GndAttkRpt AmaranthGndAttkRpt -AirAttkRpt AmaranthGndAttkRpt -CastSpell AmaranthCastSpell -GndAttkToIdle AmaranthGndAttkToIdle -AirAttkToIdle AmaranthGndAttkToIdle -Unused2 [NONE] -Walking AmaranthWalking -WalkingToIdle AmaranthWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn AmaranthWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AmaranthInit: - imgul 1175 0 -3 # Amaranth Shadow (cm\protoss\amaranth-shad.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -AmaranthGndAttkToIdle: - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -AmaranthDeath: - playsnd 741 # Protoss\DARKTEMPLAR\PDTDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -AmaranthGndAttkInit: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - goto AmaranthGndAttkRpt -AmaranthGndAttkRpt: - nobrkcodestart - playfram 0x44 - wait 1 - playfram 0x55 - playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 - attackmelee 4 3063 3064 3065 3066 # Amaranth weaponhit 01, 02, 03, 04 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - attackmelee 4 3063 3064 3065 3066 # Amaranth weaponhit 01, 02, 03, 04 - wait 1 - playfram 0x88 - nobrkcodeend - wait 1 - playfram 0x11 - wait 1 - gotorepeatattk - goto AmaranthGndAttkToIdle - -AmaranthCastSpell: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - nobrkcodestart - playfram 0x44 - wait 1 - playfram 0x55 - playsnd 111 - castspell - sigorder 2 - attackwith 1 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - nobrkcodeend - wait 1 - playfram 0x11 - wait 1 - gotorepeatattk - goto ScourgeLocal00 - -AmaranthWalking: - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - 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 5 - wait 1 - playfram 0x121 - goto AmaranthWalking - -AmaranthWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -AmaranthWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1176 Geszkath Grotto (cm\zerg\keskathcavern.grp) -.headerstart -IsId 494 -Type 20 -Init GeszkathGrottoInit -Death GeszkathGrottoDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt GeszkathGrottoAlmostBuilt -Built GeszkathGrottoBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking GeszkathGrottoIsWorking -WorkingToIdle GeszkathGrottoWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GeszkathGrottoInit: - imgul 1177 0 0 # Geszkath Grotto Shadow (cm\zerg\keskathcavern-shad.grp) - playfram 0x00 - goto GeszkathGrottoWorkingToIdle - -GeszkathGrottoWorkingToIdle: - 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 - goto GeszkathGrottoWorkingToIdle - -GeszkathGrottoDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -GeszkathGrottoAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -GeszkathGrottoBuilt: - playfram 0x00 - wait 2 - goto GeszkathGrottoWorkingToIdle - -GeszkathGrottoIsWorking: - playfram 0x00 - wait 1 - playfram 1 - waitrand 1 2 - playfram 2 - wait 1 - playfram 3 - waitrand 1 2 - playfram 4 - wait 1 - playfram 5 - waitrand 1 2 - playfram 6 - wait 1 - playfram 7 - waitrand 1 2 - playfram 8 - wait 1 - playfram 9 - waitrand 1 2 - goto GeszkathGrottoIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1178 Vithril Haunt (cm\zerg\devourerhaunt.grp) -.headerstart -IsId 495 -Type 20 -Init TosvrolHauntInit -Death TosvrolHauntDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TosvrolHauntAlmostBuilt -Built TosvrolHauntBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking TosvrolHauntIsWorking -WorkingToIdle TosvrolHauntWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1170 Ecclesiast (cm\protoss\ecclesiast.grp) -.headerstart -IsId 497 -Type 21 -Init EcclesiastInit -Death EcclesiastDeath -GndAttkInit EcclesiastGndAttkInit -AirAttkInit EcclesiastGndAttkInit -Unused1 EcclesiastUnused1 -GndAttkRpt EcclesiastGndAttkRpt -AirAttkRpt EcclesiastGndAttkRpt -CastSpell [NONE] -GndAttkToIdle EcclesiastGndAttkToIdle -AirAttkToIdle EcclesiastGndAttkToIdle -Unused2 [NONE] -Walking EcclesiastWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn EcclesiastWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EcclesiastInit: - imgul 1172 0 0 # Ecclesiast Shadow (cm\protoss\ecclesiast-shad.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -EcclesiastGndAttkToIdle: - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - goto InfestedTerranWalkingToIdle - -EcclesiastDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 3 - lowsprul 818 0 0 # Ecclesiast Remains - wait 1 - end - -EcclesiastUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 # Cantavis revive 01 - imgol 1445 0 0 # Zealot death reversed - wait 12 - setfldirect 12 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -EcclesiastGndAttkInit: - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - goto EcclesiastGndAttkRpt -EcclesiastGndAttkRpt: - wait 1 - nobrkcodestart - attackwith 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto EcclesiastGndAttkToIdle - -EcclesiastWalking: - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x20 - move 5 - wait 1 - playfram 0x40 - move 5 - wait 1 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - goto EcclesiastWalking - -EcclesiastWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1182 Idol (cm\protoss\idol.grp) -.headerstart -IsId 498 -Type 12 -Init IdolInit -Death IdolDeath -GndAttkInit IdolGndAttkInit -AirAttkInit IdolGndAttkInit -Unused1 [NONE] -GndAttkRpt IdolGndAttkRpt -AirAttkRpt IdolGndAttkRpt -CastSpell [NONE] -GndAttkToIdle IdolGndAttkToIdle -AirAttkToIdle IdolGndAttkToIdle -Unused2 [NONE] -Walking IdolWalking -WalkingToIdle IdolGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IdolInit: - imgul 1183 0 0 # Idol Shadow (cm\protoss\idol-shad.grp) - playfram 0x77 - goto ScourgeLocal00 - -IdolGndAttkToIdle: - playfram 0x88 - wait 1 - playfram 0x77 - goto ScourgeLocal00 - -IdolDeath: - playsndbtwn 3053 3056 # Idol death 01, 02, 03, 04 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 947 0 0 # Idol remains (cm\protoss\idol-death.grp) - wait 1 - end - -IdolGndAttkInit: - playfram 0x88 - wait 1 - playfram 0x99 -IdolGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0xbb - attack - playsndbtwn 1268 1272 # Idol weaponfire 01, 02, 03, 04, 05 - wait 1 - playfram 0x99 - wait 3 - playfram 0xbb - attack - playsndbtwn 1268 1272 # Idol weaponfire 01, 02, 03, 04, 05 - wait 1 - playfram 0x99 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto IdolGndAttkToIdle - -IdolWalking: - move 5 - wait 1 - playfram 0x00 - 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 - goto IdolWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1184 Golem (golem.grp) -.headerstart -IsId 499 -Type 12 -Init GolemInit -Death GolemDeath -GndAttkInit GolemGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt GolemGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle LegionnaireGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking LegionnaireWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GolemInit: - imgul 1185 0 0 # Golem Shadow (golem-shad.grp) - playfram 0x00 - goto ScourgeLocal00 - -GolemDeath: - playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 946 0 0 # Golem remains (cm\protoss\golem-death.grp) - wait 1 - end - -GolemGndAttkInit: - playfram 0x100 -GolemGndAttkRpt: - playfram 0x100 - wait 1 - nobrkcodestart - playsndbtwn 1937 1938 # Golem weaponfire 01, 02 - attackwith 1 - playfram 0x120 - wait 1 - playfram 0x140 - attackwith 1 - playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV - nobrkcodeend - gotorepeatattk - ignorerest - goto LegionnaireGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1186 Barghest (cm\protoss\barghest.grp) -.headerstart -IsId 500 -Type 12 -Init BarghestInit -Death BarghestDeath -GndAttkInit BarghestGndAttkInit -AirAttkInit BarghestGndAttkInit -Unused1 [NONE] -GndAttkRpt BarghestGndAttkInit -AirAttkRpt BarghestGndAttkInit -CastSpell [NONE] -GndAttkToIdle BarghestGndAttkToIdle -AirAttkToIdle BarghestGndAttkToIdle -Unused2 [NONE] -Walking BarghestWalking -WalkingToIdle BarghestGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BarghestInit: - imgul 1187 0 42 # Barghest Shadow (cm\protoss\barghest.grp) - playfram 0x00 - wait 2 -BarghestGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x120 - wait 2 - playfram 0x00 - wait 2 - goto BarghestGndAttkToIdle - -BarghestDeath: - playsndbtwn 1239 1241 # Barghest death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 847 0 42 # Protoss Unit Rubble Small - wait 1 - end - -BarghestGndAttkInit: - wait 1 - playsndbtwn 1460 1464 # Barghest weaponfire 01, 02, 03, 04, 05 - attackwith 1 - gotorepeatattk - goto BarghestGndAttkToIdle - -BarghestWalking: - 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 0x00 - wait 1 - goto BarghestWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1188 Synthetic Synod (cm\protoss\synthetic-synod.grp) -.headerstart -IsId 501 -Type 27 -Init SyntheticSynodInit -Death SyntheticSynodDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 SyntheticSynodSpecialState1 -SpecialState2 SyntheticSynodSpecialState2 -AlmostBuilt SyntheticSynodAlmostBuilt -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking SyntheticSynodIsWorking -WorkingToIdle SyntheticSynodWorkingToIdle -WarpIn SyntheticSynodAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable SyntheticSynodDisable -Burrow [NONE] -UnBurrow [NONE] -Enable SyntheticSynodEnable -.headerend -# ----------------------------------------------------------------------------- # - -SyntheticSynodInit: - imgul 1189 0 0 # Synthetic Synod Shadow (cm\protoss\synthetic-synod-shadow.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -SyntheticSynodDeath: - playfram 0x00 - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -SyntheticSynodSpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - goto ScourgeLocal00 - -SyntheticSynodSpecialState2: - wait 1 - goto SyntheticSynodWorkingToIdle - -SyntheticSynodWorkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -SyntheticSynodAlmostBuilt: - imgol 1190 0 0 # Synthetic Synod Warp Flash (cm\protoss\synthetic-synod.grp) - goto ScourgeLocal00 - -SyntheticSynodIsWorking: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - goto SyntheticSynodIsWorking - -SyntheticSynodDisable: - playfram 0x00 - goto ScourgeLocal00 - -SyntheticSynodEnable: - playfram 0x00 - wait 2 - goto SyntheticSynodWorkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1191 Pariah (cm\protoss\pariah.grp) -.headerstart -IsId 502 -Type 21 -Init PariahInit -Death PariahDeath -GndAttkInit PariahGndAttkInit -AirAttkInit PariahGndAttkInit -Unused1 [NONE] -GndAttkRpt PariahGndAttkInit -AirAttkRpt PariahGndAttkInit -CastSpell [NONE] -GndAttkToIdle PariahGndAttkToIdle -AirAttkToIdle PariahGndAttkToIdle -Unused2 [NONE] -Walking PariahWalking -WalkingToIdle PariahWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn PariahWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -PariahInit: - imgul 1192 0 2 # Pariah Shadow (cm\protoss\pariah-shadow.grp) -PariahWalkingToIdle: - playfram 0xdd - goto ScourgeLocal00 - -PariahDeath: - playsndbtwn 1242 1245 # Pariah death 01, 02, 03 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 2 - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 3 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -PariahGndAttkInit: - playfram 0xdd - wait 1 - nobrkcodestart - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - playsndbtwn 1447 1449 # Pariah weapon fire 01, 02, 03 - imgoluselo 1195 0 0 # Blue projection blade - attkshiftproj 24 - wait 1 - attkshiftproj 48 - wait 1 - playfram 0x121 - attkshiftproj 72 - sigorder 32 - wait 1 - playfram 0x132 - attkshiftproj 100 - wait 1 - playfram 0x143 - wait 1 - imgoluselo 1195 0 0 # Blue projection blade - attkshiftproj 24 - wait 1 - attkshiftproj 48 - sigorder 32 - wait 1 - playfram 0x154 - attkshiftproj 72 - wait 1 - playfram 0xdd - attkshiftproj 100 - sigorder 32 - wait 1 - nobrkcodeend - gotorepeatattk - goto PariahGndAttkToIdle - -PariahGndAttkToIdle: - sigorder 32 - goto PariahWalkingToIdle - -PariahWalking: - move 6 - wait 1 - playfram 0x00 - move 6 - wait 1 - playfram 0x11 - move 6 - wait 1 - playfram 0x22 - move 6 - wait 1 - playfram 0x33 - move 6 - wait 1 - playfram 0x44 - move 6 - wait 1 - playfram 0x55 - move 6 - wait 1 - playfram 0x66 - move 6 - wait 1 - playfram 0x77 - goto PariahWalking - -PariahWarpIn: - imgol 125 0 0 # Pariah Warp Flash (protoss\pariah.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1193 Talos (cm\terran\talos.grp) -.headerstart -IsId 503 -Type 15 -Init TalosInit -Death TalosDeath -GndAttkInit TalosGndAttkInit -AirAttkInit TalosGndAttkInit -Unused1 [NONE] -GndAttkRpt TalosGndAttkRpt -AirAttkRpt TalosGndAttkRpt -CastSpell [NONE] -GndAttkToIdle TalosGndAttkToIdle -AirAttkToIdle TalosGndAttkToIdle -Unused2 [NONE] -Walking TalosWalking -WalkingToIdle TalosGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TalosAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -TalosInit: - imgul 1194 0 42 # Talos Shadow (cm\terran\talos.grp) - playfram 0x00 - wait 2 -TalosGndAttkToIdle: - playfram 0x00 - goto TalosLocal69 -TalosLocal69: - setvertpos 0 - wait 8 - setvertpos 1 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - goto TalosLocal69 - -TalosDeath: - playsndbtwn 1304 1307 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 42 # Terran Unit Rubble Small - wait 1 - end - -TalosGndAttkInit: - playfram 0x00 -TalosGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x20 - wait 1 - playfram 0x40 - playsndbtwn 2012 2013 # Talos weaponfire 01, 02 - attackwith 1 - wait 1 - playfram 0x20 - wait 1 - nobrkcodeend - gotorepeatattk - goto TalosGndAttkToIdle - -TalosWalking: - setvertpos 0 - goto ScourgeLocal00 - -TalosAlmostBuilt: - setvertpos 0 - playfram 0x20 - wait 1 -TalosLocal00: - playfram 0x40 - useweapon 14 # Fusion Cutter (Harvest) (Fusion Cutter) - sigorder 32 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - wait 11 - goto TalosLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1195 Pariah Attack Overlay (cm\protoss\pariah-attack.grp) -.headerstart -IsId 504 -Type 1 -Init PariahAttackOverlayInit -Death PariahAttackOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -PariahAttackOverlayInit: - goto PariahAttackOverlayLocal00 - -PariahAttackOverlayLocal00: - 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 PariahAttackOverlayDeath - -PariahAttackOverlayDeath: - nobrkcodeend - gotorepeatattk - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1196 Gladius Weapon (cm\protoss\gladius-weapon.grp) -.headerstart -IsId 505 -Type 13 -Init GladiusWeaponInit -Death GladiusWeaponDeath -GndAttkInit GladiusWeaponGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GladiusWeaponSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -GladiusWeaponInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -GladiusWeaponGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - goto GladiusWeaponGndAttkInit - -GladiusWeaponDeath: - sprol 606 0 0 # Warden Hit (thingy\phohit.grp) - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - wait 1 - end - -GladiusWeaponSpecialState1: - sprol 606 0 0 # Warden Hit (thingy\phohit.grp) - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - goto GladiusWeaponGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1207 Bactalisk (cm\zerg\bactalisk.grp) -.headerstart -IsId 506 -Type 26 -Init BactaliskInit -Death BactaliskDeath -GndAttkInit BactaliskGndAttkInit -AirAttkInit BactaliskGndAttkInit -Unused1 BactaliskUnused1 -GndAttkRpt BactaliskGndAttkInit -AirAttkRpt BactaliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle BactaliskGndAttkToIdle -AirAttkToIdle BactaliskGndAttkToIdle -Unused2 [NONE] -Walking BactaliskWalking -WalkingToIdle BactaliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 BactaliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow BactaliskBurrow -UnBurrow BactaliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BactaliskInit: - imgul 1208 0 0 # Bactalisk Shadow (cm\zerg\bactalisk-shad.grp) -BactaliskWalkingToIdle: - playfram 0xcc - goto BactaliskLocal00 -BactaliskLocal00: - wait 63 - randcondjmp 25 BactaliskLocal01 - randcondjmp 128 BactaliskLocal02 - goto BactaliskLocal00 - -BactaliskLocal01: - playfram 0x00 - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 25 - playfram 0xdd - wait 1 - playfram 0xcc - wait 1 - playfram 0x00 - wait 1 - goto BactaliskWalkingToIdle - -BactaliskLocal02: - 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 BactaliskWalkingToIdle - -BactaliskDeath: - playsnd 2539 # Bactalisk death 01 - setfldirect 0 - playfram 561 - wait 2 - playfram 562 - wait 2 - playfram 563 - wait 2 - playfram 564 - wait 2 - playfram 565 - wait 2 - playfram 566 - wait 2 - playfram 567 - wait 2 - playfram 568 - wait 2 - lowsprul 617 0 0 # Bactalisk Remnants (cm\zerg\bactalisk-death.grp) - wait 1 - end - -BactaliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 # Hydralisk Revive 01 - playfram 567 - wait 2 - playfram 566 - wait 2 - playfram 565 - wait 2 - playfram 564 - wait 2 - playfram 563 - wait 2 - playfram 562 - wait 2 - playfram 561 - wait 2 - setfldirect 14 - nobrkcodeend - goto BactaliskWalkingToIdle - -BactaliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - playsndbtwn 2850 2852 # Bactalisk weaponfire 01, 02, 03 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - attackwith 1 - wait 2 - playfram 0x110 - attackwith 1 - wait 2 - playfram 0x121 - attackwith 1 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - wait 2 - playfram 0x132 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -BactaliskGndAttkToIdle: - playfram 0x00 - wait 1 - goto BactaliskWalkingToIdle - -BactaliskWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0x00 - goto BactaliskWalking - -BactaliskSpecialState2: - playfram 280 # Frame set 16, direction 8 - goto ScourgeLocal00 - -BactaliskBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 219 - wait 1 - playfram 0x1ba - wait 1 - playfram 0x1cb - wait 1 - playfram 0x1dc - wait 1 - playfram 0x1ed - wait 1 - playfram 0x1fe - wait 1 - playfram 0x20f - wait 1 - playfram 0x220 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -BactaliskUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x20f - wait 1 - playfram 0x1fe - wait 1 - playfram 0x1ed - wait 1 - playfram 0x1dc - wait 1 - playfram 0x1cb - wait 1 - playfram 0x1ba - wait 1 - sigorder 4 - goto BactaliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1002 Pennant (cm\protoss\pennant.grp) -.headerstart -IsId 507 -Type 27 -Init PennantInit -Death PennantDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 PennantSpecialState1 -SpecialState2 PennantSpecialState2 -AlmostBuilt PennantAlmostBuilt -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking PennantIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn PennantAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable InfestedTerranWalkingToIdle -Burrow [NONE] -UnBurrow [NONE] -Enable PennantEnable -.headerend -# ----------------------------------------------------------------------------- # - -PennantInit: - imgul 1209 0 0 # Pennant Shadow (cm\protoss\pennant-shad.grp) - goto InfestedTerranWalkingToIdle - -PennantDeath: - playfram 0x00 - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -PennantSpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - goto ScourgeLocal00 - -PennantSpecialState2: - wait 1 - goto InfestedTerranWalkingToIdle - -PennantAlmostBuilt: - imgol 1210 0 0 # Pennant Warp Flash (cm\protoss\pennant.grp) - goto ScourgeLocal00 - -PennantIsWorking: - 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 - goto PennantIsWorking - -PennantEnable: - playfram 0x00 - wait 2 - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1211 Cyclops Weapon Hit (cm\terran\cyclops-weaponhit.grp) -.headerstart -IsId 508 -Type 2 -Init CyclopsWeaponHitInit -Death CyclopsWeaponHitDeath -GndAttkInit CyclopsWeaponHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CyclopsWeaponHitInit: - wait 1 - sigorder 1 - wait 1 -CyclopsWeaponHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1212 Maelstrom Projectile (cm\protoss\maelstrom-weapon.grp) -.headerstart -IsId 509 -Type 2 -Init MaelstromProjectileInit -Death MaelstromProjectileDeath -GndAttkInit MaelstromProjectileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MaelstromProjectileInit: - playsnd 99 # Bullet\DragBull.wav - wait 1 - sigorder 1 - wait 1 -MaelstromProjectileGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - goto MaelstromProjectileGndAttkInit - -MaelstromProjectileDeath: - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1213 Kalkalisk (cm\zerg\kalkalisk.grp) -.headerstart -IsId 510 -Type 12 -Init KalkaliskInit -Death KalkaliskDeath -GndAttkInit KalkaliskGndAttkInit -AirAttkInit KalkaliskGndAttkInit -Unused1 [NONE] -GndAttkRpt KalkaliskGndAttkInit -AirAttkRpt KalkaliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle KalkaliskGndAttkToIdle -AirAttkToIdle KalkaliskGndAttkToIdle -Unused2 [NONE] -Walking KalkaliskWalking -WalkingToIdle KalkaliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KalkaliskInit: - imgul 1214 0 42 # Kalkalisk Shadow (cm\zerg\kalkalisk.grp) - playfram 0x00 - wait 2 -KalkaliskGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0x00 - wait 2 - goto KalkaliskGndAttkToIdle - -KalkaliskDeath: - playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV - imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -KalkaliskGndAttkInit: - playfram 0xC0 - wait 1 - nobrkcodestart - playfram 0xE0 - wait 1 - playfram 0x100 - playsndbtwn 1316 1318 # Kalkalisk attack 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - nobrkcodeend - gotorepeatattk - goto KalkaliskGndAttkToIdle - -KalkaliskWalking: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x00 - wait 1 - goto KalkaliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1215 Zorkiz Shroud (cm\zerg\zorkiz-shroud.grp) -.headerstart -IsId 511 -Type 20 -Init ZorkizShroudInit -Death ZorkizShroudDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ZorkizShroudAlmostBuilt -Built ZorkizShroudBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ZorkizShroudIsWorking -WorkingToIdle ZorkizShroudWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZorkizShroudInit: - playfram 0x00 - imgul 1216 0 0 # Zorkiz Shroud Shadow (cm\zerg\zorkiz-shroud-shadow.grp) - goto ZorkizShroudWorkingToIdle - -ZorkizShroudWorkingToIdle: - 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 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - goto ZorkizShroudWorkingToIdle - -ZorkizShroudDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -ZorkizShroudAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto ZorkizShroudBuilt - -ZorkizShroudBuilt: - playfram 0x00 - wait 2 - goto ZorkizShroudWorkingToIdle - -ZorkizShroudIsWorking: - playfram 1 - wait 1 - 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 9 - wait 1 - playfram 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 2 - goto ZorkizShroudIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1217 Manifold (cm\protoss\manifold.grp) -.headerstart -IsId 512 -Type 21 -Init ManifoldInit -Death ManifoldDeath -GndAttkInit ManifoldGndAttkInit -AirAttkInit ManifoldGndAttkInit -Unused1 [NONE] -GndAttkRpt ManifoldGndAttkInit -AirAttkRpt ManifoldGndAttkInit -CastSpell [NONE] -GndAttkToIdle ManifoldGndAttkToIdle -AirAttkToIdle ManifoldGndAttkToIdle -Unused2 [NONE] -Walking ManifoldWalking -WalkingToIdle ManifoldWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ManifoldWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ManifoldInit: - imgul 1218 0 -1 # Manifold Shadow (cm\protoss\manifold-shad.grp) - playfram 0x00 - wait 1 - goto DidactGndAttkToIdle - -ManifoldGndAttkToIdle: - playfram 0x00 - wait 1 - goto DidactGndAttkToIdle - -ManifoldDeath: - playsndbtwn 3138 3140 # Manifold death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 945 0 0 # Manifold remains (cm\protoss\manifold-death.grp) - wait 1 - end - -ManifoldGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - attackwith 1 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - ignorerest - goto ManifoldGndAttkToIdle - -ManifoldWalking: - playfram 0x00 - goto ManifoldGndAttkToIdle - -ManifoldWalkingToIdle: - playfram 0x00 - goto ManifoldGndAttkToIdle - -ManifoldWarpIn: - imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ManifoldGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1219 Architect (cm\protoss\architect.grp) -.headerstart -IsId 513 -Type 21 -Init ArchitectInit -Death ArchitectDeath -GndAttkInit ArchitectGndAttkInit -AirAttkInit ArchitectGndAttkInit -Unused1 [NONE] -GndAttkRpt ArchitectGndAttkInit -AirAttkRpt ArchitectGndAttkInit -CastSpell [NONE] -GndAttkToIdle ArchitectGndAttkToIdle -AirAttkToIdle ArchitectGndAttkToIdle -Unused2 [NONE] -Walking ArchitectWalking -WalkingToIdle ArchitectWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ArchitectInit: - imgul 1220 0 0 # Architect Shadow (cm\protoss\architect.grp) -ArchitectGndAttkToIdle: - playfram 0x00 - goto ArchitectWalkingToIdle - -ArchitectWalkingToIdle: - setvertpos 0 - goto ScourgeLocal00 - -ArchitectDeath: - playsnd 1334 # Architect death 01 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble Small - wait 1 - end - -ArchitectGndAttkInit: - nobrkcodestart - playsnd 1557 # Architect charge 01 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 8 - playsndbtwn 1413 1415 # Architect weapon fire 01, 02, 03 - playfram 0x20 - attackwith 1 - wait 2 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -ArchitectWalking: - setvertpos 0 - imgol 1221 0 0 # Architect Engines (cm\protoss\architect-engine.grp) - goto ArchitectWalking2 - -ArchitectWalking2: - move 4 - wait 1 - goto ArchitectWalking2 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1222 Kalkalisk Birth (zerg\cocoon.grp) -.headerstart -IsId 514 -Type 13 -Init KalkaliskBirthInit -Death ZergCocoonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 KalkaliskBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -KalkaliskBirthInit: - imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) - goto ZergCocoonWalking - -KalkaliskBirthSpecialState1: - wait 1 - nobrkcodestart - playfram 15 - wait 2 - playfram 42 - wait 2 - playfram 43 - wait 2 - playfram 44 - wait 2 - playfram 45 - wait 2 - playfram 46 - wait 2 - playfram 47 - wait 2 - playfram 48 - wait 2 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1223 Iroleth Birth (zerg\cocoon.grp) -.headerstart -IsId 515 -Type 13 -Init IrolethBirthInit -Death ZergCocoonDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 IrolethBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -IrolethBirthInit: - imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) - goto ZergCocoonWalking - -IrolethBirthSpecialState1: - wait 1 - nobrkcodestart - playfram 15 - wait 2 - playfram 35 - wait 2 - playfram 36 - wait 2 - playfram 37 - wait 2 - playfram 38 - wait 2 - playfram 39 - wait 2 - playfram 40 - wait 2 - playfram 41 - wait 2 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1227 Bactith Swamp (cm\zerg\lakizden.grp) -.headerstart -IsId 517 -Type 20 -Init BactaliskDenInit -Death BactaliskDenDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt BactaliskDenAlmostBuilt -Built BactaliskDenBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking BactaliskDenIsWorking -WorkingToIdle BactaliskDenWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BactaliskDenInit: - imgul 1228 0 0 # Bactalisk Den Shadow (cm\zerg\lakizden-shad.grp) - playfram 0x00 - goto BactaliskDenWorkingToIdle - -BactaliskDenWorkingToIdle: - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 3 - playfram 2 - wait 2 - playfram 1 - wait 1 - playfram 0x00 - goto BactaliskDenWorkingToIdle - -BactaliskDenDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -BactaliskDenAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -BactaliskDenBuilt: - playfram 0x00 - wait 2 - goto BactaliskDenWorkingToIdle - -BactaliskDenIsWorking: - wait 1 - playfram 1 - wait 2 - playfram 2 - wait 1 - playfram 3 - wait 2 - playfram 2 - wait 1 - playfram 1 - wait 2 - playfram 0x00 - goto BactaliskDenIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1229 Burst Lasers (Silent) (thingy\elbfireW.grp) -.headerstart -IsId 518 -Type 2 -Init BurstLasersSilentInit -Death BurstLasersSilentDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BurstLasersSilentInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -BurstLasersSilentDeath: - imgol 1248 0 0 # Burst Lasers Hit Damaging (thingy\elbHit.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1230 Observance Cast Overlay (cm\effect\observance-casteffect.grp) -.headerstart -IsId 519 -Type 1 -Init ObservanceCastInit -Death ObservanceCastDeath -.headerend -# ----------------------------------------------------------------------------- # - -ObservanceCastInit: - playfram 0x00 - wait 2 - goto ObservanceCastLocal00 - -ObservanceCastLocal00: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - goto ObservanceCastDeath - -ObservanceCastDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1231 Observance Overlay (cm\effect\observance-large.grp) -# 1232 Observance Overlay (cm\effect\observance-medium.grp) -# 1233 Observance Overlay (cm\effect\observance-small.grp) -.headerstart -IsId 520 -Type 1 -Init ObservanceInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ObservanceInit: - playfram 0x00 - wait 2 -ObservanceLocal00: - playfram 1 - wait 2 - playfram 2 - wait 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 20 - wait 2 - playfram 21 - wait 2 - playfram 22 - wait 2 - playfram 23 - wait 2 - playfram 24 - wait 2 - playfram 25 - wait 2 - playfram 26 - wait 2 - playfram 27 - wait 2 - playfram 28 - wait 2 - playfram 29 - wait 2 - playfram 30 - wait 2 - playfram 31 - wait 2 - playfram 32 - wait 2 - playfram 33 - wait 2 - playfram 34 - wait 2 - playfram 35 - wait 2 - playfram 36 - wait 2 - playfram 37 - wait 2 - goto ObservanceLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1240 Terran Heavy Missile (cm\terran\pegasus-missile.grp) -.headerstart -IsId 521 -Type 2 -Init TerranHeavyMissileInit -Death TerranHeavyMissileDeath -GndAttkInit TerranHeavyMissileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TerranHeavyMissileInit: - sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) - playfram 0x00 - wait 1 - sigorder 1 -TerranHeavyMissileGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto TerranHeavyMissileGndAttkInit - -TerranHeavyMissileDeath: - domissiledmg - if bullet.weapon_id == 159 goto TerranHeavyMissile_Aion # default case is Madrigal Imperioso Missiles - imgol 1749 0 0 # Heavy Missile Explosion Orange (cm\terran\heavy-missile-explosion-orange.grp) - playsndbtwn 2203 2205 # Madrigal Imperioso weaponhit 01, 02, 03 - wait 1 - end - -TerranHeavyMissile_Aion: - imgol 1750 0 0 # Heavy Missile Explosion Green (cm\terran\heavy-missile-explosion-orange.grp) - playsndbtwn 2203 2205 # Madrigal Imperioso weaponhit 01, 02, 03 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1243 Kalkalisk Spores (bullet\Spore2.grp) -.headerstart -IsId 522 -Type 2 -Init KalkaliskSporesInit -Death KalkaliskSporesDeath -GndAttkInit KalkaliskSporesGndAttkInit -AirAttkInit KalkaliskSporesAirAttkInit -.headerend -# ----------------------------------------------------------------------------- # - -KalkaliskSporesInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -KalkaliskSporesGndAttkInit: - sprol 936 0 0 # Spores Overlay Yellow (cm\zerg\spore-overlay-yellow.grp) - playfram 0x00 - wait 1 - sprol 936 0 0 # Spores Overlay Yellow - playfram 1 - wait 1 - sprol 936 0 0 # Spores Overlay Yellow - playfram 2 - wait 1 - sprol 936 0 0 # Spores Overlay Yellow - playfram 3 - wait 1 - sprol 936 0 0 # Spores Overlay Yellow - goto KalkaliskSporesGndAttkInit - -KalkaliskSporesDeath: - playsndbtwn 2396 2398 # Kalkalisk weaponhit 01, 02, 03 - sprol 939 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - #domissiledmg - sigorder 128 - wait 2 - end - -KalkaliskSporesAirAttkInit: - playsndbtwn 2396 2398 # Kalkalisk weaponhit 01, 02, 03 - sprol 939 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - goto KalkaliskSporesGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1244 Recall Field Final (thingy\recall.grp) -.headerstart -IsId 523 -Type 1 -Init RecallFieldFinInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -RecallFieldFinInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 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 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1245 Arclite Shock Cannon Hit (Silent) (thingy\mushroom.grp) -.headerstart -IsId 524 -Type 2 -Init ArcliteShockCannonHitSilentInit -Death ArcliteShockCannonHitSilentDeath -GndAttkInit ArcliteShockCannonHitSilentDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ArcliteShockCannonHitSilentInit: - wait 1 - sigorder 1 - wait 1 -ArcliteShockCannonHitSilentDeath: - playfram 0x00 - wait 1 - domissiledmg - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1246 Longbolt Missile (Silent) (bullet\missile.grp) -.headerstart -IsId 525 -Type 2 -Init LongboltMissileSilentInit -Death LongboltMissileSilentDeath -GndAttkInit LongboltMissileSilentGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LongboltMissileSilentInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -LongboltMissileSilentGndAttkInit: - sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) - wait 3 - goto LongboltMissileGndAttkInit - -LongboltMissileSilentDeath: -# if bullet.weapon_id == XX goto LongboltMissileSilent_XX # default case is Goliath Contender Missiles - playsndbtwn 2206 2207 # Goliath Missile weaponhit 01, 02 - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1248 Burst Lasers Impact (thingy\elbHit.grp) -# 1249 Burst Lasers Blue Impact (thingy\elbHit.grp) -.headerstart -IsId 526 -Type 1 -Init BurstLasersImpactInit -Death BurstLasersImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -BurstLasersImpactInit: - wait 1 - sigorder 1 - wait 1 -BurstLasersImpactDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1251 Planet Cracker Cast Effect (cm\effect\planetcracker-init.grp) -.headerstart -IsId 527 -Type 1 -Init PlanetCrackerCastEffectInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlanetCrackerCastEffectInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - playfram 62 - wait 1 - playfram 63 - wait 1 - playfram 64 - wait 1 - playfram 65 - wait 1 - playfram 66 - wait 1 - playfram 67 - wait 1 - playfram 68 - wait 1 - playfram 69 - wait 1 - playfram 70 - wait 1 - playfram 71 - wait 1 - playfram 72 - wait 1 - playfram 73 - wait 1 - playfram 74 - wait 1 - playfram 75 - wait 1 - playfram 76 - wait 1 - playfram 77 - wait 1 - playfram 78 - wait 1 - playfram 79 - wait 1 - playfram 80 - wait 1 - playfram 81 - wait 1 - playfram 82 - wait 1 - playfram 83 - wait 1 - playfram 84 - wait 1 - playfram 85 - wait 1 - playfram 86 - wait 1 - playfram 87 - wait 1 - playfram 88 - wait 1 - playfram 89 - wait 1 - playfram 90 - wait 1 - playfram 91 - wait 1 - playfram 92 - wait 1 - playfram 93 - wait 1 - playfram 94 - wait 1 - playfram 95 - wait 1 - playfram 96 - wait 1 - playfram 97 - wait 1 - playfram 98 - wait 1 - playfram 99 - wait 1 - playfram 100 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1252 Planet Cracker Beam (cm\effect\planetcracker-beam.grp) -.headerstart -IsId 528 -Type 1 -Init PlanetCrackerBeamInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlanetCrackerBeamInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - imgol 1105 0 30 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1253 Planet Cracker Blast Loop (cm\effect\planetcracker-blastloop.grp) -.headerstart -IsId 529 -Type 1 -Init PlanetCrackerBlastLoopInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlanetCrackerBlastLoopInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - playfram 62 - wait 1 - playfram 63 - wait 1 - playfram 64 - wait 1 - playfram 65 - wait 1 - playfram 66 - wait 1 - playfram 67 - wait 1 - playfram 68 - wait 1 - playfram 69 - wait 1 - playfram 70 - wait 1 - playfram 71 - wait 1 - playfram 72 - wait 1 - playfram 73 - wait 1 - playfram 74 - wait 1 - playfram 75 - wait 1 - playfram 76 - wait 1 - playfram 77 - wait 1 - playfram 78 - wait 1 - playfram 79 - wait 1 - playfram 80 - wait 1 - playfram 81 - wait 1 - playfram 82 - wait 1 - playfram 83 - wait 1 - playfram 84 - wait 1 - playfram 85 - wait 1 - playfram 86 - wait 1 - playfram 87 - wait 1 - playfram 88 - wait 1 - playfram 89 - wait 1 - playfram 90 - wait 1 - playfram 91 - wait 1 - playfram 92 - wait 1 - playfram 93 - wait 1 - playfram 94 - wait 1 - playfram 95 - wait 1 - playfram 96 - wait 1 - playfram 97 - wait 1 - playfram 98 - wait 1 - playfram 99 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1254 Planet Cracker Blast (cm\effect\planetcracker-blast.grp) -.headerstart -IsId 530 -Type 1 -Init PlanetCrackerBlastInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlanetCrackerBlastInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - playfram 62 - wait 1 - playfram 63 - wait 1 - playfram 64 - wait 1 - playfram 65 - wait 1 - playfram 66 - wait 1 - playfram 67 - wait 1 - playfram 68 - wait 1 - playfram 69 - wait 1 - playfram 70 - wait 1 - playfram 71 - wait 1 - playfram 72 - wait 1 - playfram 73 - wait 1 - playfram 74 - wait 1 - playfram 75 - wait 1 - playfram 76 - wait 1 - playfram 77 - wait 1 - playfram 78 - wait 1 - playfram 79 - wait 1 - playfram 80 - wait 1 - playfram 81 - wait 1 - playfram 82 - wait 1 - playfram 83 - wait 1 - playfram 84 - wait 1 - playfram 85 - wait 1 - playfram 86 - wait 1 - playfram 87 - wait 1 - playfram 88 - wait 1 - playfram 89 - wait 1 - playfram 90 - wait 1 - playfram 91 - wait 1 - playfram 92 - wait 1 - playfram 93 - wait 1 - playfram 94 - wait 1 - playfram 95 - wait 1 - playfram 96 - wait 1 - playfram 97 - wait 1 - playfram 98 - wait 1 - playfram 99 - wait 1 - playfram 100 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1255 Diadem (Base) (cm\terran\ioncannon-base.grp) -.headerstart -IsId 531 -Type 24 -Init IonCannonBaseInit -Death IonCannonBaseDeath -GndAttkInit IonCannonBaseGndAttkInit -AirAttkInit IonCannonBaseGndAttkInit -Unused1 [NONE] -GndAttkRpt IonCannonBaseGndAttkRpt -AirAttkRpt IonCannonBaseGndAttkRpt -CastSpell [NONE] -GndAttkToIdle IonCannonBaseGndAttkToIdle -AirAttkToIdle IonCannonBaseGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt IonCannonBaseAlmostBuilt -Built IonCannonBaseBuilt -Landing IonCannonBaseLanding -LiftOff IonCannonBaseLiftOff -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonBaseInit: - playfram 0x00 - imgul 1258 -27 0 # Ion Cannon shadow - imgul 1452 0 0 # Ion Cannon mouse response - goto ScourgeLocal00 - -IonCannonBaseDeath: - playsnd 7 - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -IonCannonBaseGndAttkInit: - playfram 0x20 - wait 3 - playfram 0x40 -IonCannonBaseGndAttkRpt: - wait 1 - nobrkcodestart - playsnd 1319 # ioncannon-charge-01 - sigorder 32 - wait 71 - attackwith 1 - wait 8 - sproluselo 755 0 # ioncannon-attack-B - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -IonCannonBaseGndAttkToIdle: - playfram 0x20 - wait 3 - playfram 0x00 - goto ScourgeLocal00 - -IonCannonBaseAlmostBuilt: - playfram 0xCC - setfldirect 20 - goto ScourgeLocal00 - -IonCannonBaseLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0x00 - wait 1 - playfram 0x60 - wait 8 - playfram 0x80 - wait 8 - playfram 0xA0 - wait 8 - playfram 0xC0 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -IonCannonBaseLanding: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV - wait 8 - playfram 0xA0 - wait 8 - playfram 0x80 - wait 8 - playfram 0x60 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -IonCannonBaseBuilt: - playfram 0x00 - wait 1 - tmprmgraphicstart - imgol 1453 -128 -128 # ioncannon-attack-A1 - imgol 1278 127 -128 # ioncannon-attack-A2 - imgol 1701 -128 127 # ioncannon-attack-A3 - imgol 1702 127 127 # ioncannon-attack-A4 - imgol 1256 -1 -38 # ioncannon-turret - setfldirect 20 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1256 Ion Cannon (Turret) (cm\terran\ioncannon-turret.grp) -# 1258 Ion Cannon Shadow (cm\effect\ioncannon-shadow.grp) -.headerstart -IsId 532 -Type 1 -Init ShadowHeaderInit -Death IonCannonTurretDeath -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonTurretDeath: - wait 4 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1452 Ion Cannon Mouse Response (cm\effect\ioncannon-clicky.grp) -.headerstart -IsId 628 -Type 1 -Init IonCannonAttackAInit -Death IonCannonTurretDeath -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1260 Ion Cannon Ion Field (cm\effect\ioncannon-ionfield.grp) -.headerstart -IsId 533 -Type 1 -Init IonCannonIonFieldInit -Death IonCannonIonFieldDeath -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonIonFieldInit: - playsndbtwn 1443 1446 # Ion Cannon weapon hit 01, 02, 03, 04 - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 -IonCannonIonFieldLocal00: - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - goto IonCannonIonFieldLocal00 - -IonCannonIonFieldDeath: - playfram 20 - wait 1 - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 17 - wait 1 - playfram 16 - wait 1 - playfram 15 - wait 1 - playfram 14 - wait 1 - playfram 13 - wait 1 - playfram 12 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 9 - wait 1 - playfram 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1263 Burst Lasers (Explosive) (thingy\elbfireW.grp) -.headerstart -IsId 534 -Type 2 -Init BurstLasersExplosiveInit -Death BurstLasersExplosiveDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BurstLasersExplosiveInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -BurstLasersExplosiveDeath: - imgol 1245 0 0 # Arclite Shock Cannon Hit Silent (thingy\mushroom.grp) - if bullet.weapon_id == 39 goto BurstLasersExplosiveDeathPenumbra - playsnd 2859 # Phalanx Siege weaponhit 01 - goto BurstLasersExplosiveDeathFinal - -BurstLasersExplosiveDeathPenumbra: - playsndbtwn 2765 2766 # Penumbra weaponhit 01, 02 -BurstLasersExplosiveDeathFinal: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1265 Lazarus Agent Cast (cm\effect\lazarusagent-cast.grp) -.headerstart -IsId 535 -Type 1 -Init LazarusAgentCastInit -Death LazarusAgentCastDeath -.headerend -# ----------------------------------------------------------------------------- # - -LazarusAgentCastInit: - playfram 0x00 - wait 1 -LazarusAgentCastLocal00: - playfram 1 - wait 1 - 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 - goto LazarusAgentCastDeath - -LazarusAgentCastDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1266 Lazarus Agent Revive (cm\effect\lazarusagent-revive.grp) -.headerstart -IsId 536 -Type 1 -Init LazarusAgentReviveInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -LazarusAgentReviveInit: - playfram 0x00 - wait 1 -LazarusAgentReviveLocal00: - playfram 2 - wait 1 - playfram 4 - wait 1 - playfram 6 - wait 1 - playfram 8 - wait 1 - playfram 10 - wait 1 - playfram 12 - wait 1 - playfram 14 - wait 1 - playfram 16 - wait 1 - playfram 18 - wait 1 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1267 Sublime Shepherd Overlay (cm\effect\sublimeshepherd-overlay.grp) -# 1466 Sublime Shepherd Overlay (Large)(cm\effect\sublimeshepherd-overlay-large.grp) -# 1467 Sublime Shepherd Overlay (Medium)(cm\effect\sublimeshepherd-overlay-medium.grp) -# 1468 Sublime Shepherd Overlay (Small)(cm\effect\sublimeshepherd-overlay-small.grp) -.headerstart -IsId 537 -Type 1 -Init SublimeShepherdOverlayInit -Death SublimeShepherdOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -SublimeShepherdOverlayInit: - playfram 0x00 - wait 1 -SublimeShepherdOverlayLocal00: - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 0x00 - wait 1 - goto SublimeShepherdOverlayLocal00 - -SublimeShepherdOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1272 Khaydarin Eclipse (large) (cm\effect\khaydarineclipse-large.grp) -# 1273 Khaydarin Eclipse (medium) (cm\effect\khaydarineclipse-medium.grp) -# 1274 Khaydarin Eclipse (small) (cm\effect\khaydarineclipse-small.grp) -# 1275 Protoss Accelerant (large) (cm\effect\cruciblepennant-large.grp) -# 1276 Protoss Accelerant (medium) (cm\effect\cruciblepennant-medium.grp) -# 1277 Protoss Accelerant (small) (cm\effect\cruciblepennant-small.grp) -.headerstart -IsId 538 -Type 1 -Init KhaydarinEclipseProtossAccelerantInit -Death KhaydarinEclipseProtossAccelerantDeath -.headerend -# ----------------------------------------------------------------------------- # - -KhaydarinEclipseProtossAccelerantInit: - playfram 0x00 - wait 1 -KhaydarinEclipseProtossAccelerantLocal00: - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 0x00 - wait 1 - goto KhaydarinEclipseProtossAccelerantLocal00 - -KhaydarinEclipseProtossAccelerantDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1968 Piety Ward (cm\faction-t\piety-ward.grp) -.headerstart -IsId 539 -Type 26 -Init PietyWardInit -Death SpiderMineDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 SpiderMineUnused2 -Walking SpiderMineWalking -WalkingToIdle SpiderMineWalkingToIdle -SpecialState1 SpiderMineSpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow SpiderMineBurrow -UnBurrow SpiderMineUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PietyWardInit: - imgul 1969 0 0 # Piety Ward Shadow (cm\faction-t\piety-ward-shadow.grp) - goto SpiderMineWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1277 Lobotomy Mine Death (thingy\tmnExplo.grp) -.headerstart -IsId 540 -Type 1 -Init ScourgeLocal00 -Death LobotomyMineExplosionDeath -.headerend -# ----------------------------------------------------------------------------- # - -LobotomyMineExplosionDeath: - playsnd 1309 - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1278 Ion Cannon Overlay (cm\ion-cannon-overlay.grp) -.headerstart -IsId 541 -Type 1 -Init IonOverlayInit -Death IonOverlayInit -.headerend -# ----------------------------------------------------------------------------- # - -IonOverlayInit: - followmaingraphic - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1279 Seeker Spores Silent (bullet\Spore2.grp) -.headerstart -IsId 542 -Type 2 -Init SeekerSporesSilentInit -Death SeekerSporesSilentDeathGen -GndAttkInit SeekerSporesSilentGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SeekerSporesSilentInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - if bullet.weapon_id == 54 goto SeekerSporesSilentGndAttkInitSkithrokor -SeekerSporesSilentGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - playfram 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay - goto SeekerSporesSilentGndAttkInit - -SeekerSporesSilentGndAttkInitSkithrokor: - sprol 935 0 0 # Spores Overlay Orange Small (cm\zerg\spore-overlay-orange-small.grp) - playfram 0x00 - wait 1 - sprol 935 0 0 # Spores Overlay Orange Small - playfram 1 - wait 1 - sprol 935 0 0 # Spores Overlay Orange Small - playfram 2 - wait 1 - sprol 935 0 0 # Spores Overlay Orange Small - playfram 3 - wait 1 - sprol 935 0 0 # Spores Overlay Orange Small - goto SeekerSporesSilentGndAttkInitSkithrokor - -SeekerSporesSilentDeathGen: - if bullet.weapon_id == 52 goto SeekerSporesSilentDeathSpraith - playsnd 79 # Bullet\ZLuHit00.wav - goto SeekerSporesSilentDeath - -SeekerSporesSilentDeathSpraith: - playsndbtwn 1194 1195 # Spraith Cesiant weaponhit 01, 02 -SeekerSporesSilentDeath: - if bullet.weapon_id == 54 goto SeekerSporesSilentDeathSkithrokor - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -SeekerSporesSilentDeathSkithrokor: - sprol 938 0 0 # Spore Hit Orange Small (cm\zerg\spore-hit-orange-small.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1280 Ion Field (cm\effect\ioncannon-ionfield.grp) -.headerstart -IsId 543 -Type 1 -Init IonFieldInit -Death IonFieldDeath -.headerend -# ----------------------------------------------------------------------------- # - -IonFieldInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 0x11 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 -IonFieldLocal00: - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 0x22 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 0x33 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - goto IonFieldLocal00 - -IonFieldDeath: - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 17 - wait 1 - playfram 16 - wait 1 - playfram 15 - wait 1 - playfram 14 - wait 1 - playfram 13 - wait 1 - playfram 12 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 9 - wait 1 - playfram 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1281 Ensnaring Brood Overlay (cm\effect\ensaringbrood-overlay.grp) -.headerstart -IsId 544 -Type 1 -Init EnsnaringBroodOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -EnsnaringBroodOverlayInit: - playfram 1 - wait 1 - playfram 2 - 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 -EnsnaringBroodOverlayLocal00: - wait 1 - tmprmgraphicstart - wait 4 - tmprmgraphicend - playfram 1 - wait 1 - playfram 2 - 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 - goto EnsnaringBroodOverlayLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1200 Ion Cannon Projectile (cm\effect\ioncannon-projectile.grp) -.headerstart -IsId 545 -Type 2 -Init IonCannonProjectileInit -Death IonCannonProjectileDeath -GndAttkInit IonCannonProjectileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonProjectileInit: - playfram 0x00 - playsndbtwn 1320 1322 #ioncannon-att-01, 02, 03 - wait 1 - sigorder 1 - wait 2 - playfram 0x11 - wait 3 - playfram 0x22 -IonCannonProjectileGndAttkInit: - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - wait 2 - playfram 0x88 - wait 2 - playfram 0x99 - wait 2 - playfram 0xAA - goto IonCannonProjectileGndAttkInit - -IonCannonProjectileDeath: - playfram 0xBB - imgol 1105 0 0 # Ion Cannon Ion Field - domissiledmg - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1286 Quazilisk (cm\zerg\quazilisk.grp) -.headerstart -IsId 546 -Type 26 -Init QuaziliskInit -Death QuaziliskDeath -GndAttkInit QuaziliskGndAttkInit -AirAttkInit QuaziliskGndAttkInit -Unused1 QuaziliskUnused1 -GndAttkRpt QuaziliskGndAttkRpt -AirAttkRpt QuaziliskGndAttkRpt -CastSpell [NONE] -GndAttkToIdle QuaziliskGndAttkToIdle -AirAttkToIdle QuaziliskGndAttkToIdle -Unused2 [NONE] -Walking QuaziliskWalking -WalkingToIdle QuaziliskGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 QuaziliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow QuaziliskBurrow -UnBurrow QuaziliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -QuaziliskInit: - imgul 1287 0 0 # Quazilisk Shadow (cm\zerg\quazilisk-shad.grp) -QuaziliskGndAttkToIdle: - playfram 0x00 - goto QuaziliskLocal00 - -QuaziliskLocal00: - wait 62 - randcondjmp 43 QuaziliskLocal01 - randcondjmp 51 QuaziliskLocal02 - randcondjmp 128 QuaziliskLocal03 - goto QuaziliskLocal00 - -QuaziliskLocal01: - playfram 0x100 - wait 1 - turnccwise 1 - playfram 0xE0 - wait 1 - turnccwise 1 - playfram 0xC0 - wait 1 - turnccwise 1 - playfram 0xE0 - wait 1 - turnccwise 1 - playfram 0x100 - wait 1 - turnccwise 1 - goto QuaziliskGndAttkToIdle - -QuaziliskLocal02: - playfram 0x100 - wait 1 - turncwise 1 - playfram 0xE0 - wait 1 - turncwise 1 - playfram 0xC0 - wait 1 - turncwise 1 - playfram 0xE0 - wait 1 - turncwise 1 - playfram 0x100 - wait 1 - turncwise 1 - goto QuaziliskGndAttkToIdle - -QuaziliskLocal03: - playfram 0x100 - wait 1 - playfram 0xE0 - randcondjmp 85 QuaziliskLocal04 - goto QuaziliskLocal06 - -QuaziliskLocal04: - randcondjmp 128 QuaziliskLocal05 - turnccwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turnccwise 1 - waitrand 8 20 - randcondjmp 25 QuaziliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turncwise 1 - goto QuaziliskLocal06 - -QuaziliskLocal05: - turncwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turncwise 1 - waitrand 8 20 - randcondjmp 25 QuaziliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 QuaziliskLocal06 - turnccwise 1 - goto QuaziliskLocal06 - -QuaziliskLocal06: - wait 1 - waitrand 7 19 - playfram 0x100 - wait 1 - goto QuaziliskGndAttkToIdle - -QuaziliskDeath: - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - playsndbtwn 1707 1708 # Quazilisk death 01, 02 - setfldirect 0 - playfram 672 - wait 1 - playfram 673 - wait 1 - playfram 674 - wait 1 - playfram 675 - wait 1 - playfram 676 - wait 1 - playfram 677 - wait 1 - playfram 678 - wait 1 - lowsprul 814 0 0 # Quazilisk Remains - wait 1 - end - -QuaziliskUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - wait 5 - playsndbtwn 1721 1722 # Quazilisk revive 01, 02 - wait 3 - sprol 754 0 0 - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto QuaziliskGndAttkToIdle - -QuaziliskGndAttkInit: - playfram 0x200 -QuaziliskGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x200 - imgol 1752 0 0 # Quazilisk Attack Overlay - attack - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x220 - wait 1 - playfram 0x200 - nobrkcodeend - gotorepeatattk - goto QuaziliskGndAttkToIdle - -QuaziliskWalking: - move 5 - wait 1 - playfram 0x20 - move 5 - wait 1 - playfram 0x40 - move 5 - wait 1 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - move 5 - wait 1 - playfram 0x100 - goto QuaziliskWalking - -QuaziliskSpecialState2: - playfram 0x1E0 - goto ScourgeLocal00 - -QuaziliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1E0 - sigorder 4 - goto ScourgeLocal00 - -QuaziliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x1C0 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - sigorder 4 - goto QuaziliskGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1290 Almaksalisk (cm\zerg\almaksalisk.grp) -.headerstart -IsId 547 -Type 12 -Init AlmaksaliskInit -Death AlmaksaliskDeath -GndAttkInit AlmaksaliskGndAttkInit -AirAttkInit AlmaksaliskGndAttkInit -Unused1 AlmaksaliskUnused1 -GndAttkRpt AlmaksaliskGndAttkInit -AirAttkRpt AlmaksaliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle AlmaksaliskGndAttkToIdle -AirAttkToIdle AlmaksaliskGndAttkToIdle -Unused2 [NONE] -Walking AlmaksaliskWalking -WalkingToIdle AlmaksaliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AlmaksaliskInit: - imgul 1291 0 42 # Almaksalisk Shadow (cm\zerg\almaksalisk.grp) - playfram 0x00 - wait 2 -AlmaksaliskGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - goto AlmaksaliskGndAttkToIdle - -AlmaksaliskDeath: - playsnd 867 # Zerg\Hydra\ZHyDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -AlmaksaliskUnused1: - playfram 0x00 - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1173 # Hydralisk revive 01 - wait 8 - sprol 753 0 0 # Zerg Air Explosion Large Reversed - wait 10 - setfldirect 12 - tmprmgraphicend - playfram 0x00 - wait 2 - nobrkcodeend - goto AlmaksaliskGndAttkToIdle - -AlmaksaliskGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1299 1300 # Almaksalisk weaponfire 01, 02 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - attackwith 1 - wait 2 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - attackwith 1 - wait 2 - nobrkcodeend - gotorepeatattk - goto AlmaksaliskGndAttkToIdle - -AlmaksaliskWalking: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0xC0 - wait 1 - goto AlmaksaliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1282 Zoryusthaleth (cm\zerg\zoryusthaleth.grp) -.headerstart -IsId 549 -Type 26 -Init ZoryusthalethInit -Death ZoryusthalethDeath -GndAttkInit ZoryusthalethGndAttkInit -AirAttkInit ZoryusthalethGndAttkInit -Unused1 ZoryusthalethUnused1 -GndAttkRpt ZoryusthalethGndAttkInit -AirAttkRpt ZoryusthalethGndAttkInit -CastSpell ZoryusthalethCastSpell -GndAttkToIdle ZoryusthalethGndAttkToIdle -AirAttkToIdle ZoryusthalethGndAttkToIdle -Unused2 [NONE] -Walking ZoryusthalethWalking -WalkingToIdle ZoryusthalethGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 ZoryusthalethSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow ZoryusthalethBurrow -UnBurrow ZoryusthalethUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZoryusthalethInit: - imgul 1283 0 0 # Zoryusthaleth Shadow (cm\zerg\zoryusthaleth-shad.grp) -ZoryusthalethGndAttkToIdle: - playfram 0x00 - goto ZoryusthalethLocal00 - -ZoryusthalethLocal00: - wait 62 - randcondjmp 25 ZoryusthalethLocal03 - randcondjmp 32 ZoryusthalethLocal02 - randcondjmp 100 ZoryusthalethLocal01 - goto ZoryusthalethLocal00 - -ZoryusthalethLocal01: - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - randcondjmp 68 ZoryusthalethLocal04 - goto ZoryusthalethLocal06 - -ZoryusthalethLocal02: - playfram 0x33 - wait 1 - turnccwise 1 - playfram 0x44 - wait 1 - turnccwise 1 - playfram 0x55 - wait 1 - turnccwise 1 - playfram 0x44 - wait 1 - turnccwise 1 - playfram 0x33 - wait 1 - turnccwise 1 - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethLocal03: - playfram 0x33 - wait 1 - turncwise 1 - playfram 0x44 - wait 1 - turncwise 1 - playfram 0x55 - wait 1 - turncwise 1 - playfram 0x44 - wait 1 - turncwise 1 - playfram 0x33 - wait 1 - turncwise 1 - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethLocal04: - randcondjmp 128 ZoryusthalethLocal05 - turnccwise 1 - wait 1 - randcondjmp 25 ZoryusthalethLocal06 - turnccwise 1 - waitrand 8 20 - randcondjmp 25 ZoryusthalethLocal06 - turncwise 1 - wait 1 - randcondjmp 25 ZoryusthalethLocal06 - turncwise 1 - wait 1 - goto ZoryusthalethLocal06 - -ZoryusthalethLocal05: - turncwise 1 - wait 1 - randcondjmp 25 ZoryusthalethLocal06 - turncwise 1 - waitrand 8 20 - randcondjmp 25 ZoryusthalethLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 ZoryusthalethLocal06 - turnccwise 1 - goto ZoryusthalethLocal06 - -ZoryusthalethLocal06: - wait 1 - waitrand 7 19 - playfram 0xbb - wait 1 - playfram 0xaa - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethDeath: - playsnd 1917 # Zoryusthaleth death 01 - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 5 - lowsprul 823 0 0 # Zoryusthaleth Remains - wait 1 - end - -ZoryusthalethUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1171 # Ultrokor death reversed - wait 14 - setfldirect 10 - nobrkcodeend - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0xcc - wait 1 - playfram 0xbb - wait 1 - playfram 0xaa - nobrkcodeend - gotorepeatattk - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethCastSpell: - playfram 0x00 - wait 1 - nobrkcodestart - playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - castspell - nobrkcodeend - gotorepeatattk - goto ZoryusthalethGndAttkToIdle - -ZoryusthalethWalking: - 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 - move 5 - wait 1 - playfram 0x99 - goto ZoryusthalethWalking - -ZoryusthalethSpecialState2: - playfram 0x154 - goto ScourgeLocal00 - -ZoryusthalethBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x143 - wait 1 - playfram 0x154 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -ZoryusthalethUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 - wait 1 - playfram 0x132 - wait 1 - playfram 0x121 - wait 1 - playfram 0x110 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0xff - wait 1 - playfram 0xee - wait 1 - sigorder 4 - goto ZoryusthalethGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1295 Rililisk (cm\zerg\rililisk.grp) -.headerstart -IsId 550 -Type 12 -Init RililiskInit -Death RililiskDeath -GndAttkInit RililiskGndAttkInit -AirAttkInit RililiskGndAttkInit -Unused1 [NONE] -GndAttkRpt RililiskGndAttkInit -AirAttkRpt RililiskGndAttkInit -CastSpell [NONE] -GndAttkToIdle RililiskGndAttkToIdle -AirAttkToIdle RililiskGndAttkToIdle -Unused2 [NONE] -Walking RililiskWalking -WalkingToIdle RililiskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -RililiskInit: - imgul 1296 0 42 # Rililisk Shadow (cm\zerg\rililisk.grp) - playfram 0x00 - wait 2 -RililiskGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0x00 - wait 2 - goto RililiskGndAttkToIdle - -RililiskDeath: - randcondjmp 51 RililiskDeathFinal - wait 1 - waitrand 1 3 - goto RililiskDeathFinal -RililiskDeathFinal: - playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 1 - end - -RililiskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0xC0 - wait 1 - playfram 0xE0 - wait 1 - playfram 0x100 - wait 1 - playsnd 1412 # Rililisk weaponfire 01 - attackwith 1 - wait 1 - playfram 0x120 - wait 1 - nobrkcodeend - gotorepeatattk - goto RililiskGndAttkToIdle - -RililiskWalking: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x00 - wait 1 - goto RililiskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1292 Almakis Antre (cm\zerg\AlmakisAntre.grp) -.headerstart -IsId 551 -Type 20 -Init AlmakisAntreInit -Death AlmakisAntreDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AlmakisAntreAlmostBuilt -Built AlmakisAntreBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking AlmakisAntreIsWorking -WorkingToIdle AlmakisAntreWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AlmakisAntreInit: - playfram 0x00 - imgul 1293 0 0 # Almakis Antre Shadow (cm\zerg\AlmakisAntre-shad.grp) - goto AlmakisAntreWorkingToIdle - -AlmakisAntreWorkingToIdle: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - goto AlmakisAntreWorkingToIdle - -AlmakisAntreDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -AlmakisAntreAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto AlmakisAntreBuilt - -AlmakisAntreBuilt: - playfram 0x00 - wait 2 - goto AlmakisAntreWorkingToIdle - -AlmakisAntreIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - waitrand 1 2 - playfram 2 - wait 1 - playfram 1 - wait 1 - goto AlmakisAntreIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 082 Zorkiz Shroud (cm\zerg\zoryusshroud.grp) -.headerstart -IsId 552 -Type 20 -Init ZoryusShroudInit -Death ZoryusShroudDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ZoryusShroudAlmostBuilt -Built ZoryusShroudBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ZoryusShroudIsWorking -WorkingToIdle ZoryusShroudWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZoryusShroudInit: - imgul 1285 0 0 # Zorkiz Shroud Shadow (cm\zerg\zoryusshroud-shad.grp) - playfram 0x00 - goto ZoryusShroudWorkingToIdle - -ZoryusShroudWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 3 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 3 - goto ZoryusShroudWorkingToIdle - -ZoryusShroudDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -ZoryusShroudAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -ZoryusShroudBuilt: - playfram 0x00 - wait 2 - goto ZoryusShroudWorkingToIdle - -ZoryusShroudIsWorking: - playfram 4 - wait 2 - playfram 5 - wait 3 - playfram 6 - wait 3 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 3 - playfram 5 - wait 2 - goto ZoryusShroudIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1310 Larvosk Cesiant (cm\zerg\larvosk-cesiant.grp) -.headerstart -IsId 553 -Type 20 -Init LarvoskCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt LarvoskCesiantAlmostBuilt -Built LarvoskCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LarvoskCesiantInit: - imgul 1311 0 0 # Larvosk Cesiant Shadow (cm\zerg\larvosk-cesiant-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -LarvoskCesiantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) -LarvoskCesiantBuilt: - playfram 0x00 - wait 2 -LarvoskCesiantLocal00: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - goto LarvoskCesiantLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1312 Captaincy (cm\terran\captaincy.grp) -.headerstart -IsId 554 -Type 24 -Init CaptaincyInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 CaptaincySpecialState1 -SpecialState2 [NONE] -AlmostBuilt CaptaincyAlmostBuilt -Built CaptaincyBuilt -Landing CaptaincyLanding -LiftOff CaptaincyLiftOff -IsWorking CaptaincyIsWorking -WorkingToIdle CaptaincyBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable CaptaincyDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CaptaincyInit: - playfram 0x00 - imgul 1313 0 0 # Captaincy shadow (cm\terran\captaincy-shad.grp) - goto ScourgeLocal00 - -CaptaincySpecialState1: - playfram 4 - goto ScourgeLocal00 - -CaptaincyAlmostBuilt: - playfram 11 - goto ScourgeLocal00 - -CaptaincyBuilt: - playfram 0x00 - goto ScourgeLocal00 - -CaptaincyLanding: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV -# playfram 4 - wait 8 -# playfram 3 - wait 8 -# playfram 2 - wait 8 -# playfram 5 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -CaptaincyLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0x00 - wait 1 -# playfram 5 - wait 8 -# playfram 2 - wait 8 -# playfram 3 - wait 8 -# playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -CaptaincyIsWorking: - 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 0x00 - wait 2 - goto CaptaincyIsWorking - -CaptaincyDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1314 Iron Foundry (cm\terran\ironfoundry.grp) -.headerstart -IsId 555 -Type 24 -Init IronFoundryInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 IronFoundrySpecialState1 -SpecialState2 [NONE] -AlmostBuilt IronFoundryAlmostBuilt -Built IronFoundryBuilt -Landing IronFoundryLanding -LiftOff IronFoundryLiftOff -IsWorking IronFoundryIsWorking -WorkingToIdle IronFoundryBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable IronFoundryDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IronFoundryInit: - playfram 0x00 - imgul 1315 0 0 # Iron Foundry Shadow (cm\terran\ironfoundry-shad.grp) - goto ScourgeLocal00 - -IronFoundrySpecialState1: - playfram 4 - goto ScourgeLocal00 - -IronFoundryAlmostBuilt: - playfram 11 - goto ScourgeLocal00 - -IronFoundryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -IronFoundryLanding: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV -# playfram 4 - wait 8 -# playfram 3 - wait 8 -# playfram 2 - wait 8 -# playfram 5 - wait 8 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -IronFoundryLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0x00 - wait 1 -# playfram 5 - wait 8 -# playfram 2 - wait 8 -# playfram 3 - wait 8 -# playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -IronFoundryIsWorking: - 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 0x00 - wait 2 - goto IronFoundryIsWorking - -IronFoundryDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1316 Mineral Field Type1 (Christmas) (cm\celebrations\christmas\mineralfield01.grp) -.headerstart -IsId 556 -Type 20 -Init MineralFieldType1ChristmasInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType1ChristmasInit: - imgul 1317 0 0 # Mineral Field Type1 (Christmas) Shadow (cm\celebrations\christmas\mineralfield01-shad.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1318 Mineral Field Type2 (Christmas) (cm\celebrations\christmas\mineralfield02.grp) -.headerstart -IsId 557 -Type 20 -Init MineralFieldType2ChristmasInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType2ChristmasInit: - imgul 1319 0 0 # Mineral Field Type2 (Christmas) Shadow (cm\celebrations\christmas\mineralfield02-shad.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1320 Mineral Field Type3 (Christmas) (cm\celebrations\christmas\mineralfield03.grp) -.headerstart -IsId 558 -Type 20 -Init MineralFieldType3ChristmasInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MineralFieldType1SpecialState1 -SpecialState2 MineralFieldType1SpecialState2 -AlmostBuilt MineralFieldType1AlmostBuilt -Built InfestedTerranWalkingToIdle -Landing MineralFieldType1Landing -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MineralFieldType3ChristmasInit: - imgul 1321 0 0 # Mineral Field Type3 (Christmas) Shadow (cm\celebrations\christmas\mineralfield03-shad.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1324 Vestry (cm\terran\medbay.grp) -.headerstart -IsId 559 -Type 24 -Init VestryInit -Death VestryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt VestryAlmostBuilt -Built VestryBuilt -Landing VestryLanding -LiftOff ScourgeLocal00 -IsWorking VestryIsWorking -WorkingToIdle VestryWorkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VestryInit: - imgul 1325 0 0 # Vestry Shadow (cm\terran\medbay.grp) -VestryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -VestryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp LiftedTerranStructureDeath - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) - wait 1 - end - -VestryAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -VestryLanding: - imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) - goto ScourgeLocal00 - -VestryIsWorking: - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 3 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 2 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 3 - goto VestryIsWorking - -VestryWorkingToIdle: - playfram 2 - wait 1 - goto VestryBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1326 Vestry Connector (cm\terran\medbay-connector.grp) -.headerstart -IsId 560 -Type 24 -Init VestryConnectorInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing Generic_Wait1End -LiftOff VestryConnectorLiftOff -IsWorking VestryConnectorIsWorking -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VestryConnectorInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 -VestryConnectorIsWorking: - playfram 3 - goto ScourgeLocal00 - -VestryConnectorLiftOff: - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1327 Protoss Warp Fade (cm\effect\protoss-warp-fade.grp) -.headerstart -IsId 561 -Type 1 -Init ProtossWarpFadeInit -Death ProtossWarpFadeDeath -.headerend -# ----------------------------------------------------------------------------- # - -ProtossWarpFadeInit: - playfram 1 - wait 1 - playfram 2 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 -ProtossWarpFadeDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1328 Heracles (cm\terran\heracles.grp) -.headerstart -IsId 562 -Type 12 -Init HeraclesInit -Death HeraclesDeath -GndAttkInit HeraclesGndAttkInit -AirAttkInit HeraclesGndAttkInit -Unused1 HeraclesUnused1 -GndAttkRpt HeraclesGndAttkInit -AirAttkRpt HeraclesGndAttkInit -CastSpell [NONE] -GndAttkToIdle HeraclesGndAttkToIdle -AirAttkToIdle HeraclesGndAttkToIdle -Unused2 [NONE] -Walking HeraclesWalking -WalkingToIdle HeraclesWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HeraclesInit: - imgul 1329 0 0 # Heracles shadow (cm\terran\heracles-shad.grp) -HeraclesWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -HeraclesDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 844 0 0 # Terran Unit Rubble Medium - wait 1 - end - -HeraclesUnused1: - wait 1 - nobrkcodestart - playsnd 1699 - sprol 744 0 0 - wait 12 - setfldirect 13 - nobrkcodeend - goto HeraclesWalkingToIdle - -HeraclesGndAttkInit: - playfram 0xbb - wait 1 - nobrkcodestart - playfram 0x99 - playsndbtwn 1369 1371 - attack - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - nobrkcodeend - gotorepeatattk - ignorerest -HeraclesGndAttkToIdle: - wait 1 - playfram 0xbb - goto HeraclesWalkingToIdle - -HeraclesWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - goto HeraclesWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1330 Pazuzu (cm\terran\pazuzu.grp) -.headerstart -IsId 563 -Type 12 -Init PazuzuInit -Death PazuzuDeath -GndAttkInit PazuzuGndAttkInit -AirAttkInit PazuzuGndAttkInit -Unused1 PazuzuUnused1 -GndAttkRpt PazuzuGndAttkInit -AirAttkRpt PazuzuGndAttkInit -CastSpell [NONE] -GndAttkToIdle PazuzuGndAttkToIdle -AirAttkToIdle PazuzuGndAttkToIdle -Unused2 [NONE] -Walking PazuzuWalking -WalkingToIdle PazuzuGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PazuzuInit: - imgul 1331 0 7 # Pazuzu Shadow (cm\terran\pazuzu.grp) - goto PazuzuGndAttkToIdle - -PazuzuGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - goto PazuzuGndAttkToIdle - -PazuzuDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small - wait 1 - end - -PazuzuUnused1: - wait 1 - nobrkcodestart - playsnd 1699 # Phalanx revive 01 - sprol 744 0 0 # Explosion orange medium reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto PazuzuGndAttkToIdle - -PazuzuGndAttkInit: - wait 1 - nobrkcodestart - wait 1 - attack - playsndbtwn 1196 1197 # Pazuzu weapon fire 01, 02 - wait 2 - attack - playsndbtwn 1196 1197 # Pazuzu weapon fire 01, 02 - nobrkcodeend - gotorepeatattk - goto PazuzuGndAttkToIdle - -PazuzuWalking: - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - goto PazuzuWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1332 Deconstruction (small) (cm\effect\deconstruction.grp) -# 1333 Deconstruction (medium) (cm\effect\deconstruction.grp) -# 1334 Deconstruction (large) (cm\effect\deconstruction.grp) -.headerstart -IsId 564 -Type 1 -Init DeconstructionInit -Death DeconstructionDeath -.headerend -# ----------------------------------------------------------------------------- # - -DeconstructionInit: - playfram 0x00 # Frame set 0 - wait 1 - goto DeconstructionLocal00 -DeconstructionLocal00: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 0x00 - wait 1 - goto DeconstructionLocal00 - -DeconstructionDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1335 Astral Blaster Hit (thingy\phohit.grp) -.headerstart -IsId 565 -Type 2 -Init AstralBlasterHitInit -Death AstralBlasterHitDeath -GndAttkInit AstralBlasterHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AstralBlasterHitInit: - wait 1 - sigorder 1 - wait 1 -AstralBlasterHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 769 8/3 Twilight1 (thingy\tileset\twilight\rstatue.grp) -.headerstart -IsId 566 -Type 0 -Init FullTilesetDoodadInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FullTilesetDoodadInit: - playframtile 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -.headerstart -IsId 750 -Type 0 -Init FullTilesetDoodadWithShadowInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FullTilesetDoodadWithShadowInit: - playframtile 0x00 - imgulnextid 0 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 770 8/3 Twilight2 (thingy\tileset\twilight\rstatue.grp) -.headerstart -IsId 567 -Type 1 -Init FullTilesetDoodadFlipInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -FullTilesetDoodadFlipInit: - playframtile 0x00 - setflipstate 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1336 Hierophant (cm\protoss\hierophant.grp) -.headerstart -IsId 568 -Type 21 -Init HierophantInit -Death HierophantDeath -GndAttkInit HierophantGndAttkInit -AirAttkInit HierophantGndAttkInit -Unused1 HierophantUnused1 -GndAttkRpt HierophantGndAttkRpt -AirAttkRpt HierophantGndAttkRpt -CastSpell [NONE] -GndAttkToIdle HierophantGndAttkToIdle -AirAttkToIdle HierophantGndAttkToIdle -Unused2 [NONE] -Walking HierophantWalking -WalkingToIdle HierophantWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn HierophantWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -HierophantInit: - imgul 1337 0 0 # Hierophant Shadow (cm\protoss\hierophant-shad.grp) -HierophantWalkingToIdle: - playfram 0x00 - wait 1 - goto DracadinLocal00 - -HierophantDeath: - playsnd 1335 # Hierophant death 01 - imgol 1774 0 0 # Dracadin death explosion (cm\protoss\dracadin-explosion.grp) - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - setfldirect 0 - playfram 832 - wait 2 - playfram 833 - wait 2 - playfram 834 - wait 2 - playfram 835 - wait 2 - playfram 836 - wait 2 - lowsprul 925 0 0 # Hierophant remains - wait 1 - end - -HierophantUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1704 # Hierophant Revive 01 - sprol 746 0 0 # Zealot Death Reversed (protoss\zealot.grp) - wait 2 - playfram 773 - wait 2 - playfram 772 - wait 2 - playfram 771 - wait 2 - playfram 770 - wait 2 - playfram 769 - wait 2 - playfram 768 - wait 2 - setfldirect 12 - nobrkcodeend - goto HierophantWalkingToIdle - -HierophantGndAttkInit: - playfram 0x220 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 -HierophantGndAttkRpt: - playfram 0x2A0 - wait 1 - playfram 0x2C0 - wait 1 - attackwith 1 - playfram 0x2E0 - wait 1 - playfram 0x2C0 - gotorepeatattk - ignorerest -HierophantGndAttkToIdle: - wait 1 - playfram 0x2A0 - wait 1 - playfram 0x280 - wait 1 - playfram 0x260 - wait 1 - playfram 0x240 - wait 1 - playfram 0x220 - goto HierophantWalkingToIdle - -HierophantWalking: - move 6 - wait 1 - playfram 0x100 - move 6 - wait 1 - playfram 0x120 - move 6 - wait 1 - playfram 0x140 - move 6 - wait 1 - playfram 0x160 - move 6 - wait 1 - playfram 0x180 - move 6 - wait 1 - playfram 0x1A0 - move 6 - wait 1 - playfram 0x1C0 - move 6 - wait 1 - playfram 0x1E0 - goto HierophantWalking - -HierophantWarpIn: - imgol 125 0 0 # Dracadin Warp Flash (protoss\dragoon.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1268 Clarion (cm\protoss\clarion.grp) -.headerstart -IsId 569 -Type 21 -Init ClarionInit -Death ClarionDeath -GndAttkInit ClarionGndAttkToIdle -AirAttkInit ClarionGndAttkToIdle -Unused1 [NONE] -GndAttkRpt ClarionGndAttkToIdle -AirAttkRpt ClarionGndAttkToIdle -CastSpell [NONE] -GndAttkToIdle ClarionGndAttkToIdle -AirAttkToIdle ClarionGndAttkToIdle -Unused2 [NONE] -Walking ClarionWalking -WalkingToIdle ClarionGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ClarionWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ClarionInit: - imgul 1269 0 42 # Clarion Shadow (cm\protoss\clarion.grp) - playfram 0x00 - goto ClarionGndAttkToIdle - -ClarionGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x120 - wait 2 - playfram 0x140 - wait 2 - playfram 0x160 - wait 2 - playfram 0x180 - wait 2 - playfram 0x1A0 - wait 2 - playfram 0x1C0 - wait 2 - playfram 0x1E0 - wait 2 - goto ClarionGndAttkToIdle - -ClarionDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 847 0 42 # Protoss Unit Rubble Small - wait 1 - end - -ClarionWalking: - playfram 0x00 - wait 1 - 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 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1E0 - wait 1 - goto ClarionWalking - -ClarionWarpIn: - imgol 133 0 0 # Didact Warp Flash (protoss\didact.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1338 Legionnaire (cm\protoss\legionnaire.grp) -.headerstart -IsId 570 -Type 21 -Init LegionnaireInit -Death LegionnaireDeath -GndAttkInit LegionnaireGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt LegionnaireGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle LegionnaireGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking LegionnaireWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LegionnaireWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -LegionnaireInit: - imgul 1339 0 0 # Legionnaire Shadow (cm\protoss\legionnaire-shad.grp) - goto MadcapWalkingToIdle - -LegionnaireDeath: - playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 4 - lowsprul 819 0 0 # Legionnaire Remains - wait 3 - end - -LegionnaireGndAttkInit: - playfram 0x100 -LegionnaireGndAttkRpt: - playfram 0x100 - nobrkcodestart - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - attackmelee 1 1897 # Legionnaire weapon hit 01 - wait 1 - playfram 0x160 - wait 1 - nobrkcodeend - playfram 0x120 - wait 1 - gotorepeatattk - ignorerest -LegionnaireGndAttkToIdle: - playfram 0x100 - wait 1 - goto MadcapWalkingToIdle - -LegionnaireWalking: - 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 - goto LegionnaireWalking - -LegionnaireWarpIn: - imgol 154 0 0 # Zealot Warp Flash (protoss\zealot.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1342 Blackjack (cm\terran\blackjack.grp) -.headerstart -IsId 572 -Type 12 -Init BlackjackInit -Death BlackjackDeath -GndAttkInit BlackjackGndAttkInit -AirAttkInit BlackjackGndAttkInit -Unused1 BlackjackUnused1 -GndAttkRpt BlackjackGndAttkRpt -AirAttkRpt BlackjackGndAttkRpt -CastSpell [NONE] -GndAttkToIdle BlackjackGndAttkToIdle -AirAttkToIdle BlackjackGndAttkToIdle -Unused2 [NONE] -Walking BlackjackWalking -WalkingToIdle BlackjackWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BlackjackInit: - imgul 1343 0 1 # Blackjack Shadow (cm\terran\blackjack-shad.grp) -BlackjackWalkingToIdle: - playfram 0x00 - goto BlackjackLocal00 - -BlackjackLocal00: - wait 62 - randcondjmp 25 BlackjackLocal01 - goto BlackjackLocal00 - -BlackjackLocal01: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - waitrand 3 12 - playfram 0x44 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - randcondjmp 43 BlackjackLocal01 - playfram 0x11 - wait 1 - playfram 0x00 - goto BlackjackLocal00 - -BlackjackDeath: - playsndbtwn 1490 1491 # Blackjack death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 771 0 0 # Blackjack Corpse - wait 1 - end - -BlackjackUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 742 0 0 # Medium orange explosion, reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto BlackjackWalkingToIdle - -BlackjackGndAttkInit: - playfram 0x165 - wait 1 - playfram 0x176 - wait 1 -BlackjackGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x187 - wait 1 - playfram 0x198 - attack - playsndbtwn 1387 1391 # Blackjack weapon fire 01, 02, 03, 04, 05 - wait 1 - playfram 0x187 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -BlackjackGndAttkToIdle: - playfram 0x176 - wait 1 - playfram 0x165 - wait 1 - goto BlackjackWalkingToIdle - -BlackjackWalking: - 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 0x66 - move 5 - wait 1 - playfram 0x77 - move 5 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - move 5 - wait 1 - playfram 0xee - move 5 - wait 1 - playfram 0xff - move 5 - wait 1 - playfram 0x110 - goto BlackjackWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1344 Cohort (cm\terran\cohort.grp) -.headerstart -IsId 573 -Type 26 -Init CohortInit -Death CohortDeath -GndAttkInit CohortGndAttkInit -AirAttkInit CohortGndAttkInit -Unused1 CohortUnused1 -GndAttkRpt CohortGndAttkRpt -AirAttkRpt CohortGndAttkRpt -CastSpell [NONE] -GndAttkToIdle CohortGndAttkToIdle -AirAttkToIdle CohortGndAttkToIdle -Unused2 [NONE] -Walking CohortWalking -WalkingToIdle CohortWalkingToIdle -SpecialState1 [NONE] -SpecialState2 CohortSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow CohortBurrow -UnBurrow CohortUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CohortInit: - imgul 1345 0 -3 # Cohort Shadow (cm\terran\cohort-shad.grp) -CohortWalkingToIdle: - playfram 0x44 -CohortLocal00: - wait 62 - randcondjmp 25 CohortLocal01 - randcondjmp 128 CohortLocal02 - goto CohortLocal00 - -CohortLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 CohortLocal03 - 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 CohortLocal04 - -CohortLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto CohortWalkingToIdle - -CohortLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto CohortWalkingToIdle - -CohortLocal02: - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - turnrand 3 - wait 1 - playfram 0x55 - wait 1 - goto CohortWalkingToIdle - -CohortDeath: - playsndbtwn 1883 1884 # Cohort death 01, 02 - setfldirect 0 - 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 - lowsprul 236 0 0 # Cohort Remnants (terran\tmaDeath.grp) - wait 1 - end - -CohortUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1886 1887 # Cohort revive 01, 02 - 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 CohortWalkingToIdle - -CohortGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -CohortGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 1402 1404 # Cohort weapon fire 01, 02, 03 - attackwith 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - attackwith 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -CohortGndAttkToIdle: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto CohortWalkingToIdle - -CohortSpecialState2: - playfram 0xee - goto ScourgeLocal00 - -CohortBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x00 - wait 1 -# playfram 0x110 - wait 1 -# playfram 0x121 - wait 1 -# playfram 0x132 - wait 1 -# playfram 0x143 - wait 1 -# playfram 0x154 - sigorder 4 - wait 1 - playfram 0xee - goto ScourgeLocal00 - -CohortUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) -# playfram 0x143 - wait 1 -# playfram 0x132 - wait 1 -# playfram 0x121 - wait 1 -# playfram 0x110 - wait 1 - playfram 0x00 - wait 1 - sigorder 4 - goto CohortWalkingToIdle - -CohortWalking: - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0x44 - goto CohortWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1346 Aspirant (cm\terran\aspirant.grp) -.headerstart -IsId 574 -Type 21 -Init AspirantInit -Death AspirantDeath -GndAttkInit AspirantGndAttkInit -AirAttkInit AspirantGndAttkInit -Unused1 AspirantUnused1 -GndAttkRpt AspirantGndAttkRpt -AirAttkRpt AspirantGndAttkRpt -CastSpell [NONE] -GndAttkToIdle AspirantGndAttkToIdle -AirAttkToIdle AspirantGndAttkToIdle -Unused2 [NONE] -Walking AspirantWalking -WalkingToIdle AspirantWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn AspirantWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AspirantInit: - imgul 1347 0 0 # Aspirant Shadow (cm\terran\aspirant-shad.grp) -AspirantWalkingToIdle: - playfram 0x00 - wait 1 -AspirantLocal00: - 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 - playfram 0x00 - wait 2 - goto AspirantLocal00 - -AspirantDeath: - playsndbtwn 1435 1438 # Aspirant death 01, 02, 03, 04 - setfldirect 0 - playfram 0x198 - wait 2 - playfram 409 - wait 2 - playfram 410 - wait 2 - playfram 411 - wait 2 - playfram 412 - wait 2 - playfram 413 - wait 2 - playfram 414 - wait 2 - lowsprul 685 0 0 # Aspirant Remnants (cm\terran\aspirant-death.grp) - wait 1 - end - -AspirantUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1435 1438 # Aspirant death 01, 02, 03, 04 - setfldirect 0 - playfram 413 - wait 2 - playfram 412 - wait 2 - playfram 411 - wait 2 - playfram 410 - wait 2 - playfram 409 - wait 2 - playfram 0x198 - setfldirect 12 - nobrkcodeend - goto AspirantWalkingToIdle - -AspirantGndAttkInit: - playfram 0x110 - wait 1 - playfram 0x132 - wait 1 - playfram 0x154 - wait 1 -AspirantGndAttkRpt: - nobrkcodestart - playsndbtwn 1409 1411 # Aspirant weapon fire 01, 02, 03 - playfram 0x176 - wait 1 - playfram 0x187 - wait 1 - attackwith 1 - playfram 0x176 - wait 1 - playfram 0x165 - wait 1 - playfram 0x154 - wait 1 - playfram 0x143 - wait 1 - playfram 0x77 - nobrkcodeend - gotorepeatattk - ignorerest -AspirantGndAttkToIdle: - wait 1 - playfram 0x77 - wait 1 - goto AspirantWalkingToIdle - -AspirantWalking: - move 5 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - move 5 - wait 1 - playfram 0xee - move 5 - wait 1 - playfram 0xff - goto AspirantWalking - -AspirantWarpIn: - imgol 125 0 0 # Aspirant Warp Flash (protoss\dragoon.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# Aspirant Criticality -# This header is used by images.dat entries: -# 1349 Magnetic Field (large) (cm\effect\magneticfield-large.grp) -# 1350 Magnetic Field (medium) (cm\effect\magneticfield-medium.grp) -# 1351 Magnetic Field (small) (cm\effect\magneticfield-small.grp) -.headerstart -IsId 575 -Type 2 -Init MagneticFieldInit -Death MagneticFieldDeath -GndAttkInit MagneticFieldDeath -AirAttkInit MagneticFieldDeath -.headerend -# ----------------------------------------------------------------------------- # - -MagneticFieldInit: - wait 1 -MagneticFieldLocal01: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 -MagneticFieldLocal00: - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - goto MagneticFieldLocal00 - -MagneticFieldDeath: - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1352 Akistrokor (cm\zerg\akistrokor.grp) -.headerstart -IsId 576 -Type 13 -Init AkistrokorInit -Death AkistrokorDeath -GndAttkInit AkistrokorGndAttkInit -AirAttkInit AkistrokorGndAttkInit -Unused1 [NONE] -GndAttkRpt AkistrokorGndAttkInit -AirAttkRpt AkistrokorGndAttkInit -CastSpell [NONE] -GndAttkToIdle AkistrokorWalkingToIdle -AirAttkToIdle AkistrokorWalkingToIdle -Unused2 [NONE] -Walking AkistrokorWalking -WalkingToIdle AkistrokorWalkingToIdle -SpecialState1 AkistrokorSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -AkistrokorInit: - imgul 1353 0 42 # Akistrokor Shadow (cm\zerg\akistrokor.grp) - playfram 0x00 - wait 2 -AkistrokorWalkingToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x00 - wait 2 - goto AkistrokorWalkingToIdle - -AkistrokorDeath: - playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV - sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -AkistrokorGndAttkInit: - nobrkcodestart - playfram 0x100 - playsndbtwn 1934 1936 # Akistrokor weaponfire 01, 02, 03 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x180 - attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto AkistrokorWalkingToIdle - -AkistrokorSpecialState1: - nobrkcodestart - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - wait 2 - playfram 0x160 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 2 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto AkistrokorSpecialState1 - -AkistrokorWalking: - 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 0x00 - wait 1 - goto AkistrokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1354 Konvilisk (cm\zerg\konvilisk.grp) -.headerstart -IsId 577 -Type 26 -Init KonviliskInit -Death KonviliskDeath -GndAttkInit KonviliskGndAttkInit -AirAttkInit KonviliskGndAttkInit -Unused1 KonviliskUnused1 -GndAttkRpt KonviliskGndAttkInit -AirAttkRpt KonviliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle KonviliskGndAttkToIdle -AirAttkToIdle KonviliskGndAttkToIdle -Unused2 [NONE] -Walking KonviliskWalking -WalkingToIdle KonviliskGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 KonviliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow KonviliskBurrow -UnBurrow KonviliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KonviliskInit: - imgul 1355 0 0 # Konvilisk Shadow (cm\zerg\konvilisk-shad.grp) -KonviliskGndAttkToIdle: - playfram 0x00 - goto KonviliskLocal00 - -KonviliskLocal00: - wait 62 - randcondjmp 43 KonviliskLocal01 - randcondjmp 51 KonviliskLocal02 - randcondjmp 128 KonviliskLocal03 - goto KonviliskLocal00 - -KonviliskLocal01: - playfram 0x55 - wait 1 - turnccwise 1 - playfram 0x66 - wait 1 - turnccwise 1 - playfram 0x77 - wait 1 - turnccwise 1 - playfram 0x66 - wait 1 - turnccwise 1 - playfram 0x55 - wait 1 - turnccwise 1 - goto KonviliskGndAttkToIdle - -KonviliskLocal02: - playfram 0x55 - wait 1 - turncwise 1 - playfram 0x66 - wait 1 - turncwise 1 - playfram 0x77 - wait 1 - turncwise 1 - playfram 0x66 - wait 1 - turncwise 1 - playfram 0x55 - wait 1 - turncwise 1 - goto KonviliskGndAttkToIdle - -KonviliskLocal03: - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 85 KonviliskLocal04 - goto KonviliskLocal06 - -KonviliskLocal04: - randcondjmp 128 KonviliskLocal05 - turnccwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turnccwise 1 - waitrand 8 20 - randcondjmp 25 KonviliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turncwise 1 - goto KonviliskLocal06 - -KonviliskLocal05: - turncwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turncwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turncwise 1 - waitrand 8 20 - randcondjmp 25 KonviliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turnccwise 1 - wait 1 - randcondjmp 25 KonviliskLocal06 - turnccwise 1 - goto KonviliskLocal06 - -KonviliskLocal06: - wait 1 - waitrand 7 19 - playfram 0x11 - wait 1 - goto KonviliskGndAttkToIdle - -KonviliskDeath: - playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV - sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) - playfram 204 - wait 1 - playfram 205 - wait 1 - playfram 206 - wait 1 - playfram 207 - wait 1 - playfram 208 - wait 1 - playfram 209 - wait 1 - playfram 210 - wait 1 - playfram 211 - wait 5 - lowsprul 689 0 0 # Konvilisk Remnants (cm\zerg\konvilisk-death.grp) - wait 1 - end - -KonviliskUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1176 # Matraleth revive 01 - wait 8 - sprol 753 0 0 - wait 10 - setfldirect 15 - tmprmgraphicend - nobrkcodeend - goto KonviliskGndAttkToIdle - -KonviliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - playsndbtwn 1297 1298 # Konvilisk weapon fire 01, 02 - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - attack - wait 1 - nobrkcodeend - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - gotorepeatattk - goto KonviliskGndAttkToIdle - -KonviliskWalking: - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0x00 - goto KonviliskWalking - -KonviliskSpecialState2: - playfram 282 - goto ScourgeLocal00 - -KonviliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -KonviliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 - wait 1 - playfram 0x132 - wait 1 - playfram 0x121 - wait 1 - playfram 0x110 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0xff - wait 1 - playfram 0xee - wait 1 - sigorder 4 - setfldirect 14 - goto KonviliskGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1367 Legionnaire Teleport Effect (cm\effect\legionnaire-teleport.grp) -.headerstart -IsId 578 -Type 1 -Init LegionnaireTeleportInit -Death LegionnaireTeleportDeath -.headerend -# ----------------------------------------------------------------------------- # - -LegionnaireTeleportInit: - playsndbtwn 1289 1292 # Legionnaire teleport 01, 02, 03, 04 - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 -LegionnaireTeleportDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1359 Claymore (cm\terran\claymore.grp) -.headerstart -IsId 579 -Type 12 -Init ClaymoreInit -Death ClaymoreDeath -GndAttkInit ClaymoreGndAttkInit -AirAttkInit ClaymoreGndAttkInit -Unused1 [NONE] -GndAttkRpt ClaymoreGndAttkInit -AirAttkRpt ClaymoreGndAttkInit -CastSpell [NONE] -GndAttkToIdle ClaymoreGndAttkToIdle -AirAttkToIdle ClaymoreGndAttkToIdle -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ClaymoreGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ClaymoreInit: - imgul 1360 0 14 # Claymore Shadow (cm\terran\claymore-shadow.grp) - playfram 0x00 - goto ClaymoreGndAttkToIdle - -ClaymoreGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto ClaymoreGndAttkToIdle - -ClaymoreDeath: - playsnd 1307 # Claymore death 01 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small - wait 1 - end - -ClaymoreGndAttkInit: - setvertpos 0 - wait 1 - nobrkcodestart - playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 - attackwith 1 - wait 3 - playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 - attackwith 1 - wait 3 - playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - goto ClaymoreGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1363 Tethvith Swamp (cm\zerg\tethvith-swamp.grp) -.headerstart -IsId 581 -Type 20 -Init TethvithSwampInit -Death TethvithSwampDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TethvithSwampAlmostBuilt -Built TethvithSwampBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking TethvithSwampIsWorking -WorkingToIdle TethvithSwampWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TethvithSwampInit: - imgul 1364 0 0 # Bactith Swamp Shadow (cm\zerg\bactith-swamp-shad.grp) - playfram 0x00 - goto TethvithSwampWorkingToIdle - -TethvithSwampWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 4 - wait 1 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 4 - goto TethvithSwampWorkingToIdle - -TethvithSwampDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -TethvithSwampAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -TethvithSwampBuilt: - playfram 0x00 - wait 1 - randcondjmp 128 TethvithSwampWorkingToIdle - wait 1 - goto TethvithSwampWorkingToIdle - -TethvithSwampIsWorking: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - waitrand 2 3 - playfram 1 - wait 1 - playfram 0x00 - wait 2 - goto TethvithSwampIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1262 Keskathalor Acid Pool -.headerstart -IsId 582 -Type 1 -Init KeskathalorAcidPoolInit -Death KeskathalorAcidPoolDeath -.headerend -# ----------------------------------------------------------------------------- # - -KeskathalorAcidPoolInit: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 -KeskathalorAcidPoolLocal00: - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - goto KeskathalorAcidPoolLocal00 - -KeskathalorAcidPoolDeath: - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1368 Warp Flash Fade (cm\protoss\texture-fade.grp) -.headerstart -IsId 584 -Type 1 -Init WarpTextureFadeInit -Death WarpTextureFadeDeath -.headerend -# ----------------------------------------------------------------------------- # - -WarpTextureFadeInit: - warpoverlay 0x00 - wait 1 - warpoverlay 1 - wait 1 - warpoverlay 2 - wait 1 - warpoverlay 3 - wait 1 - warpoverlay 4 - wait 1 - warpoverlay 5 - wait 1 - warpoverlay 6 - wait 1 - warpoverlay 7 - wait 1 - warpoverlay 8 - wait 1 - warpoverlay 9 - wait 1 - warpoverlay 10 - wait 1 - warpoverlay 11 - wait 1 - warpoverlay 12 - wait 1 - warpoverlay 13 - wait 1 - warpoverlay 14 - wait 1 - warpoverlay 15 - wait 1 - warpoverlay 16 - wait 1 - warpoverlay 17 - wait 1 - warpoverlay 18 - wait 1 - warpoverlay 19 - wait 1 - warpoverlay 20 - wait 1 - warpoverlay 21 - wait 1 - warpoverlay 22 - wait 1 - warpoverlay 23 - wait 1 - warpoverlay 24 -WarpTextureFadeDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1373 Demiurge (cm\protoss\demiurge.grp) -.headerstart -IsId 585 -Type 21 -Init DemiurgeInit -Death DemiurgeDeath -GndAttkInit DemiurgeGndAttkInit -AirAttkInit DemiurgeGndAttkInit -Unused1 [NONE] -GndAttkRpt DemiurgeGndAttkInit -AirAttkRpt DemiurgeGndAttkInit -CastSpell [NONE] -GndAttkToIdle DemiurgeGndAttkToIdle -AirAttkToIdle DemiurgeGndAttkToIdle -Unused2 [NONE] -Walking PariahWalking -WalkingToIdle PariahWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn PariahWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -DemiurgeInit: - imgul 1374 0 2 # Demiurge Shadow (cm\protoss\demiurge-shadow.grp) - goto PariahWalkingToIdle - -DemiurgeDeath: - playsndbtwn 1439 1442 # Demiurge death 01, 02, 03, 04 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 2 - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble Small - wait 1 - end - -DemiurgeGndAttkInit: - playfram 0xdd - wait 1 - nobrkcodestart - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - attack - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - playfram 0x154 - wait 1 - playfram 0xdd - nobrkcodeend - gotorepeatattk - goto DemiurgeGndAttkToIdle - -DemiurgeGndAttkToIdle: - wait 1 - goto PariahWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1375 Siren (cm\terran\siren.grp) -.headerstart -IsId 586 -Type 12 -Init SirenInit -Death SirenDeath -GndAttkInit SirenGndAttkInit -AirAttkInit SirenGndAttkInit -Unused1 [NONE] -GndAttkRpt SirenGndAttkInit -AirAttkRpt SirenGndAttkInit -CastSpell SirenCastSpell -GndAttkToIdle SirenGndAttkToIdle -AirAttkToIdle SirenGndAttkToIdle -Unused2 [NONE] -Walking SirenWalking -WalkingToIdle SirenGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SirenInit: - imgul 1376 0 0 # Siren Shadow (cm\terran\siren-shad.grp) -SirenGndAttkToIdle: - playfram 0x00 - goto SirenLocal00 - -SirenLocal00: - wait 62 - randcondjmp 43 SirenLocal01 - goto SirenLocal00 - -SirenLocal01: - randcondjmp 128 SirenLocal02 - 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 SirenGndAttkToIdle - -SirenLocal02: - 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 SirenGndAttkToIdle - -SirenDeath: - 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 - -SirenGndAttkInit: - playfram 0x99 - wait 1 - nobrkcodestart - playsndbtwn 1396 1398 # Siren weapon fire 01, 02, 03 - 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 SirenGndAttkToIdle - -SirenCastSpell: - playfram 0x00 - wait 1 - nobrkcodestart - playsnd 98 # Bullet\TGhFir00.wav - castspell - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - nobrkcodeend - gotorepeatattk - sigorder 2 - goto SirenGndAttkToIdle - -SirenWalking: - 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 SirenWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1170 Charlatan (cm\protoss\charlatan.grp) -.headerstart -IsId 587 -Type 21 -Init CharlatanInit -Death EcclesiastDeath -GndAttkInit EcclesiastGndAttkInit -AirAttkInit EcclesiastGndAttkInit -Unused1 EcclesiastUnused1 -GndAttkRpt EcclesiastGndAttkRpt -AirAttkRpt EcclesiastGndAttkRpt -CastSpell [NONE] -GndAttkToIdle EcclesiastGndAttkToIdle -AirAttkToIdle EcclesiastGndAttkToIdle -Unused2 [NONE] -Walking EcclesiastWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn EcclesiastWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -CharlatanInit: - imgul 1172 0 0 # Charlatan Shadow (cm\protoss\charlatan-shad.grp) - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1382 Arclite Shock Cannon Hit (Damageless) (thingy\mushroom.grp) -.headerstart -IsId 588 -Type 2 -Init ArcliteShockCannonHitDamagelessInit -Death ArcliteShockCannonHitDamagelessDeath -GndAttkInit ArcliteShockCannonHitDamagelessDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ArcliteShockCannonHitDamagelessInit: - wait 2 -ArcliteShockCannonHitDamagelessDeath: - playfram 0x00 - playsnd 2859 # Phalanx Siege weaponhit 01 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1383 Neutron Flare (Silent) (thingy\PcsSplsh.grp) -.headerstart -IsId 589 -Type 2 -Init NeutronFlareSilentInit -Death NeutronFlareSilentDeath -GndAttkInit NeutronFlareSilentDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NeutronFlareSilentInit: - wait 1 - sigorder 1 - wait 1 -NeutronFlareSilentDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1384 Hallucination projectile (cm\protoss\cantavis-hallucination-projectile.grp) -.headerstart -IsId 590 -Type 2 -Init HallucinationProjectileInit -Death HallucinationProjectileDeath -GndAttkInit HallucinationProjectileGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HallucinationProjectileInit: - playsnd 636 # Templar unused move - wait 1 - sigorder 1 - wait 1 -HallucinationProjectileGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto HallucinationProjectileGndAttkInit - -HallucinationProjectileDeath: - imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 12 - wait 1 - playfram 13 - wait 1 - playfram 14 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1385 Hallucination field (cm\protoss\cantavis-hallucination-field.grp) -.headerstart -IsId 591 -Type 1 -Init HallucinationFieldInit -Death HallucinationFieldDeath -.headerend -# ----------------------------------------------------------------------------- # - -HallucinationFieldInit: - playfram 0x00 -HallucinationFieldLocal00: - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - wait 2 - playfram 8 - wait 2 - playfram 9 - wait 2 -HallucinationFieldLocal01: - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - goto HallucinationFieldLocal00 - -HallucinationFieldDeath: - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 12 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 523 Phase Disruptor (electric, silent) (cm\shared\aspirant-weapon.grp) -.headerstart -IsId 592 -Type 2 -Init PhaseDisruptorElectricSilentInit -Death PhaseDisruptorElectricSilentDeath -GndAttkInit PhaseDisruptorElectricSilentGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhaseDisruptorElectricSilentInit: - wait 1 - sigorder 1 - wait 1 -PhaseDisruptorElectricSilentGndAttkInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - goto PhaseDisruptorElectricSilentGndAttkInit - -PhaseDisruptorElectricSilentDeath: - imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1387 Cyprian Weapon Impact (cm\terran\cyprian-weaponhit.grp) -.headerstart -IsId 593 -Type 2 -Init CyprianWeaponImpactInit -Death CyprianWeaponImpactDeath -GndAttkInit CyprianWeaponImpactDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CyprianWeaponImpactInit: - wait 1 - sigorder 1 - wait 1 -CyprianWeaponImpactDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1390 Burst Lasers (Blue, Silent) (thingy\elbfireW.grp) -.headerstart -IsId 594 -Type 2 -Init BurstLasersBlueSilentInit -Death BurstLasersBlueSilentDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BurstLasersBlueSilentInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -BurstLasersBlueSilentDeath: - imgol 1249 0 0 # Burst Lasers Blue Hit Damaging (thingy\elbHit.grp) - if bullet.weapon_id == 132 goto BurstLasersBlueSilentEpigraphDeath - wait 1 - end - -BurstLasersBlueSilentEpigraphDeath: - playsndbtwn 3169 3170 # Epigraph weaponhit 01, 02 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1392 Skithrokor (cm\zerg\skithrokor.grp) -.headerstart -IsId 596 -Type 12 -Init SkithrokorInit -Death SkithrokorDeath -GndAttkInit SkithrokorGndAttkInit -AirAttkInit SkithrokorGndAttkInit -Unused1 SkithrokorUnused1 -GndAttkRpt SkithrokorGndAttkInit -AirAttkRpt SkithrokorGndAttkInit -CastSpell [NONE] -GndAttkToIdle SkithrokorWalkingToIdle -AirAttkToIdle SkithrokorWalkingToIdle -Unused2 [NONE] -Walking SkithrokorWalking -WalkingToIdle SkithrokorWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SkithrokorInit: - imgul 1393 0 42 # Skithrokor Shadow (cm\zerg\Skithrokor.grp) - playfram 0x00 - wait 2 -SkithrokorWalkingToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x00 - wait 2 - goto SkithrokorWalkingToIdle - -SkithrokorDeath: - playsnd 1536 # Skithrokor death 01 - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 849 0 42 # Zerg Unit Rubble Small - wait 1 - end - -SkithrokorUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1732 # Skithrokor revive 01 - wait 8 - sprol 753 0 0 # Zerg Air Explosion Large Reversed - wait 10 - setfldirect 13 - tmprmgraphicend - nobrkcodeend - goto SkithrokorWalkingToIdle - -SkithrokorGndAttkInit: - nobrkcodestart - playfram 0x100 - wait 1 - playfram 0x140 - wait 1 - playsndbtwn 1488 1489 # Skithrokor weapon fire 01, 02 - playfram 0x180 - attackwith 1 - wait 1 - playfram 0x1C0 - wait 1 - nobrkcodeend - gotorepeatattk - playfram 0x00 - wait 1 - goto SkithrokorWalkingToIdle - -SkithrokorWalking: - 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 0x00 - wait 1 - goto SkithrokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1402 Liiralisk (cm\zerg\liiralisk.grp) -.headerstart -IsId 599 -Type 26 -Init LiiraliskInit -Death LiiraliskDeath -GndAttkInit LiiraliskGndAttkInit -AirAttkInit LiiraliskGndAttkInit -Unused1 LiiraliskUnused1 -GndAttkRpt LiiraliskGndAttkRpt -AirAttkRpt LiiraliskGndAttkRpt -CastSpell [NONE] -GndAttkToIdle LiiraliskGndAttkToIdle -AirAttkToIdle LiiraliskGndAttkToIdle -Unused2 [NONE] -Walking LiiraliskWalking -WalkingToIdle LiiraliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 LiiraliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow LiiraliskBurrow -UnBurrow LiiraliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LiiraliskInit: - imgul 1403 0 0 # Liiralisk Shadow (cm\zerg\liiralisk-shad.grp) -LiiraliskWalkingToIdle: - playfram 0x00 - wait 2 -LiiraliskLocal00: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0x00 - wait 2 - goto LiiraliskLocal00 - -LiiraliskDeath: - playsnd 896 # Zerg\Zergling\ZZeDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 5 - lowsprul 849 0 0 # Zerg Unit Rubble Small - wait 1 - end - -LiiraliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1171 - playfram 0x99 -# 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 LiiraliskGndAttkToIdle - -LiiraliskGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x1C0 - wait 2 -LiiraliskGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2014 2015 # Liiralisk attack 01, 02 - playfram 0x1E0 - wait 1 - playfram 0x200 - attack - attack - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x260 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -LiiraliskGndAttkToIdle: - playfram 0x1E0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x00 - wait 1 - goto LiiraliskWalkingToIdle - -LiiraliskWalking: - move 6 - wait 1 - playfram 0xC0 - move 6 - wait 1 - playfram 0xE0 - move 6 - wait 1 - playfram 0x100 - move 6 - wait 1 - playfram 0x120 - move 6 - wait 1 - playfram 0x140 - move 6 - wait 1 - playfram 0x160 - move 6 - wait 1 - playfram 0x180 - move 6 - wait 1 - playfram 0x1A0 - goto LiiraliskWalking - -LiiraliskSpecialState2: - playfram 0x320 - goto ScourgeLocal00 - -LiiraliskBurrow: - 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 0x320 - goto ScourgeLocal00 - -LiiraliskUnBurrow: - 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 0x280 - wait 1 - sigorder 4 - goto LiiraliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1404 Sovroleth (cm\zerg\sovroleth.grp) -.headerstart -IsId 600 -Type 12 -Init SovrolethInit -Death SovrolethDeath -GndAttkInit SovrolethGndAttkInit -AirAttkInit SovrolethGndAttkInit -Unused1 [NONE] -GndAttkRpt SovrolethGndAttkInit -AirAttkRpt SovrolethGndAttkInit -CastSpell SovrolethCastSpell -GndAttkToIdle SovrolethGndAttkToIdle -AirAttkToIdle SovrolethGndAttkToIdle -Unused2 [NONE] -Walking SovrolethWalking -WalkingToIdle SovrolethGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SovrolethInit: - imgul 1405 0 42 # Sovroleth Shadow (cm\zerg\sovroleth.grp) - playfram 0x00 # Frame set 0 - wait 2 -SovrolethGndAttkToIdle: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - goto SovrolethGndAttkToIdle - -SovrolethDeath: - playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 1 - lowsprul 850 0 42 # Zerg Unit Rubble Tiny - wait 1 - end - -SovrolethCastSpell: - castspell - gotorepeatattk - sigorder 2 - goto SovrolethLocal01 - -SovrolethLocal01: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - goto SovrolethLocal01 - -SovrolethGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - wait 1 - playfram 0x22 - playsndbtwn 1889 1890 # Sovroleth attack 01, 02 - attackwith 1 - wait 1 - playfram 0x11 - wait 1 - nobrkcodeend - gotorepeatattk - goto SovrolethGndAttkToIdle - -SovrolethWalking: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - goto SovrolethWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1406 Seeker Spores (Bounce) (bullet\spores.grp) -.headerstart -IsId 601 -Type 13 -Init SeekerSporesBounceInit -Death SeekerSporesBounceDeath -GndAttkInit SeekerSporesBounceGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 SeekerSporesBounceSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -SeekerSporesBounceInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -SeekerSporesBounceGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 2 # Frame set 0, direction 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 3 # Frame set 0, direction 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - goto SeekerSporesBounceGndAttkInit - -SeekerSporesBounceDeath: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - if bullet.weapon_id == 163 goto ProtathalorSporesBounceDeath - if bullet.weapon_id == 178 goto SpirtithSporesBounceDeath - playsnd 79 # Bullet\ZLuHit00.wav - goto SeekerSporesBounceDeath2 - -ProtathalorSporesBounceDeath: - playsndbtwn 2399 2402 # Protathalor weaponhit 01, 02, 03, 04 - goto SeekerSporesBounceDeath2 - -SpirtithSporesBounceDeath: - playsndbtwn 2545 2546 # Spirtith Cesiant weaponhit 01, 02 -SeekerSporesBounceDeath2: - wait 1 - end - -SeekerSporesBounceSpecialState1: - if bullet.weapon_id == 178 goto SeekerSporesBounceSpecialState1Spirtith - playsnd 79 # Bullet\ZLuHit00.wav - goto SeekerSporesBounceSpecialState1Fin - -SeekerSporesBounceSpecialState1Spirtith: - playsndbtwn 2545 2546 # Spirtith Cesiant weaponhit 01, 02 -SeekerSporesBounceSpecialState1Fin: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - goto SeekerSporesBounceGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1408 Burst Lasers (Bounce) (thingy\elbfireW.grp) -.headerstart -IsId 602 -Type 13 -Init BurstLasersBounceInit -Death BurstLasersBounceDeath -GndAttkInit ScourgeLocal00 -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 BurstLasersBounceSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -BurstLasersBounceInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 - goto ScourgeLocal00 - -BurstLasersBounceDeath: - imgol 447 0 0 # Burst Lasers Hit (thingy\elbHit.grp) - domissiledmg - wait 1 - end - -BurstLasersBounceSpecialState1: - sprol 644 0 0 # Burst Lasers Hit (Damageless) (thingy\elbHit.grp) - domissiledmg - wait 1 - goto SeekerSporesBounceGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1398 Olympian (cm\terran\olympian.grp) -.headerstart -IsId 603 -Type 13 -Init OlympianInit -Death OlympianDeath -GndAttkInit OlympianGndAttkInit -AirAttkInit OlympianGndAttkInit -Unused1 OlympianRevive -GndAttkRpt OlympianGndAttkRpt -AirAttkRpt OlympianGndAttkRpt -CastSpell [NONE] -GndAttkToIdle OlympianGndAttkToIdle -AirAttkToIdle OlympianGndAttkToIdle -Unused2 [NONE] -Walking OlympianWalking -WalkingToIdle OlympianWalkingToIdle -SpecialState1 OlympianSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -OlympianInit: - imgul 1399 0 2 # Olympian Shadow (cm\terran\olympian-shad.grp) -OlympianWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -OlympianDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 5 - lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) - wait 1 - end - -OlympianRevive: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1161 1162 - sprol 742 0 0 -# playfram 176 -# wait 2 -# playfram 175 -# wait 2 -# playfram 174 -# wait 2 -# playfram 173 -# wait 2 -# playfram 172 -# wait 2 -# playfram 171 -# wait 2 -# playfram 170 -# wait 2 - wait 14 - setfldirect 12 - nobrkcodeend - goto OlympianWalkingToIdle - -OlympianGndAttkInit: - sigorder 32 - wait 1 - playfram 0x200 - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 -OlympianGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 1555 1556 # Olympian weapon fire 01, 02 - fireweapon 124 - playfram 0x280 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x260 - wait 1 - nobrkcodeend - sigorder 32 - gotorepeatattk - ignorerest -OlympianGndAttkToIdle: - playfram 0x240 - wait 1 - playfram 0x220 - wait 1 - playfram 0x200 - wait 1 - goto OlympianWalkingToIdle - -OlympianSpecialState1: - playfram 0x2A0 - wait 1 - nobrkcodestart - playfram 0x2C0 - wait 1 - playfram 0x2E0 - attackmelee 3 1577 1578 1579 # Olympian Melee 01, 02, 03 - wait 1 - playfram 0x300 - wait 1 - playfram 0x320 - wait 1 - playfram 0x340 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - ignorerest -OlympianLocal06: - goto OlympianWalkingToIdle - -OlympianWalking: - 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 - move 4 - wait 1 - playfram 0x20 - move 4 - wait 1 - playfram 0x40 - move 4 - wait 1 - playfram 0x60 - move 4 - wait 1 - playfram 0x80 - goto OlympianWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1396 Autocrat (terran\autocrat.grp) -.headerstart -IsId 604 -Type 12 -Init AutocratInit -Death AutocratDeath -GndAttkInit AutocratGndAttkInit -AirAttkInit AutocratGndAttkInit -Unused1 [NONE] -GndAttkRpt AutocratGndAttkRpt -AirAttkRpt AutocratGndAttkRpt -CastSpell [NONE] -GndAttkToIdle AutocratGndAttkToIdle -AirAttkToIdle AutocratGndAttkToIdle -Unused2 [NONE] -Walking AutocratWalking -WalkingToIdle AutocratWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AutocratInit: - imgul 1397 0 0 # Autocrat Shadow (terran\autocrat-shad.grp) -AutocratWalkingToIdle: - playfram 0x00 -AutocratLocal00: - wait 62 - randcondjmp 25 AutocratLocal01 - randcondjmp 128 AutocratLocal01 - goto AutocratLocal00 - -AutocratLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 AutocratLocal03 - 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 AutocratLocal04 - -AutocratLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto AutocratWalkingToIdle - -AutocratLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto AutocratWalkingToIdle - -AutocratDeath: - playsnd 238 # Terran\Ghost\TGhDth00.wav - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 2 - lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) - wait 1 - end - -AutocratGndAttkInit: - playfram 0xaa -AutocratGndAttkRpt: - wait 2 - nobrkcodestart - playsndbtwn 1474 1478 - attack - playfram 0x99 - wait 1 - playfram 0xaa - nobrkcodeend - gotorepeatattk - ignorerest -AutocratGndAttkToIdle: - playfram 0x00 - wait 1 - goto AutocratWalkingToIdle - -AutocratWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - goto AutocratWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1400 Guildhall (cm\terran\guildhall.grp) -.headerstart -IsId 605 -Type 24 -Init GuildhallInit -Death GuildhallDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt GuildhallAlmostBuilt -Built GuildhallBuilt -Landing GuildhallLanding -LiftOff ScourgeLocal00 -IsWorking GuildhallIsWorking -WorkingToIdle GuildhallWorkingToIdle -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GuildhallInit: - imgul 1401 0 0 # Guildhall Shadow (cm\terran\medbay.grp) -GuildhallBuilt: - playfram 0x00 - goto ScourgeLocal00 - -GuildhallDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - liftoffcondjmp GuildhallLocal01 - lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) -GuildhallLocal01: - wait 1 - end - -GuildhallAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -GuildhallLanding: -# imgol 1326 0 0 # Guildhall connector (cm\terran\guildhall-connector.grp) - goto ScourgeLocal00 - -GuildhallIsWorking: - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 3 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 2 - playfram 3 - wait 4 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 2 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 3 - goto GuildhallIsWorking - -GuildhallWorkingToIdle: - playfram 2 - wait 1 - goto GuildhallBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1409 Striga (terran\striga.grp) -.headerstart -IsId 606 -Type 12 -Init StrigaInit -Death StrigaDeath -GndAttkInit StrigaGndAttkInit -AirAttkInit StrigaGndAttkInit -Unused1 [NONE] -GndAttkRpt StrigaGndAttkInit -AirAttkRpt StrigaGndAttkInit -CastSpell [NONE] -GndAttkToIdle StrigaGndAttkToIdle -AirAttkToIdle StrigaGndAttkToIdle -Unused2 [NONE] -Walking StrigaWalking -WalkingToIdle StrigaWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StrigaInit: - imgul 1410 0 0 # Striga Shadow (terran\striga-shad.grp) -StrigaWalkingToIdle: - playfram 0xee -StrigaLocal00: - wait 62 - randcondjmp 25 StrigaLocal01 - randcondjmp 128 StrigaLocal01 - goto StrigaLocal00 - -StrigaLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - randcondjmp 192 StrigaLocal03 - 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 StrigaLocal04 - -StrigaLocal04: - playfram 0x00 - wait 1 - goto StrigaWalkingToIdle - -StrigaLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto StrigaWalkingToIdle - -StrigaDeath: - playsnd 238 # Terran\Ghost\TGhDth00.wav - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 2 - lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) - wait 1 - end - -StrigaGndAttkInit: - playfram 0x66 - wait 1 - nobrkcodestart - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - playsndbtwn 1615 1616 # Striga weapon fire 01, 02 - imgoluselo 1768 0 0 # Orange projection blade - attkshiftproj 24 - sigorder 32 - wait 1 - playfram 0xaa - attkshiftproj 48 - sigorder 32 - wait 1 - playfram 0xbb - attkshiftproj 72 - sigorder 32 - wait 1 - playfram 0xcc - attkshiftproj 100 - sigorder 32 - wait 1 - playfram 0xdd - wait 1 - nobrkcodeend - gotorepeatattk - goto StrigaGndAttkToIdle - -StrigaGndAttkToIdle: - playfram 0xdd - wait 1 - goto StrigaWalkingToIdle - -StrigaWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - goto StrigaWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1411 Luminary (cm\shared\luminary.grp) -.headerstart -IsId 607 -Type 12 -Init LuminaryInit -Death LuminaryDeath -GndAttkInit LuminaryGndAttkInit -AirAttkInit LuminaryGndAttkInit -Unused1 [NONE] -GndAttkRpt LuminaryGndAttkInit -AirAttkRpt LuminaryGndAttkInit -CastSpell LuminaryCastSpell -GndAttkToIdle LuminaryGndAttkToIdle -AirAttkToIdle LuminaryGndAttkToIdle -Unused2 [NONE] -Walking LuminaryWalking -WalkingToIdle LuminaryGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -LuminaryInit: - imgul 1412 0 42 # Luminary Shadow (cm\shared\luminary.grp) -LuminaryLocal01: - playfram 0x00 - goto LuminaryGndAttkToIdle - -LuminaryGndAttkToIdle: - setvertpos 1 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto LuminaryGndAttkToIdle - -LuminaryDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 42 # Terran Unit Rubble Small - wait 1 - end - -LuminaryGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x66 - playsndbtwn 1637 1638 # Luminary weapon fire 01, 02 - attackwith 1 - wait 1 - playfram 0x77 - attackwith 1 - wait 1 - playfram 0x88 - attackwith 1 - wait 1 - playfram 0x00 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto LuminaryGndAttkToIdle - -LuminaryCastSpell: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x66 - castspell - sigorder 2 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto LuminaryGndAttkToIdle - -LuminaryWalking: - setvertpos 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1413 Axitrilisk (cm\zerg\axitrilisk.grp) -.headerstart -IsId 608 -Type 26 -Init AxitriliskInit -Death AxitriliskDeath -GndAttkInit AxitriliskGndAttkInit -AirAttkInit AxitriliskGndAttkInit -Unused1 AxitriliskUnused1 -GndAttkRpt AxitriliskGndAttkInit -AirAttkRpt AxitriliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle ScourgeLocal00 -Unused2 [NONE] -Walking AxitriliskWalking -WalkingToIdle AxitriliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 AxitriliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow AxitriliskBurrow -UnBurrow AxitriliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AxitriliskInit: - imgul 1414 0 -5 # Axitrilisk Shadow (cm\zerg\axitrilisk-shadow.grp) -AxitriliskWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -AxitriliskDeath: - playsnd 1536 # Skithrokor death 01 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 1 - lowsprul 849 0 0 # Zerg Unit Rubble Small - wait 1 - end - -AxitriliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 - playfram 448 - wait 2 - playfram 447 - wait 2 - playfram 446 - wait 2 - playfram 445 - wait 2 - playfram 444 - wait 2 - playfram 443 - wait 2 - playfram 442 - wait 2 - setfldirect 14 - nobrkcodeend - goto ScourgeLocal00 - -AxitriliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x100 - wait 1 - playfram 0x120 - playsndbtwn 1626 1630 # Axitrilisk weapon fire 01, 02, 03, 04, 05 - attackwith 1 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - playsndbtwn 1626 1630 # Axitrilisk weapon fire 01, 02, 03, 04, 05 - attackwith 1 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1E0 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto AxitriliskWalkingToIdle - -AxitriliskWalking: - 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 0x00 - goto AxitriliskWalking - -AxitriliskSpecialState2: - playfram 0x200 - goto ScourgeLocal00 - -AxitriliskBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - 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 0x200 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -AxitriliskUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xC0 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1418 Anthelion (cm\protoss\anthelion.grp) -.headerstart -IsId 609 -Type 21 -Init AnthelionInit -Death AnthelionDeath -GndAttkInit AnthelionGndAttkInit -AirAttkInit AnthelionGndAttkInit -Unused1 [NONE] -GndAttkRpt AnthelionGndAttkInit -AirAttkRpt AnthelionGndAttkInit -CastSpell [NONE] -GndAttkToIdle AnthelionGndAttkToIdle -AirAttkToIdle AnthelionGndAttkToIdle -Unused2 [NONE] -Walking AnthelionWalking -WalkingToIdle AnthelionWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn AnthelionWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AnthelionInit: - imgul 1419 0 42 # Anthelion Shadow (cm\protoss\anthelion.grp) -AnthelionGndAttkToIdle: - playfram 0x00 # Frame set 0 - setvertpos 0 - goto AnthelionWalkingToIdle - -AnthelionWalkingToIdle: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 2 - playfram 0x00 - wait 2 - goto AnthelionGndAttkToIdle - -AnthelionDeath: - playsndbtwn 1393 1395 # Anthelion death 01, 02, 03 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 2 - imgol 214 24 24 - wait 3 - imgol 214 -24 -24 - wait 1 - imgol 214 0 0 - wait 2 - imgol 214 24 -24 - wait 3 - imgol 214 -24 24 - wait 1 - imgol 214 0 0 - wait 3 - lowsprul 224 0 42 # Protoss Building Rubble Large - wait 1 - end - -AnthelionGndAttkInit: - attackwith 1 - attackwith 1 - wait 2 - gotorepeatattk - goto AnthelionGndAttkToIdle - -AnthelionLocal00: - wait 125 - goto AnthelionGndAttkToIdle - -AnthelionWalking: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 0x00 - wait 1 - goto AnthelionWalking - -AnthelionWarpIn: - imgol 143 0 0 # Anthelion Warp Flash - goto AnthelionLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1416 Anticthon (cm\shared\anticthon.grp) -.headerstart -IsId 610 -Type 12 -Init AnticthonInit -Death AnticthonDeath -GndAttkInit AnticthonGndAttkInit -AirAttkInit AnticthonGndAttkInit -Unused1 AnticthonUnused1 -GndAttkRpt AnticthonGndAttkInit -AirAttkRpt AnticthonGndAttkInit -CastSpell [NONE] -GndAttkToIdle AnticthonGndAttkToIdle -AirAttkToIdle AnticthonGndAttkToIdle -Unused2 [NONE] -Walking AnticthonWalking -WalkingToIdle AnticthonWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnticthonInit: - imgul 1417 0 14 # Anticthon Shadow (cm\shared\anticthon.grp) -AnticthonGndAttkToIdle: - playfram 0x00 - setvertpos 0 - goto AnticthonWalkingToIdle - -AnticthonWalkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 0x00 - wait 2 - goto AnticthonWalkingToIdle - -AnticthonDeath: - playsndbtwn 1393 1395 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 12 - playsndbtwn 1393 1395 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 12 - playsndbtwn 1393 1395 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small - wait 1 - end - -AnticthonUnused1: - wait 1 - nobrkcodestart - playsnd 1699 - imgol 1443 0 0 - wait 12 - playsnd 1699 - imgol 1443 0 0 - wait 12 - playsnd 1699 - imgol 1443 0 0 - wait 12 - setfldirect 13 - nobrkcodeend - goto AnticthonGndAttkToIdle - -AnticthonGndAttkInit: - playsndbtwn 1634 1636 # Anticthon weapon fire 01, 02, 03 - attackwith 1 - imgol 978 0 0 # Anticthon/Anthelion weaponfire - wait 1 - gotorepeatattk - goto AnticthonGndAttkToIdle - -AnticthonWalking: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 0x00 - wait 1 - goto AnticthonWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1420 Tinkerer's Tower (cm\terran\tinkererstower.grp) -.headerstart -IsId 611 -Type 24 -Init TinkerersTowerInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TinkerersTowerAlmostBuilt -Built TinkerersTowerBuilt -Landing TinkerersTowerLanding -LiftOff ScourgeLocal00 -IsWorking TinkerersTowerIsWorking -WorkingToIdle TinkerersTowerBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable TinkerersTowerDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TinkerersTowerInit: - playfram 0x00 - imgul 1421 0 0 # Tinkerer's Tower Shadow (cm\terran\tinkererstower-shadow.grp) - goto ScourgeLocal00 - -TinkerersTowerAlmostBuilt: - playfram 10 - goto ScourgeLocal00 - -TinkerersTowerBuilt: - playfram 0x00 - goto ScourgeLocal00 - -TinkerersTowerLanding: - #imgol 294 0 0 # Tinkerer's Tower Connector (terran\machineC.grp) - goto ScourgeLocal00 - -TinkerersTowerIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto TinkerersTowerIsWorking - -TinkerersTowerDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1422 Biotic Base (cm\terran\bioticbase.grp) -.headerstart -IsId 612 -Type 24 -Init BioticBaseInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt BioticBaseAlmostBuilt -Built BioticBaseBuilt -Landing BioticBaseLanding -LiftOff ScourgeLocal00 -IsWorking BioticBaseIsWorking -WorkingToIdle BioticBaseBuilt -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable BioticBaseDisable -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -BioticBaseInit: - playfram 10 - imgul 1423 0 0 # Biotic Base Shadow (cm\terran\bioticbase-shadow.grp) - goto ScourgeLocal00 - -BioticBaseAlmostBuilt: - playfram 10 - goto ScourgeLocal00 - -BioticBaseBuilt: - playfram 0x00 - goto ScourgeLocal00 - -BioticBaseLanding: - #imgol 294 0 0 # Biotic Base Connector (terran\machineC.grp) - goto ScourgeLocal00 - -BioticBaseIsWorking: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - goto BioticBaseIsWorking - -BioticBaseDisable: - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1424 Prostration Stage (cm\protoss\prostrationstage.grp) -.headerstart -IsId 613 -Type 27 -Init ProstrationStageInit -Death ProstrationStageDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built InfestedTerranWalkingToIdle -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking ProstrationStageIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn ProstrationStageWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ProstrationStageDisable -Burrow [NONE] -UnBurrow [NONE] -Enable InfestedTerranWalkingToIdle -.headerend -# ----------------------------------------------------------------------------- # - -ProstrationStageInit: - playfram 0x00 - imgul 1425 0 0 # Prostration Stage Shadow (cm\protoss\prostrationstage-shad.grp) - goto ScourgeLocal00 - -ProstrationStageDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -ProstrationStageIsWorking: - 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 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 15 - wait 2 - playfram 16 - wait 2 - playfram 17 - wait 2 - playfram 18 - wait 2 - playfram 19 - wait 8 - goto ProstrationStageIsWorking - -ProstrationStageWarpIn: - imgol 1426 0 0 # Prostration Stage Warp Flash (cm\protoss\prostrationstage.grp) - goto ScourgeLocal00 - -ProstrationStageDisable: - playfram 18 - wait 2 - playfram 19 - wait 2 - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1427 Rogue Gallery (cm\protoss\roguegallery.grp) -.headerstart -IsId 614 -Type 21 -Init RogueGalleryInit -Death RogueGalleryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built InfestedTerranWalkingToIdle -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking RogueGalleryIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn RogueGalleryWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -RogueGalleryInit: - playfram 0x00 - imgul 1428 0 0 # Rogue Gallery Shadow (cm\protoss\roguegallery-shad.grp) - goto ScourgeLocal00 - -RogueGalleryDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -RogueGalleryIsWorking: - 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 0x00 - wait 2 - goto RogueGalleryIsWorking - -RogueGalleryWarpIn: - imgol 1429 0 0 # Rogue Gallery Warp Flash (cm\protoss\roguegallery.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1433 Monument of Sin (cm\protoss\monumentofsin.grp) -.headerstart -IsId 616 -Type 21 -Init MonumentOfSinInit -Death NexusDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built InfestedTerranWalkingToIdle -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking MonumentOfSinIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn MonumentOfSinWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -MonumentOfSinInit: - imgul 1434 0 0 # Monument of Sin Shadow (cm\protoss\monumentofsin-shad.grp) - playfram 0x00 - goto ScourgeLocal00 - -MonumentOfSinIsWorking: - playfram 1 - wait 1 - 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 0 - wait 1 - goto MonumentOfSinIsWorking - -MonumentOfSinWarpIn: - imgol 1435 0 0 # Monument of Sin Warp Flash (cm\protoss\monumentofsin.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1098 Empress (cm\shared\empress.grp) -.headerstart -IsId 617 -Type 21 -Init EmpressInit -Death EmpressDeath -GndAttkInit EmpressGndAttkInit -AirAttkInit EmpressGndAttkInit -Unused1 [NONE] -GndAttkRpt EmpressGndAttkInit -AirAttkRpt EmpressGndAttkInit -CastSpell [NONE] -GndAttkToIdle EmpressGndAttkToIdle -AirAttkToIdle EmpressGndAttkToIdle -Unused2 [NONE] -Walking EmpressWalking -WalkingToIdle EmpressWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn EmpressWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EmpressInit: - imgul 1437 0 42 # Empress Shadow (cm\shared\empress.grp) -EmpressGndAttkToIdle: - playfram 0x00 -EmpressWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto EmpressWalkingToIdle - -EmpressDeath: - playsnd 533 - imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 846 0 42 # Protoss Unit Rubble Medium - wait 1 - end - -EmpressGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1781 1783 # Empress weapon fire 01, 02, 03 - attackwith 1 - wait 2 - nobrkcodeend - gotorepeatattk - goto EmpressGndAttkToIdle - -EmpressWalking: - setvertpos 0 - #imgol 1203 0 0 # Empress Engines (cm\shared\empress-engine.grp) - goto ScourgeLocal00 - -EmpressWarpIn: - imgol 143 0 0 # Empress Warp Flash (shared\empress.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1438 Tarasque Spores (bullet\Spore2.grp) -.headerstart -IsId 618 -Type 2 -Init TarasqueSporesInit -Death TarasqueSporesDeath -GndAttkInit TarasqueSporesGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TarasqueSporesInit: - playfram 0x00 - playsndbtwn 1642 1643 # Tarasque weapon 2 fire 01, 02 - wait 1 - sigorder 1 - wait 1 -TarasqueSporesGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - goto TarasqueSporesGndAttkInit - -TarasqueSporesDeath: - playsnd 79 # Bullet\ZLuHit00.wav - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1439 Tarasque (terran\tank.grp) -.headerstart -IsId 619 -Type 12 -Init TarasqueInit -Death TarasqueDeath -GndAttkInit TarasqueGndAttkInit -AirAttkInit TarasqueGndAttkInit -Unused1 TarasqueUnused1 -GndAttkRpt TarasqueGndAttkInit -AirAttkRpt TarasqueGndAttkInit -CastSpell [NONE] -GndAttkToIdle TarasqueWalkingToIdle -AirAttkToIdle TarasqueWalkingToIdle -Unused2 [NONE] -Walking TarasqueWalking -WalkingToIdle TarasqueWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TarasqueInit: - wait 1 - imgol 1487 0 0 # Infested Overlay (Small) - imgul 1440 0 0 # Phalanx Shadow (terran\ttaShad.grp) - setfldirect 12 -TarasqueWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -TarasqueDeath: - playsnd 317 # Terran\TANK\TTaDth00.WAV - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small - wait 1 - end - -TarasqueUnused1: - wait 1 - nobrkcodestart - playsnd 1699 - sprol 744 0 0 - wait 12 - setfldirect 13 - nobrkcodeend - goto TarasqueWalkingToIdle - -TarasqueGndAttkInit: - playfram 0x00 - wait 1 - imgol 1499 0 0 # Tarasque Muzzle Flash - playsndbtwn 1639 1641 # Tarasque weapon 1 fire 01, 02, 03 - attackwith 1 - wait 1 - gotorepeatattk - ignorerest - goto TarasqueWalkingToIdle - -TarasqueWalking: - move 4 - wait 1 - playfram 0x00 - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - goto TarasqueWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1441 Explosion (Small, Reversed) (thingy\tBangS.grp) -# 1442 Explosion Blue (Small, Reversed) (thingy\tBangS.grp) -.headerstart -IsId 620 -Type 1 -Init Explosion_SmallReversed_Init -Death Explosion_SmallReversed_Death -.headerend -# ----------------------------------------------------------------------------- # - -Explosion_SmallReversed_Init: - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - goto Explosion_SmallReversed_Death -Explosion_SmallReversed_Death: - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1443 Explosion (Medium, Reversed) (thingy\tBangL.grp) -# 1444 Explosion Blue (Medium, Reversed) (thingy\tBangL.grp) -.headerstart -IsId 621 -Type 1 -Init Explosion_MediumReversed_Init -Death Explosion_MediumReversed_Death -.headerend -# ----------------------------------------------------------------------------- # - -Explosion_MediumReversed_Init: - playfram 9 - wait 2 - playfram 8 - wait 2 - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - goto Explosion_MediumReversed_Death -Explosion_MediumReversed_Death: - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1445 Zealot Death Reversed (protoss\zealot.grp) -.headerstart -IsId 622 -Type 1 -Init ZealotDeathReversedInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1199 Aurora Engines (cm\protoss\aurora-engine.grp) -# 1202 Exemplar Engines (cm\protoss\exemplar-engine.grp) -# 1204 Gladius Engines (cm\protoss\gladius-engine.grp) -# 1301 Epigraph Engines (cm\protoss\epigraph-engine.grp) -.headerstart -IsId 623 -Type 15 -Init Engines_MultiGlowHeaderInit -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_MultiGlowHeaderInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Engines_MultiGlowHeaderInit: - engframe 0 - wait 1 - engframe 17 - wait 1 - goto Engines_MultiGlowHeaderInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1383 Neutron Flare (Orange, Damageless) (thingy\PcsSplsh.grp) -.headerstart -IsId 624 -Type 1 -Init NeutronFlareDamagelessInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -NeutronFlareDamagelessInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1447 Axtoth Axis (cm\zerg\axtothaxis.grp) -.headerstart -IsId 625 -Type 20 -Init AxtothAxisInit -Death AxtothAxisDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AxtothAxisAlmostBuilt -Built AxtothAxisBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle AxtothAxisWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AxtothAxisInit: - playfram 0x00 - imgul 1448 0 0 # Axtoth Axis Shadow (cm\zerg\axtothaxis-shad.grp) - goto AxtothAxisWorkingToIdle - -AxtothAxisWorkingToIdle: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - goto AxtothAxisWorkingToIdle - -AxtothAxisDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -AxtothAxisAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 - goto AxtothAxisBuilt - -AxtothAxisBuilt: - playfram 0x00 - wait 2 - goto AxtothAxisWorkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1449 Ovileth Death Reversed (zerg\zovDeath.grp) -.headerstart -IsId 626 -Type 0 -Init OvilethDeathReversedInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OvilethDeathReversedInit: - playfram 0x00 - imgol 1450 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1450 Zerg Air Death Explosion Reversed (Large) (thingy\zAirDthL.grp) -# 1451 Zerg Air Death Explosion Reversed (Small) (thingy\zAirDthS.grp) -.headerstart -IsId 627 -Type 1 -Init ZergAirDeathExplosionReversedInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -ZergAirDeathExplosionReversedInit: - playfram 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0x00 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1452 Ion Cannon Attack A1 (cm\effect\ioncannon-attack-A1.grp) -# 1453 Ion Cannon Attack A2 (cm\effect\ioncannon-attack-A2.grp) -# 1701 Ion Cannon Attack A3 (cm\effect\ioncannon-attack-A3.grp) -# 1702 Ion Cannon Attack A4 (cm\effect\ioncannon-attack-A4.grp) -.headerstart -IsId 629 -Type 24 -Init IonCannonAttackAInit -Death Generic_Wait1End -GndAttkInit IonCannonAttackAGndAttkInit -AirAttkInit IonCannonAttackAGndAttkInit -Unused1 [NONE] -GndAttkRpt IonCannonAttackAGndAttkRpt -AirAttkRpt IonCannonAttackAGndAttkRpt -CastSpell [NONE] -GndAttkToIdle IonCannonAttackAInit -AirAttkToIdle IonCannonAttackAInit -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable IonCannonAttackAInit -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonAttackAInit: - tmprmgraphicstart - playfram 0x00 -IonCannonAttackALocal00: - wait 125 - goto IonCannonAttackALocal00 - -IonCannonAttackAGndAttkInit: - wait 3 -IonCannonAttackAGndAttkRpt: - wait 31 - tmprmgraphicend - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x120 - wait 2 - playfram 0x140 - wait 2 - playfram 0x160 - wait 2 - playfram 0x180 - wait 2 - playfram 0x1A0 - wait 2 - playfram 0x1C0 - wait 2 - playfram 0x1E0 - wait 2 - playfram 0x200 - wait 2 - playfram 0x220 - wait 2 - playfram 0x240 - wait 2 - playfram 0x260 - wait 2 - playfram 0x280 - wait 2 - playfram 0x2A0 - wait 2 - playfram 0x2C0 - wait 2 - playfram 0x2E0 - wait 2 - goto IonCannonAttackAInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1454 Ion Cannon Attack B (cm\effect\ioncannon-attack-B.grp) -.headerstart -IsId 630 -Type 0 -Init IonCannonAttackBInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IonCannonAttackBInit: - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1455 Anthelion Teleport (Departure) (cm\protoss\anthelion-teleport-depart.grp) -.headerstart -IsId 631 -Type 0 -Init AnthelionTeleportDepartInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnthelionTeleportDepartInit: - playfram 0x00 - wait 2 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1456 Anthelion Teleport (Arrival) (cm\protoss\anthelion-teleport-arrive.grp) -.headerstart -IsId 632 -Type 0 -Init AnthelionTeleportArriveInit -Death [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnthelionTeleportArriveInit: - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1461 Arclite Shock Cannon Hit (Damageless, Silent) (thingy\mushroom.grp) -.headerstart -IsId 633 -Type 2 -Init ArcliteShockCannonHitDamagelessSilentInit -Death ArcliteShockCannonHitDamagelessSilentDeath -GndAttkInit ArcliteShockCannonHitDamagelessSilentDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ArcliteShockCannonHitDamagelessSilentInit: - wait 1 -ArcliteShockCannonHitDamagelessSilentDeath: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1462 Dermal Accelerant (Small) (cm\zerg\dermalaccelerant-small.grp) -# 1463 Dermal Accelerant (Medium) (cm\zerg\dermalaccelerant-medium.grp) -# 1464 Dermal Accelerant (Large) (cm\zerg\dermalaccelerant-large.grp) -# 1465 Dermal Accelerant (XLarge) (cm\zerg\dermalaccelerant-xlarge.grp) -.headerstart -IsId 634 -Type 1 -Init DermalAccelerantInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DermalAccelerantInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - goto DermalAccelerantInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1469 Magnetar (terran\magnetar.grp) -.headerstart -IsId 635 -Type 12 -Init MagnetarInit -Death MagnetarDeath -GndAttkInit MagnetarGndAttkInit -AirAttkInit MagnetarGndAttkInit -Unused1 MagnetarUnused1 -GndAttkRpt MagnetarGndAttkInit -AirAttkRpt MagnetarGndAttkInit -CastSpell MagnetarCastSpell -GndAttkToIdle MagnetarGndAttkToIdle -AirAttkToIdle MagnetarGndAttkToIdle -Unused2 [NONE] -Walking MagnetarWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MagnetarInit: - imgul 1470 0 42 # Magnetar Shadow (cm\terran\magnetar.grp) -MagnetarGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -MagnetarDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 42 # Terran Building Rubble Small - wait 1 - end - -MagnetarUnused1: - wait 1 - nobrkcodestart - playsnd 177 # Terran\BATTLE\tbaDth00.wav - sprol 744 0 0 - wait 12 - nobrkcodeend - goto ScourgeLocal00 - -MagnetarGndAttkInit: - wait 1 - nobrkcodestart - wait 2 - playfram 0x00 - wait 1 - playfram 0x11 - playsndbtwn 1876 1879 # Magnetar weapon fire 01, 02, 03, 04 - attack - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -MagnetarLocal00: - wait 125 - goto MagnetarLocal00 - -MagnetarCastSpell: - imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) - sigorder 32 - goto MagnetarLocal00 - -MagnetarWalking: - setvertpos 0 - imgol 1471 0 0 # Magnetar Engines (cm\terran\magnetar-engine.grp) - goto MagnetarLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1472 Izirokor (cm\zerg\izirokor.grp) -.headerstart -IsId 636 -Type 26 -Init IzirokorInit -Death IzirokorDeath -GndAttkInit IzirokorGndAttkInit -AirAttkInit IzirokorGndAttkInit -Unused1 IzirokorUnused1 -GndAttkRpt IzirokorGndAttkRpt -AirAttkRpt IzirokorGndAttkRpt -CastSpell [NONE] -GndAttkToIdle IzirokorGndAttkToIdle -AirAttkToIdle IzirokorGndAttkToIdle -Unused2 [NONE] -Walking IzirokorWalking -WalkingToIdle IzirokorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 IzirokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow IzirokorBurrow -UnBurrow IzirokorUnburrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IzirokorInit: - imgul 1473 0 0 # Izirokor Shadow (cm\zerg\izirokor-shad.grp) -IzirokorGndAttkToIdle: - playfram 0x00 - goto IzirokorLocal00 - -IzirokorLocal00: - wait 62 - randcondjmp 128 IzirokorLocal01 - goto IzirokorLocal00 - -IzirokorLocal01: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - randcondjmp 34 IzirokorLocal02 - playfram 0x55 - wait 1 - playfram 0x44 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - goto IzirokorGndAttkToIdle - -IzirokorLocal02: - randcondjmp 62 IzirokorLocal03 - randcondjmp 51 IzirokorLocal04 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - goto IzirokorGndAttkToIdle - -IzirokorLocal03: - playfram 0x55 - wait 1 - turnccwise 1 - playfram 0x44 - wait 1 - turnccwise 1 - playfram 0x33 - wait 1 - turnccwise 1 - playfram 0x22 - wait 1 - turnccwise 1 - playfram 0x11 - wait 1 - turnccwise 1 - goto IzirokorGndAttkToIdle - -IzirokorLocal04: - playfram 0x55 - wait 1 - turncwise 1 - playfram 0x44 - wait 1 - turncwise 1 - playfram 0x33 - wait 1 - turncwise 1 - playfram 0x22 - wait 1 - turncwise 1 - playfram 0x11 - wait 1 - turncwise 1 - goto IzirokorGndAttkToIdle - -IzirokorDeath: - playsnd 1506 # Izirokor death 01 - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 5 - lowsprul 763 0 0 # Izirokor Remnants (cm\zerg\izirokor-corpse.grp) - wait 2 - end - -IzirokorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1181 - playfram 639 - wait 2 - playfram 638 - wait 2 - playfram 637 - wait 2 - playfram 636 - wait 2 - playfram 635 - wait 2 - playfram 634 - wait 2 - playfram 633 - wait 2 - playfram 632 - wait 2 - playfram 631 - wait 2 - playfram 630 - wait 2 - setfldirect 14 - nobrkcodeend - goto IzirokorGndAttkToIdle - -IzirokorGndAttkInit: - playfram 0x1ba - wait 1 - playfram 0x1dc -IzirokorGndAttkRpt: - nobrkcodestart - playsndbtwn 1880 1881 # Izirokor weapon fire 01, 02 - wait 1 - wait 1 - playfram 0x1fe - wait 1 - playfram 0x20f - attack - wait 2 - playfram 0x220 - wait 2 - playfram 0x231 - wait 1 - playfram 0x242 - wait 2 - playfram 0x253 - wait 1 - playfram 0x264 - wait 1 - nobrkcodeend - gotorepeatattk - goto IzirokorGndAttkToIdle - -IzirokorWalking: - 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 0xdd - move 5 - wait 1 - playfram 0xee - move 5 - wait 1 - playfram 0xff - goto IzirokorWalking - -IzirokorSpecialState2: - playfram 0x187 - goto ScourgeLocal00 - -IzirokorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x286 - wait 1 - playfram 0x297 - wait 1 - playfram 0x2a8 - wait 1 - playfram 0x2b9 - wait 1 - playfram 0x2ca - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x2db - wait 1 - playfram 0x2ec - wait 1 - sigorder 4 - playfram 0x2fd - goto ScourgeLocal00 - -IzirokorUnburrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x2ec - wait 1 - playfram 0x2db - wait 1 - playfram 0x2ca - wait 1 - playfram 0x2b9 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x2a8 - wait 1 - playfram 0x297 - wait 1 - sigorder 4 - setfldirect 14 - goto IzirokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1476 Izirokor Energy (cm\zerg\izirokor-projectile.grp) -.headerstart -IsId 637 -Type 13 -Init IzirokorEnergyInit -Death IzirokorEnergyDeath -GndAttkInit IzirokorEnergyGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 IzirokorEnergySpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -IzirokorEnergyInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -IzirokorEnergyGndAttkInit: - sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) - playfram 0x00 - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - sprol 367 0 0 # Glave Wurm Trail - wait 1 - goto IzirokorEnergyGndAttkInit - -IzirokorEnergyDeath: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - if bullet.weapon_id == 165 goto TosgriliskEnergyDeath - playsnd 93 # Bullet\ZQuHit02.wav - wait 1 - end - -TosgriliskEnergyDeath: - playsndbtwn 3175 3177 # Tosgrilisk weaponhit 01, 02, 03 - wait 1 - end - -IzirokorEnergySpecialState1: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - if bullet.weapon_id == 165 goto TosgriliskEnergySpecialState1 - playsndbtwn 91 92 # Bullet\ZQuHit00.wav | Bullet\ZQuHit01.wav - goto IzirokorEnergyGndAttkInit - -TosgriliskEnergySpecialState1: - playsndbtwn 3175 3177 # Tosgrilisk weaponhit 01, 02, 03 - goto IzirokorEnergyGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1477 Cuirass Stonewall Protocol Overlay (cm\terran\cuirass-stonewall-protocol-overlay.grp) -.headerstart -IsId 638 -Type 1 -Init CuirassStonewallProtocolOverlayInit -Death CuirassStonewallProtocolOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -CuirassStonewallProtocolOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 -CuirassStonewallProtocolOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1477 Cyclops Fragmentary Explosion (cm\terran\cyclops-fragmentary-shells.grp) -.headerstart -IsId 639 -Type 1 -Init CyclopsFragmentaryExplosionInit -Death CyclopsFragmentaryExplosionDeath -.headerend -# ----------------------------------------------------------------------------- # - -CyclopsFragmentaryExplosionInit: - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 -CyclopsFragmentaryExplosionDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1478 Creep Morph Overlay (cm\zerg\creep-morph-overlay.grp) -# 1484 Resource Boost Overlay (Small) (cm\effect\resource-boost-overlay-small.grp) -# 1484 Resource Boost Overlay (Medium) (cm\effect\resource-boost-overlay-medium.grp) -# 1484 Resource Boost Overlay (Large) (cm\effect\resource-boost-overlay-large.grp) -.headerstart -IsId 640 -Type 1 -Init CreepMorphOverlayInit -Death CreepMorphOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -CreepMorphOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - 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 - tmprmgraphicstart - wait 15 -CreepMorphOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1479 Salvage Periodic Zap (cm\terran\salvage-zap.grp) -.headerstart -IsId 641 -Type 1 -Init SalvagePeriodicZapInit -Death SalvagePeriodicZapDeath -.headerend -# ----------------------------------------------------------------------------- # - -SalvagePeriodicZapInit: - playfram 0x00 - wait 1 - playfram 1 - 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 -SalvagePeriodicZapDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1480 Salvage Disable (Small) (cm\terran\salvage-disable-small.grp) -# 1481 Salvage Disable (Medium) (cm\terran\salvage-disable-medium.grp) -# 1482 Salvage Disable (Large) (cm\terran\salvage-disable-large.grp) -.headerstart -IsId 642 -Type 1 -Init SalvageDisableOverlayInit -Death SalvageDisableOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -SalvageDisableOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 -SalvageDisableOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1490 Gas Raw (cm\neutral\gas-raw.grp) -.headerstart -IsId 643 -Type 1 -Init GasRawInit -Death GasRawDeath -.headerend -# ----------------------------------------------------------------------------- # - -GasRawInit: - playfram 0 - pwrupcondjmp ScourgeLocal00 - imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) - goto ScourgeLocal00 - -GasRawDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1491 Gas Raw 2 (cm\neutral\gas-raw.grp) -.headerstart -IsId 644 -Type 1 -Init GasRaw2Init -Death GasRaw2Death -.headerend -# ----------------------------------------------------------------------------- # - -GasRaw2Init: - playfram 1 - pwrupcondjmp ScourgeLocal00 - imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) - goto ScourgeLocal00 - -GasRaw2Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1492 Demiurge Worship Proc (Small) (cm\protoss\demiurge-worship-proc-small.grp) -# 1493 Demiurge Worship Proc (Medium) (cm\protoss\demiurge-worship-proc-medium.grp) -# 1494 Demiurge Worship Proc (Large) (cm\protoss\demiurge-worship-proc-large.grp) -# 1881 Demiurge Worship Proc (XLarge) (cm\protoss\demiurge-worship-proc-xlarge.grp) -.headerstart -IsId 645 -Type 1 -Init WorshipOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -WorshipOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1495 Controlled Demolition (cm\terran\controlled-demolition.grp) -# 1496 Emergency Detonation (cm\terran\emergency-detonation.grp) -.headerstart -IsId 646 -Type 1 -Init TerranSelfDestructInit -Death TerranSelfDestructDeath -.headerend -# ----------------------------------------------------------------------------- # - -TerranSelfDestructInit: - playfram 0x00 - wait 1 - playfram 1 - 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 -TerranSelfDestructLocal00: - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - goto TerranSelfDestructLocal00 - -TerranSelfDestructDeath: - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1497 Madrigal Death Explosion (cm\terran\madrigal-death.grp) -.headerstart -IsId 647 -Type 1 -Init MadrigalDeathInit -Death MadrigalDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalDeathInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 -MadrigalDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1498 Penumbra Death Explosion (Primary) (cm\terran\penumbra-death-big.grp) -.headerstart -IsId 648 -Type 1 -Init PenumbraDeathInit -Death PenumbraDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -PenumbraDeathInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 -PenumbraDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1499 Tarasque Muzzle Flash (cm\shared\tarasque-muzzle-flash.grp) -.headerstart -IsId 649 -Type 1 -Init TarasqueMuzzleFlashInit -Death TarasqueMuzzleFlashDeath -.headerend -# ----------------------------------------------------------------------------- # - -TarasqueMuzzleFlashInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -TarasqueMuzzleFlashDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1500 Blackjack Remains (cm\terran\blackjack-corpse.grp) -# 1635 Mason Remnants (cm\terran\mason-remnants.grp) -# 1642 Vulture Remains (cm\terran\vulture-remains.grp) -# 1643 Quazilisk Remains (cm\zerg\quazilisk-remains.grp) -# 1644 Zealot Remains (cm\protoss\zealot-remains.grp) -# 1645 Cyclops Remains (cm\terran\cyclops-remains.grp) -# 1647 Goliath Remains (cm\terran\goliath-remains.grp) -# 1648 Ecclesiast Remains (cm\protoss\ecclesiast-remains.grp) -# 1648 Lanifect Remains (cm\protoss\lanifect-death.grp) -# 1904 Trojan Remains (cm\terran\trojan-death.grp) -# 1905 Envoy Remains (cm\protoss\envoy-death.grp) -# 1906 Ovileth Remains (cm\zerg\ovileth-death.grp) -# 1907 Phalanx (Tank) Remains (cm\terran\phalanx-tank-death.grp) -# 1908 Phalanx (Siege) Remains (cm\terran\phalanx-siege-death.grp) -# 1909 Hierophant Remains (cm\protoss\hierophant-death.grp) -# 1914 Simulacrum Remains (cm\protoss\simulacrum-death.grp) -# 1915 Vassal Remains (cm\protoss\vassal-death.grp) -# 1916 Nathrokor Remains (cm\zerg\nathrokor-death.grp) -.headerstart -IsId 650 -Type 1 -Init GenericRemnantsFiveInit -Death GenericRemnantsFiveDeath -.headerend -# ----------------------------------------------------------------------------- # - -GenericRemnantsFiveInit: - playfram 0x00 - wait 239 -GenericRemnantsFiveDeath: - wait 1 - playfram 1 - wait 255 - wait 24 - playfram 2 - wait 255 - wait 24 - playfram 3 - wait 255 - wait 24 - playfram 4 - wait 255 - wait 24 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1502 Gods Made Flesh Overlay (Small) (cm\protoss\demiurge-gods-made-flesh-small.grp) -# 1503 Gods Made Flesh Overlay (Medium) (cm\protoss\demiurge-gods-made-flesh-medium.grp) -# 1504 Gods Made Flesh Overlay (Large) (cm\protoss\demiurge-gods-made-flesh-large.grp) -.headerstart -IsId 651 -Type 1 -Init GodsMadeFleshOverlayInit -Death GodsMadeFleshOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -GodsMadeFleshOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 -GodsMadeFleshOverlayDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1509 Plague Field (cm\zerg\plague-field.grp) -.headerstart -IsId 652 -Type 1 -Init PlagueFieldInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -PlagueFieldInit: - playfram 7 - wait 2 -PlagueFieldLocal00: - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 7 - wait 2 - goto PlagueFieldLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1512 Gosvileth (cm\zerg\gosvileth.grp) -.headerstart -IsId 653 -Type 20 -Init GosvilethInit -Death GosvilethDeath -GndAttkInit GosvilethGndAttkInit -AirAttkInit GosvilethGndAttkInit -Unused1 GosvilethUnused1 -GndAttkRpt GosvilethGndAttkInit -AirAttkRpt GosvilethGndAttkInit -CastSpell [NONE] -GndAttkToIdle GosvilethWalkingToIdle -AirAttkToIdle GosvilethWalkingToIdle -Unused2 [NONE] -Walking GosvilethWalking -WalkingToIdle GosvilethWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt GosvilethAlmostBuilt -Built [NONE] -Landing GosvilethWalking -LiftOff GosvilethLiftOff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GosvilethInit: - imgul 1513 0 42 # Gosvileth Shadow (cm\zerg\gosvileth.grp) - playfram 0x00 - goto GosvilethLocal00 -GosvilethLocal00: - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0x00 - goto GosvilethLocal00 - -GosvilethWalkingToIdle: - playfram 0x00 - goto GosvilethLocal00 - -GosvilethDeath: - playsnd 833 # Zerg\DRONE\ZDrDth00.WAV - imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) - wait 1 - lowsprul 850 0 42 # Zerg Unit Rubble Tiny - wait 1 - end - -GosvilethUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1169 # Droleth Revive 01 - wait 8 - sprol 753 0 0 # Zerg Air Death Explosion (Small) - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto GosvilethWalkingToIdle - -GosvilethGndAttkInit: - setvertpos 0 - playsnd 64 # Bullet\SpoogHit.wav - sproluselo 332 0 # Needle Spines (thingy\spooge.grp) - wait 1 - attackwith 1 - gotorepeatattk - goto GosvilethWalkingToIdle - -GosvilethWalking: - setvertpos 0 -GosvilethLocal01: - wait 1 - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0x00 - goto GosvilethLocal01 - -GosvilethAlmostBuilt: - setvertpos 0 - wait 1 - waitrand 4 7 - playsndbtwn 1533 1535 # Droleth mining 01, 02, 03 - wait 2 - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - goto GosvilethAlmostBuilt - -GosvilethLiftOff: - sigorder 16 - goto GosvilethWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1515 Artisan (cm\protoss\artisan.grp) -.headerstart -IsId 654 -Type 21 -Init ArtisanInit -Death ArtisanDeath -GndAttkInit ArtisanGndAttkInit -AirAttkInit ArtisanGndAttkInit -Unused1 ArtisanUnused1 -GndAttkRpt ArtisanGndAttkInit -AirAttkRpt ArtisanGndAttkInit -CastSpell [NONE] -GndAttkToIdle ArtisanWalkingToIdle -AirAttkToIdle ArtisanWalkingToIdle -Unused2 [NONE] -Walking ArtisanWalking -WalkingToIdle ArtisanWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ArtisanAlmostBuilt -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ArtisanWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ArtisanInit: - imgul 1516 0 42 # Artisan Shadow (cm\protoss\artisan.grp) - playfram 0x00 - goto ArtisanLocal00 -ArtisanLocal00: - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0x00 - goto ArtisanLocal00 - -ArtisanDeath: - setfldirect 0 - playsnd 598 # Protoss\PROBE\PPrDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 2 - lowsprul 948 0 42 # Artisan remains - wait 1 - end - -ArtisanUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1352 # Artisan Revive 01 -# playfram 20 - wait 1 -# playfram 19 - wait 1 -# playfram 18 - wait 1 -# playfram 17 - sprol 740 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 1 - playfram 0x00 - wait 1 - setfldirect 10 - nobrkcodeend - goto ArtisanLocal00 - -ArtisanGndAttkInit: - wait 1 - attackwith 1 - playsndbtwn 2752 2753 # Artisan weaponfire 01, 02 - gotorepeatattk - goto ArtisanLocal00 - -ArtisanWalking: - wait 1 - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0x00 - goto ArtisanWalking - -ArtisanWalkingToIdle: - goto ArtisanLocal00 - -ArtisanAlmostBuilt: - useweapon 63 # Particle Beam (Harvest) - playsnd 614 # Protoss\PROBE\PPrMin00.WAV - playfram 0x20 - wait 1 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0x00 - wait 1 - goto ArtisanAlmostBuilt - -ArtisanWarpIn: - imgol 139 0 0 # Artisan Warp Flash (protoss\probe.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1519 (cm\protoss\tyranny-stun.grp) -.headerstart -IsId 655 -Type 1 -Init TyrannyStunInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -TyrannyStunInit: - playfram 0 - wait 2 -TyrannyStunLocal00: - 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 7 - wait 2 - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0 - wait 2 - goto TyrannyStunLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1524 Fusion Cutter Hit Damageless (bullet\scvspark.grp) -.headerstart -IsId 656 -Type 1 -Init FusionCutterHitDamagelessInit -Death FusionCutterHitDamagelessDeath -.headerend -# ----------------------------------------------------------------------------- # - -FusionCutterHitDamagelessInit: - playfram 0x00 - playsndbtwn 35 39 # terran\SCV\EDrRep00.wav | terran\SCV\EDrRep04.wav - goto FusionCutterHitDamagelessCont -FusionCutterHitDamagelessCont: - wait 1 - playfram 1 - wait 1 - 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 -FusionCutterHitDamagelessDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1526 Akistrokor Birth (cm\zerg\akistrokor-birth.grp) -# 1527 Alaszileth Birth (cm\zerg\alaszileth-birth.grp) -.headerstart -IsId 657 -Type 13 -Init NewZergAirBirthInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 NewZergZergAirBirthSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -NewZergAirBirthInit: - playfram 0x00 - goto ScourgeLocal00 - -NewZergZergAirBirthSpecialState1: - wait 1 - nobrkcodestart - 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 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1528 Keskathalor Spores (bullet\Spore2.grp) -.headerstart -IsId 658 -Type 2 -Init KeskathalorSporesInit -Death KeskathalorSporesDeath -GndAttkInit KeskathalorSporesGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KeskathalorSporesInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -KeskathalorSporesGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - goto KeskathalorSporesGndAttkInit - -KeskathalorSporesDeath: - playsndbtwn 1891 1893 # Keskathalor weapon hit 01, 02, 03 - imgol 1733 0 0 # Zerg spore explosion (large) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1529 Double Silent Seeker Spores (bullet\Spore2.grp) -.headerstart -IsId 659 -Type 2 -Init DoubleSilentSeekerSporesInit -Death DoubleSilentSeekerSporesDeath -GndAttkInit DoubleSilentSeekerSporesGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DoubleSilentSeekerSporesInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -DoubleSilentSeekerSporesGndAttkInit: - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 0x00 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 1 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 2 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - playfram 3 - wait 1 - sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) - goto DoubleSilentSeekerSporesGndAttkInit - -DoubleSilentSeekerSporesDeath: - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1530 Kagralisk (cm\zerg\kagralisk.grp) -.headerstart -IsId 660 -Type 26 -Init KagraliskInit -Death KagraliskDeath -GndAttkInit KagraliskGndAttkInit -AirAttkInit KagraliskGndAttkInit -Unused1 KagraliskUnused1 -GndAttkRpt KagraliskGndAttkInit -AirAttkRpt KagraliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle KagraliskGndAttkToIdle -AirAttkToIdle KagraliskGndAttkToIdle -Unused2 [NONE] -Walking KagraliskWalking -WalkingToIdle KagraliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 KagraliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow KagraliskBurrow -UnBurrow KagraliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KagraliskInit: - imgul 1531 0 0 # Kagralisk Shadow (cm\zerg\kagralisk-shadow.grp) -KagraliskWalkingToIdle: - playfram 0x00 -KagraliskLocal00: - wait 62 - randcondjmp 25 KagraliskLocal01 - randcondjmp 128 KagraliskLocal02 - goto KagraliskLocal00 - -KagraliskLocal01: - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 25 - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - playfram 0x88 - wait 1 - goto KagraliskWalkingToIdle - -KagraliskLocal02: - randcondjmp 128 KagraliskLocal03 - playfram 0x88 - wait 1 - turnccwise 1 - playfram 0x99 - wait 1 - turnccwise 1 - playfram 0xaa - wait 1 - turnccwise 1 - playfram 0xbb - wait 1 - turnccwise 1 - playfram 0xaa - wait 1 - turnccwise 1 - playfram 0x99 - wait 1 - turnccwise 1 - playfram 0x88 - wait 1 - turnccwise 1 - goto KagraliskWalkingToIdle - -KagraliskLocal03: - playfram 0x88 - wait 1 - turncwise 1 - playfram 0x99 - wait 1 - turncwise 1 - playfram 0xaa - wait 1 - turncwise 1 - playfram 0xbb - wait 1 - turncwise 1 - playfram 0xaa - wait 1 - turncwise 1 - playfram 0x99 - wait 1 - turncwise 1 - playfram 0x88 - wait 1 - turncwise 1 - goto KagraliskWalkingToIdle - -KagraliskDeath: - playsnd 867 # Zerg\Hydra\ZHyDth00.WAV - setfldirect 0 - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 5 - lowsprul 780 0 0 # Kagralisk Remnants - wait 1 - end - -KagraliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 # Hydralisk Revive 01 - playfram 365 - wait 2 - playfram 364 - wait 2 - playfram 363 - wait 2 - playfram 362 - wait 2 - playfram 361 - wait 2 - playfram 360 - wait 2 - playfram 359 - wait 2 - playfram 358 - wait 2 - playfram 357 - wait 2 - setfldirect 12 - nobrkcodeend - goto KagraliskWalkingToIdle - -KagraliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - playsnd 1894 # Kagralisk weaponfire 01 - attack - wait 1 - playfram 0x22 - attack - wait 1 - playfram 0x33 - attack - wait 1 - playfram 0x44 - attack - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -KagraliskGndAttkToIdle: - playfram 0x00 - wait 1 - goto KagraliskWalkingToIdle - -KagraliskWalking: - move 4 - wait 1 - playfram 0x88 - move 4 - wait 1 - playfram 0x99 - move 4 - wait 1 - playfram 0xaa - move 4 - wait 1 - playfram 0xbb - move 4 - wait 1 - playfram 0xcc - move 4 - wait 1 - playfram 0xdd - move 4 - wait 1 - playfram 0xee - move 4 - wait 1 - playfram 0xff - goto KagraliskWalking - -KagraliskSpecialState2: - playfram 0x154 - goto KagraliskLocal04 - -KagraliskLocal04: - wait 125 - goto KagraliskLocal04 - -KagraliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x00 - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - playfram 0x154 - sigorder 4 - wait 1 - goto KagraliskLocal04 - -KagraliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x143 - wait 1 - playfram 0x132 - wait 1 - playfram 0x121 - wait 1 - playfram 0x110 - wait 1 - playfram 0x00 - wait 1 - sigorder 4 - goto KagraliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1532 Kagralisk Remains -.headerstart -IsId 661 -Type 1 -Init GenericRemnantsSixInit -Death GenericRemnantsSixDeath -.headerend -# ----------------------------------------------------------------------------- # - -GenericRemnantsSixInit: - playfram 0x00 -GenericRemnantsSixDeath: - wait 239 - wait 1 - playfram 1 - wait 255 - wait 24 - playfram 2 - wait 255 - wait 24 - playfram 3 - wait 255 - wait 24 - playfram 4 - wait 255 - wait 24 - playfram 5 - wait 255 - wait 24 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1534 Kagralisk Weapon Hit -.headerstart -IsId 662 -Type 2 -Init KagraliskWeaponHitInit -Death KagraliskWeaponHitDeath -GndAttkInit KagraliskWeaponHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KagraliskWeaponHitInit: - wait 1 - sigorder 1 - wait 1 -KagraliskWeaponHitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1535 Izkag Iteth -.headerstart -IsId 663 -Type 20 -Init IzkagItethInit -Death IzkagItethDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt IzkagItethAlmostBuilt -Built IzkagItethBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking IzkagItethIsWorking -WorkingToIdle IzkagItethWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IzkagItethInit: - imgul 1536 0 0 # Izkag Iteth Shadow - playfram 0x00 - goto IzkagItethWorkingToIdle - -IzkagItethWorkingToIdle: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - playfram 0x00 - wait 2 - goto IzkagItethWorkingToIdle - -IzkagItethDeath: - playsnd 774 # Zerg\Bldg\ZBldgDth.WAV - imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) - wait 3 - lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) - wait 1 - end - -IzkagItethAlmostBuilt: - imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) -IzkagItethBuilt: - playfram 0x00 - wait 2 - goto IzkagItethWorkingToIdle - -IzkagItethIsWorking: - playfram 0x00 - wait 1 -# Disabled cuz iscript lol -# playfram 1 -# wait 1 -# playfram 2 -# wait 1 -# playfram 3 -# wait 1 -# playfram 4 -# wait 1 -# playfram 5 - goto IzkagItethIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1536 Kagralisk Venom -.headerstart -IsId 664 -Type 2 -Init KagraliskVenomInit -Death KagraliskVenomDeath -GndAttkInit KagraliskVenomGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KagraliskVenomInit: - playfram 0x00 - wait 1 - sigorder 1 - goto KagraliskVenomGndAttkInit - -KagraliskVenomGndAttkInit: - sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - goto KagraliskVenomGndAttkInit - -KagraliskVenomDeath: - domissiledmg - imgol 1097 0 0 # Nathrokor Attack Overlay - if bullet.weapon_id == 95 goto KonviliskVenomDeath - playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 - wait 1 - end - -KonviliskVenomDeath: - playsndbtwn 2393 2395 # Konvilisk weaponhit 01, 02, 03 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1537 Evigrilisk (unit/cm/zerg/evigrilisk.grp) -.headerstart -IsId 665 -Type 26 -Init EvigriliskInit -Death EvigriliskDeath -GndAttkInit EvigriliskGndAttkInit -AirAttkInit EvigriliskGndAttkInit -Unused1 EvigriliskUnused1 -GndAttkRpt EvigriliskGndAttkInit -AirAttkRpt EvigriliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle EvigriliskGndAttkToIdle -AirAttkToIdle EvigriliskGndAttkToIdle -Unused2 [NONE] -Walking EvigriliskWalking -WalkingToIdle EvigriliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 EvigriliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow EvigriliskBurrow -UnBurrow EvigriliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EvigriliskInit: - imgul 1541 0 0 # Evigrilisk Shadow (unit/cm/zerg/evigrilisk-shadow.grp) -EvigriliskWalkingToIdle: - playfram 0x00 -EvigriliskLocal00: - wait 62 - randcondjmp 25 EvigriliskLocal01 - randcondjmp 128 EvigriliskLocal02 - goto EvigriliskLocal00 - -EvigriliskLocal01: - wait 1 - goto EvigriliskWalkingToIdle - -EvigriliskLocal02: - randcondjmp 128 EvigriliskLocal03 - 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 EvigriliskWalkingToIdle - -EvigriliskLocal03: - 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 EvigriliskWalkingToIdle - -EvigriliskDeath: - 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 - -EvigriliskUnused1: - 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 EvigriliskWalkingToIdle - -EvigriliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x11 - playsndbtwn 1898 1900 # Evigrilisk 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 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0xcc - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -EvigriliskGndAttkToIdle: - playfram 0x00 - wait 1 - goto EvigriliskWalkingToIdle - -EvigriliskWalking: - 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 EvigriliskWalking - -EvigriliskSpecialState2: - playfram 0x176 - goto ScourgeLocal00 - -EvigriliskBurrow: - 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 ScourgeLocal00 - -EvigriliskUnBurrow: - 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 EvigriliskWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 296 Sentinel (Base) -.headerstart -IsId 666 -Type 20 -Init Sentinel_Base_Init -Death AtelierDeath -GndAttkInit ScourgeLocal00 -AirAttkInit ScourgeLocal00 -Unused1 [NONE] -GndAttkRpt ScourgeLocal00 -AirAttkRpt ScourgeLocal00 -CastSpell [NONE] -GndAttkToIdle ScourgeLocal00 -AirAttkToIdle ScourgeLocal00 -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt Sentinel_Base_AlmostBuilt -Built Sentinel_Base_Built -Landing Sentinel_Base_Landing -LiftOff Sentinel_Base_LiftOff -IsWorking ScourgeLocal00 -WorkingToIdle Sentinel_Base_WorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Sentinel_Base_Init: - playfram 2 - imgul 1546 0 0 # Sentinel (Base) Shadow - goto ScourgeLocal00 - -Sentinel_Base_AlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -Sentinel_Base_LiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 3 - wait 1 -# playfram 5 - wait 8 -# playfram 2 - wait 8 -# playfram 3 - wait 8 -# playfram 4 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -Sentinel_Base_Landing: - nobrkcodestart - wait 15 - playsnd 472 # Misc\Land.WAV -# playfram 4 - wait 8 -# playfram 3 - wait 8 -# playfram 2 - wait 8 -# playfram 5 - wait 8 - playfram 2 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -Sentinel_Base_Built: - imgol 1545 0 0 # Sentinel (Turret) -Sentinel_Base_WorkingToIdle: - playfram 2 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 297 Sentinel (Turret) -.headerstart -IsId 667 -Type 24 -Init Sentinel_Turret_Init -Death Generic_Wait1End -GndAttkInit Sentinel_Turret_GndAttkInit -AirAttkInit Sentinel_Turret_GndAttkInit -Unused1 [NONE] -GndAttkRpt Sentinel_Turret_GndAttkInit -AirAttkRpt Sentinel_Turret_GndAttkInit -CastSpell [NONE] -GndAttkToIdle Sentinel_Turret_GndAttkToIdle -AirAttkToIdle Sentinel_Turret_GndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt ScourgeLocal00 -Built Sentinel_Turret_Built -Landing Sentinel_Turret_Landing -LiftOff Sentinel_Turret_LiftOff -IsWorking Sentinel_Turret_Built -WorkingToIdle Sentinel_Turret_Built -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Sentinel_Turret_Init: - playfram 0x00 -Sentinel_Turret_Built: - wait 125 - goto Sentinel_Turret_Built - -Sentinel_Turret_LiftOff: - nobrkcodestart - wait 1 - wait 8 - wait 8 - wait 8 - nobrkcodeend - goto ScourgeLocal00 - -Sentinel_Turret_Landing: - nobrkcodestart - wait 15 - wait 8 - wait 8 - wait 8 - wait 8 - nobrkcodeend - goto Sentinel_Turret_Built - -Sentinel_Turret_GndAttkInit: - wait 1 - nobrkcodestart - attack - playfram 0x33 - playsndbtwn 2619 2621 # Sentinel weaponfire 01, 02, 03 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - sigorder 1 - wait 13 - ignorerest -Sentinel_Turret_GndAttkToIdle: - goto Sentinel_Turret_Built - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1457 Simulacrum Autovitality Proc -.headerstart -IsId 668 -Type 1 -Init UnitBrightenEffectHeaderInit -Death UnitBrightenEffectHeaderDeath -.headerend -# ----------------------------------------------------------------------------- # - -UnitBrightenEffectHeaderInit: - playfram 0x00 - wait 1 - followmaingraphic -UnitBrightenEffectHeaderDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1002 Vespene Ridge (cm\neutral\vespene-ridge.grp) -.headerstart -IsId 669 -Type 20 -Init VespeneRidgeInit -Death VespeneRidgeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 VespeneRidgeSpecialState1 -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built VespeneRidgeBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking VespeneRidgeSpecialState1 -WorkingToIdle VespeneRidgeSpecialState1 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VespeneRidgeInit: - playframtile 0x00 - imgul 1209 0 0 # Vespene Ridge Shadow -VespeneRidgeBuilt: - wait 14 -VespeneRidgeSpecialState1: - wait 1 - creategasoverlays 0 - waitrand 5 50 - creategasoverlays 2 - waitrand 5 50 - waitrand 5 50 - creategasoverlays 2 - waitrand 5 50 - creategasoverlays 0 - waitrand 5 50 - waitrand 5 50 - creategasoverlays 2 - waitrand 5 50 - goto VespeneRidgeSpecialState1 - -VespeneRidgeDeath: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1550 Idol Weapon Hit -.headerstart -IsId 670 -Type 2 -Init IdolWeaponHitInit -Death IdolWeaponHitDeath -GndAttkInit IdolWeaponHitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -IdolWeaponHitInit: - wait 1 - sigorder 1 - wait 1 -IdolWeaponHitDeath: - domissiledmg - randcondjmp 36 IdolWeaponHitLocal01 - randcondjmp 36 IdolWeaponHitLocal02 - randcondjmp 36 IdolWeaponHitLocal03 - randcondjmp 36 IdolWeaponHitLocal04 - randcondjmp 36 IdolWeaponHitLocal05 - randcondjmp 36 IdolWeaponHitLocal06 - wait 1 - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0x00 - wait 1 - end - -IdolWeaponHitLocal01: - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - end - -IdolWeaponHitLocal02: - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 9 - wait 1 - playfram 8 - wait 1 - end - -IdolWeaponHitLocal03: - playfram 12 - wait 1 - playfram 13 - wait 1 - playfram 14 - wait 1 - playfram 15 - wait 1 - playfram 14 - wait 1 - playfram 13 - wait 1 - playfram 12 - wait 1 - end - -IdolWeaponHitLocal04: - playfram 16 - wait 1 - playfram 17 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 17 - wait 1 - playfram 16 - wait 1 - end - -IdolWeaponHitLocal05: - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 22 - wait 1 - playfram 21 - wait 1 - playfram 20 - wait 1 - end - -IdolWeaponHitLocal06: - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 26 - wait 1 - playfram 25 - wait 1 - playfram 24 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1553 Salamander Death (cm\terran\salamander-death.grp) -.headerstart -IsId 671 -Type 1 -Init SalamanderDeathInit -Death SalamanderDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -SalamanderDeathInit: - playfram 0x00 - wait 1 - playfram 1 - 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 -SalamanderDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1365 Warp Anchor Underlay -.headerstart -IsId 672 -Type 1 -Init WarpAnchorUnderlayInit -Death WarpAnchorDeath -.headerend -# ----------------------------------------------------------------------------- # - -WarpAnchorUnderlayInit: - playfram 2 - goto ShadowHeaderInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1556 Blade Vortex Debuff (Small) -# 1557 Blade Vortex Debuff (Medium) -# 1558 Blade Vortex Debuff (Large) -.headerstart -IsId 673 -Type 1 -Init BladeVortexDebuffInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -BladeVortexDebuffInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 -BladeVortexDebuffLocal00: - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - goto BladeVortexDebuffLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1559 Stellar Enforcement Debuff (Small) -# 1560 Stellar Enforcement Debuff (Medium) -# 1561 Stellar Enforcement Debuff (Large) -# 1562 Stellar Enforcement Debuff (X-Large) -.headerstart -IsId 674 -Type 1 -Init StellarEnforcementDebuffInit -Death StellarEnforcementDebuffDeath -.headerend -# ----------------------------------------------------------------------------- # - -StellarEnforcementDebuffInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 -StellarEnforcementDebuffDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1563 Exemplar Death -.headerstart -IsId 675 -Type 1 -Init ExemplarDeathInit -Death ExemplarDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -ExemplarDeathInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 -ExemplarDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1564 Protoss Explosion (Small) -# 1565 Protoss Explosion (Medium) -# 1566 Protoss Explosion (Large) -.headerstart -IsId 676 -Type 1 -Init ProtossExplosionInit -Death ProtossExplosionDeath -.headerend -# ----------------------------------------------------------------------------- # - -ProtossExplosionInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 -ProtossExplosionDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1567 Star Sovereign Death -.headerstart -IsId 677 -Type 1 -Init StarSovereignDeathInit -Death StarSovereignDeathDeath -.headerend -# ----------------------------------------------------------------------------- # - -StarSovereignDeathInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 -StarSovereignDeathDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1004 Matrix (cm\protoss\matrix.grp) -.headerstart -IsId 678 -Type 27 -Init MatrixInit -Death MatrixDeath -GndAttkInit MatrixGndAttkInit -AirAttkInit MatrixGndAttkInit -Unused1 [NONE] -GndAttkRpt MatrixGndAttkRpt -AirAttkRpt MatrixGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MatrixBuilt -AirAttkToIdle MatrixBuilt -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built MatrixBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking MatrixBuilt -WorkingToIdle MatrixBuilt -WarpIn MatrixWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable MatrixEnable -.headerend -# ----------------------------------------------------------------------------- # - -MatrixInit: - imgul 1010 0 0 # Matrix Shadow (cm\protoss\matrix-shadow.grp) - goto MatrixBuilt - -MatrixBuilt: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 0x00 - wait 1 - goto MatrixBuilt - -MatrixDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) - wait 1 - end - -MatrixGndAttkInit: - playfram 6 -MatrixGndAttkRpt: - wait 1 - attack - playsndbtwn 1157 1159 # Matrix weaponfire 01, 02, 03 - imgol 1163 0 -52 # Matrix impact - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - gotorepeatattk - ignorerest - goto MatrixBuilt - -MatrixEnable: - playfram 0x00 - goto MatrixBuilt - -MatrixWarpIn: - imgol 1012 0 0 # Matrix Warp Flash (cm\protoss\matrix.grp) - goto MatrixBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1018 Sundog (cm\terran\sundog.grp) -.headerstart -IsId 679 -Type 12 -Init SundogInit -Death SundogDeath -GndAttkInit SundogGndAttkInit -AirAttkInit SundogGndAttkInit -Unused1 [NONE] -GndAttkRpt SundogGndAttkInit -AirAttkRpt SundogGndAttkInit -CastSpell [NONE] -GndAttkToIdle SundogGndAttkToIdle -AirAttkToIdle SundogGndAttkToIdle -Unused2 [NONE] -Walking SundogWalking -WalkingToIdle SundogGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SundogInit: - imgul 1019 0 42 # Sundog Shadow (terran\phoenix.grp) - playfram 0x00 - goto SundogGndAttkToIdle - -SundogGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto SundogGndAttkToIdle - -SundogDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -SundogGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 1148 1153 # Sundog weapon fire 01, 02, 03, 04, 05, 06 - attackwith 1 - wait 4 - playsndbtwn 1148 1153 # Sundog weapon fire 01, 02, 03, 04, 05, 06 - attackwith 1 - nobrkcodeend - gotorepeatattk - goto SundogLocal00 - -SundogLocal00: - wait 125 - goto SundogLocal00 - -SundogWalking: - setvertpos 0 - imgol 1577 0 0 # Sundog Engines (cm\terran\sundog-engine.grp) - goto SundogLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1523 Matador Tank Mode (cm\terran\matador.grp) -.headerstart -IsId 680 -Type 12 -Init MatadorInit -Death MatadorDeath -GndAttkInit MatadorGndAttkInit -AirAttkInit MatadorGndAttkInit -Unused1 MatadorUnused1 -GndAttkRpt MatadorGndAttkInit -AirAttkRpt MatadorGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking MatadorWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatadorInit: - imgul 1533 0 0 # Matador Shadow (cm\terran\matador-shadow.grp) - playfram 0x00 - goto InfestedTerranWalkingToIdle - -MatadorDeath: - playsndbtwn 1385 1386 # Matador death 01, 02 - imgol 332 0 -5 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 0 # Terran Unit Rubble Small - wait 1 - end - -MatadorUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1705 1706 - sprol 742 0 0 - setfldirect 12 - wait 12 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -MatadorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x100 - playsndbtwn 2736 2738 # Matador weaponfire 2 01, 02, 03 - imgol 421 0 0 # FlameThrower (thingy\flamer.grp) - attkshiftproj 24 - sigorder 32 - wait 1 - playfram 0x00 - attkshiftproj 52 - sigorder 32 - wait 1 - playfram 0x100 - attkshiftproj 80 - sigorder 32 - wait 1 - playfram 0x00 - wait 3 - nobrkcodeend - gotorepeatattk - goto InfestedTerranWalkingToIdle - -MatadorWalking: - 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 - goto MatadorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1036 Starpad (cm\terran\starpad.grp) -.headerstart -IsId 681 -Type 20 -Init StarpadInit -Death FulcrumDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 StarpadSpecialState1 -SpecialState2 [NONE] -AlmostBuilt StarpadAlmostBuilt -Built StarpadBuilt -Landing StarpadLanding -LiftOff StarpadLiftOff -IsWorking StarpadIsWorking -WorkingToIdle StarpadBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -StarpadInit: - imgul 1055 0 0 # Starpad Shadow (cm\terran\starpad-shadow.grp) -StarpadBuilt: - playfram 0x00 - goto ScourgeLocal00 - -StarpadSpecialState1: - playfram 3 - goto ScourgeLocal00 - -StarpadAlmostBuilt: - playfram 5 - goto ScourgeLocal00 - -StarpadLanding: - nobrkcodestart - wait 20 - playsnd 472 # Misc\Land.WAV - playfram 3 - wait 5 - playfram 2 - wait 5 - playfram 1 - wait 5 - playfram 4 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StarpadLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 4 - wait 5 - playfram 1 - wait 5 - playfram 2 - wait 5 - playfram 3 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -StarpadIsWorking: - imgol 1618 0 0 # Starpad Overlay (cm\terran\starpad-overlay.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1075 Ancile (cm\terran\ancile.grp) -.headerstart -IsId 682 -Type 12 -Init AncileInit -Death AncileDeath -GndAttkInit AncileGndAttkInit -AirAttkInit AncileGndAttkInit -Unused1 [NONE] -GndAttkRpt AncileGndAttkInit -AirAttkRpt AncileGndAttkInit -CastSpell AncileCastSpell -GndAttkToIdle AncileGndAttkToIdle -AirAttkToIdle AncileGndAttkToIdle -Unused2 [NONE] -Walking AncileWalking -WalkingToIdle AncileGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AncileInit: - imgul 1076 0 42 # Ancile Shadow (cm\terran\ancile.grp) - playfram 0x00 - goto AncileGndAttkToIdle - -AncileGndAttkToIdle: - setvertpos 1 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto AncileGndAttkToIdle - -AncileDeath: - playsndbtwn 3074 3076 # Ancile death 01, 02, 03 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 919 0 42 # Ancile Remains - wait 1 - end - -AncileGndAttkInit: - wait 1 - attackwith 1 - gotorepeatattk - goto AncileLocal00 - -AncileLocal00: - wait 125 - goto AncileLocal00 - -AncileCastSpell: - nobrkcodestart - castspell - sigorder 2 - nobrkcodeend - gotorepeatattk - goto AncileGndAttkToIdle - -AncileWalking: - setvertpos 0 - imgol 1077 0 0 # Ancile Engines (cm\terran\ancile-engines.grp) - goto AncileLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1100 Hippogriff (cm\terran\hippogriff.grp) -.headerstart -IsId 683 -Type 12 -Init HippogriffInit -Death HippogriffDeath -GndAttkInit HippogriffGndAttkInit -AirAttkInit HippogriffAirAttkInit -Unused1 [NONE] -GndAttkRpt HippogriffGndAttkInit -AirAttkRpt HippogriffAirAttkInit -CastSpell [NONE] -GndAttkToIdle HippogriffGndAttkToIdle -AirAttkToIdle HippogriffGndAttkToIdle -Unused2 [NONE] -Walking HippogriffWalking -WalkingToIdle ScourgeLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HippogriffInit: - imgul 1101 0 42 # Hippogriff Shadow (cm\terran\hippogriff.grp) -HippogriffGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -HippogriffDeath: - playsnd 177 # Terran\BATTLE\tbaDth00.wav - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 274 0 42 # Terran Building Rubble Large - wait 1 - end - -HippogriffGndAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 2139 2141 # Hippogriff Cannon Weaponfire 01, 02, 03 - playfram 0x20 - attack - attack - wait 1 - playfram 0x00 - wait 2 - playsndbtwn 2139 2141 # Hippogriff Cannon Weaponfire 01, 02, 03 - playfram 0x40 - attack - attack - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -HippogriffAirAttkInit: - wait 1 - nobrkcodestart - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 3 - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 3 - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 3 - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 3 - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 3 - playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 - attack - wait 1 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -HippogriffLocal00: - wait 125 - goto HippogriffLocal00 - -HippogriffWalking: - setvertpos 0 - imgol 1551 0 0 # Hippogriff Engines (cm\terran\hippogriff-engines.grp) - goto HippogriffLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1085 Wyvern (cm\terran\wyvern.grp) -.headerstart -IsId 685 -Type 12 -Init WyvernInit -Death WyvernDeath -GndAttkInit WyvernGndAttkInit -AirAttkInit WyvernGndAttkInit -Unused1 [NONE] -GndAttkRpt WyvernGndAttkInit -AirAttkRpt WyvernGndAttkInit -CastSpell WyvernCastSpell -GndAttkToIdle WyvernGndAttkToIdle -AirAttkToIdle WyvernGndAttkToIdle -Unused2 [NONE] -Walking WyvernWalking -WalkingToIdle WyvernGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WyvernInit: - imgul 1132 0 42 # Wyvern Shadow (protoss\scout.grp) - playfram 0x00 - goto ScourgeLocal00 - -WyvernGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -WyvernDeath: - playsnd 2838 # Wyvern death 01 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -WyvernGndAttkInit: - playfram 0x00 - playsndbtwn 3135 3137 # Wyvern weapon charge 01, 02, 03 - wait 12 - gotorepeatattk - ignorerest - goto WyvernGndAttkToIdle - -WyvernCastSpell: - sigorder 64 - wait 1 - nobrkcodestart - castspell - sigorder 2 - wait 1 - nobrkcodeend - gotorepeatattk - sigorder 128 - goto WyvernGndAttkToIdle - -WyvernWalking: - setvertpos 0 - imgol 1201 0 0 # Wyvern Engine (cm\terran\wyvern-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1197 Zarcavrokor (cm\zerg\zarcavrokor.grp) -.headerstart -IsId 687 -Type 12 -Init ZarcavrokorInit -Death ZarcavrokorDeath -GndAttkInit ZarcavrokorGndAttkInit -AirAttkInit ZarcavrokorGndAttkInit -Unused1 [NONE] -GndAttkRpt ZarcavrokorGndAttkInit -AirAttkRpt ZarcavrokorGndAttkInit -CastSpell ZarcavrokorCastSpell -GndAttkToIdle ZarcavrokorWalkingToIdle -AirAttkToIdle ZarcavrokorWalkingToIdle -Unused2 [NONE] -Walking ZarcavrokorWalking -WalkingToIdle ZarcavrokorWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZarcavrokorInit: - imgul 1210 0 42 # Zarcavrokor Shadow (cm\zerg\zarcavrokor.grp) - playfram 0x00 - wait 2 -ZarcavrokorWalkingToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x00 - wait 2 - goto ZarcavrokorWalkingToIdle - -ZarcavrokorDeath: - playsnd 852 # Zerg\Guardian\ZGuDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 186 0 42 # Zerg Building Rubble Small - wait 1 - end - -ZarcavrokorGndAttkInit: - nobrkcodestart - playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - attackwith 1 - playsndbtwn 3171 3174 # Gorgrokor weaponhit 01, 02, 03, 04 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto ZarcavrokorWalkingToIdle - -ZarcavrokorCastSpell: - nobrkcodestart - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - attackwith 1 - wait 1 - playfram 0x1a0 - castspell - sigorder 2 - playfram 0x1c0 - wait 1 - playfram 0x1a0 - wait 1 - playfram 0x180 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto ZarcavrokorWalkingToIdle - -ZarcavrokorWalking: - 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 0x00 - wait 1 - goto ZarcavrokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1226 Shaman Support Mode (cm\terran\shaman.grp) -.headerstart -IsId 688 -Type 13 -Init ShamanSupportModeInit -Death ShamanSupportModeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 ShamanSupportModeUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell ShamanSupportModeCastSpell -GndAttkToIdle ShamanSupportModeGndAttkToIdle -AirAttkToIdle ShamanSupportModeGndAttkToIdle -Unused2 [NONE] -Walking ShamanSupportModeWalking -WalkingToIdle ShamanSupportModeGndAttkToIdle -SpecialState1 ShamanSupportModeSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ShamanSupportModeInit: - imgul 1227 0 4 # Shaman Shadow (cm\terran\shaman-shadow.grp) - playfram 0x00 - goto ShamanSupportModeGndAttkToIdle - -ShamanSupportModeGndAttkToIdle: - playfram 0x00 - setvertpos 1 - wait 8 - setvertpos 2 - wait 8 - setvertpos 1 - wait 8 - setvertpos 0 - wait 8 - goto ShamanSupportModeGndAttkToIdle - -ShamanSupportModeDeath: - playsndbtwn 2834 2835 # Shaman Death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 821 0 0 # Shaman Remains - wait 1 - end - -ShamanSupportModeUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1705 1706 # Shaman Death Reversed 01, 02 - sprol 742 0 0 # Orange Explosion Medium Reversed - setfldirect 12 - wait 12 - nobrkcodeend - goto ShamanSupportModeGndAttkToIdle - -ShamanSupportModeCastSpell: - playfram 0x00 - wait 6 - goto ShamanSupportModeGndAttkToIdle - -ShamanSupportModeWalking: - setvertpos 0 - goto ScourgeLocal00 - -ShamanSupportModeSpecialState1: - attackwith 1 - sigorder 1 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1276 Vagrant (cm\protoss\vagrant.grp) -.headerstart -IsId 689 -Type 21 -Init VagrantInit -Death VagrantDeath -GndAttkInit VagrantGndAttkInit -AirAttkInit VagrantGndAttkInit -Unused1 EcclesiastUnused1 -GndAttkRpt VagrantGndAttkRpt -AirAttkRpt VagrantGndAttkRpt -CastSpell [NONE] -GndAttkToIdle EcclesiastGndAttkToIdle -AirAttkToIdle EcclesiastGndAttkToIdle -Unused2 [NONE] -Walking EcclesiastWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn VagrantWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -VagrantInit: - imgul 1277 0 -2 # Vagrant Shadow (cm\protoss\vagrant-shad.grp) - goto InfestedTerranWalkingToIdle - -VagrantDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -VagrantGndAttkInit: - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - goto VagrantGndAttkRpt -VagrantGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2126 2130 # Vagrant attack 01, 02, 03, 04, 05 - attackwith 1 - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto EcclesiastGndAttkToIdle - -VagrantWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1284 Herald (cm\protoss\herald.grp) -.headerstart -IsId 690 -Type 21 -Init HeraldInit -Death HeraldDeath -GndAttkInit HeraldGndAttkInit -AirAttkInit HeraldGndAttkInit -Unused1 HeraldUnused1 -GndAttkRpt HeraldGndAttkInit -AirAttkRpt HeraldGndAttkInit -CastSpell [NONE] -GndAttkToIdle HeraldGndAttkToIdle -AirAttkToIdle HeraldGndAttkToIdle -Unused2 [NONE] -Walking HeraldWalking -WalkingToIdle HeraldWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn HeraldWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -HeraldInit: - imgul 1285 0 0 # Herald Shadow (cm\protoss\herald-shadow.grp) -HeraldLocal42: - playfram 0x00 - wait 1 - goto HeraldLocal00 - -HeraldLocal00: - 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 - playfram 0x00 - wait 1 - randcondjmp 24 HeraldLocal01 - goto HeraldLocal00 - -HeraldLocal01: - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1E0 - wait 1 - playfram 0x200 - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x2A0 - wait 1 - playfram 0x00 - wait 1 - goto HeraldLocal00 - -HeraldDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - playsnd 533 # Protoss\Panoptus\PScDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 1 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -HeraldUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 # Cantavis revive 01 - imgol 1445 0 0 # Zealot 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 HeraldLocal42 - -HeraldGndAttkInit: - playfram 0x2C0 - wait 1 - nobrkcodestart -# playfram 0x2E0 -# wait 1 - playfram 0x300 - wait 1 -# playfram 0x320 -# wait 1 - playfram 0x340 - wait 1 -# playfram 0x360 -# wait 1 - playfram 0x380 - wait 1 -# playfram 0x3A0 -# wait 1 - playfram 0x3C0 - wait 1 - playfram 0x3E0 - playsndbtwn 2158 2160 # Herald attack 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x400 - wait 1 - playfram 0x420 - wait 1 - playfram 0x440 - nobrkcodeend - gotorepeatattk - ignorerest - wait 1 - playfram 0x00 - wait 1 - goto HeraldGndAttkToIdle - -HeraldGndAttkToIdle: - playfram 0x00 - wait 1 - goto HeraldLocal00 - -HeraldWalking: - 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 - playfram 0x00 - wait 1 - goto HeraldWalking - -HeraldWalkingToIdle: - playfram 0x00 - goto HeraldLocal00 - -HeraldWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1288 Epigraph (cm\protoss\epigraph.grp) -.headerstart -IsId 691 -Type 21 -Init EpigraphInit -Death EpigraphDeath -GndAttkInit EpigraphGndAttkInit -AirAttkInit EpigraphGndAttkInit -Unused1 [NONE] -GndAttkRpt EpigraphGndAttkInit -AirAttkRpt EpigraphGndAttkInit -CastSpell [NONE] -GndAttkToIdle EpigraphGndAttkToIdle -AirAttkToIdle EpigraphGndAttkToIdle -Unused2 [NONE] -Walking EpigraphWalking -WalkingToIdle EpigraphWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EpigraphInit: - imgul 1289 0 42 # Epigraph Shadow (cm\protoss\epigraph.grp) -EpigraphGndAttkToIdle: - playfram 0x00 - goto EpigraphWalkingToIdle - -EpigraphWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto EpigraphWalkingToIdle - -EpigraphDeath: - playsnd 533 # Protoss\Scout\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 223 0 42 # Protoss Building Rubble Small - wait 1 - end - -EpigraphGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 - playfram 0x20 - attackwith 1 - wait 1 - playfram 0x00 - wait 3 - playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 - playfram 0x40 - attackwith 1 - wait 1 - playfram 0x00 - wait 3 - playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 - playfram 0x60 - attackwith 1 - wait 1 - playfram 0x00 - wait 3 - playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 - playfram 0x80 - attackwith 1 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto EpigraphLocal00 - -EpigraphLocal00: - wait 125 - goto EpigraphLocal00 - -EpigraphWalking: - setvertpos 0 - imgol 1301 0 0 # Epigraph Engines (cm\protoss\epigraph-engine.grp) - playfram 0x00 - goto EpigraphLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1309 Tethzorokor (cm\zerg\tethzorokor.grp) -.headerstart -IsId 692 -Type 26 -Init TethzorokorInit -Death TethzorokorDeath -GndAttkInit TethzorokorGndAttkInit -AirAttkInit TethzorokorGndAttkInit -Unused1 TethzorokorUnused1 -GndAttkRpt TethzorokorGndAttkInit -AirAttkRpt TethzorokorGndAttkInit -CastSpell [NONE] -GndAttkToIdle TethzorokorGndAttkToIdle -AirAttkToIdle TethzorokorGndAttkToIdle -Unused2 [NONE] -Walking TethzorokorWalking -WalkingToIdle TethzorokorWalkingToIdle -SpecialState1 [NONE] -SpecialState2 TethzorokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow TethzorokorBurrow -UnBurrow TethzorokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TethzorokorInit: - imgul 1340 0 0 # Tethzorokor Shadow (cm\zerg\tethzorokor-shadow.grp) - goto TethzorokorLocal42 -TethzorokorLocal42: - playfram 0x00 - wait 1 - goto TethzorokorLocal00 - -TethzorokorLocal00: - wait 62 - randcondjmp 85 TethzorokorLocal01 - goto TethzorokorLocal00 - -TethzorokorLocal01: - 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 - playfram 0x180 - wait 1 - goto TethzorokorLocal42 - -TethzorokorDeath: - 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 - -TethzorokorUnused1: - 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 TethzorokorLocal42 - -TethzorokorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x360 - playsndbtwn 3141 3144 # Tethzorokor weaponfire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x380 - wait 1 - playfram 0x3A0 - wait 1 - playfram 0x3C0 - wait 1 - playfram 0x3E0 - wait 1 - playfram 0x400 - wait 1 - playfram 0x420 - wait 1 - playfram 0x440 - wait 1 - playfram 0x460 - wait 1 - playfram 0x480 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto TethzorokorGndAttkToIdle - -TethzorokorGndAttkToIdle: - playfram 0x00 - wait 1 - goto TethzorokorLocal00 - -TethzorokorWalking: - 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 - playfram 0x320 - move 5 - wait 1 - playfram 0x340 - move 5 - wait 1 - goto TethzorokorWalking - -TethzorokorWalkingToIdle: - playfram 0x00 - goto TethzorokorLocal00 - -TethzorokorSpecialState2: - playfram 0x4A0 - goto ScourgeLocal00 - -TethzorokorBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1E0 - wait 1 - playfram 0x200 - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x4A0 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -TethzorokorUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x240 - wait 1 - playfram 0x220 - wait 1 - playfram 0x200 - wait 1 - playfram 0x1E0 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - wait 1 - sigorder 4 - goto TethzorokorWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1341 Aion (cm\terran\aion.grp) -.headerstart -IsId 693 -Type 12 -Init AionInit -Death AionDeath -GndAttkInit AionGndAttkInit -AirAttkInit AionGndAttkInit -Unused1 AionUnused1 -GndAttkRpt AionGndAttkInit -AirAttkRpt AionGndAttkInit -CastSpell [NONE] -GndAttkToIdle AionGndAttkToIdle -AirAttkToIdle AionGndAttkToIdle -Unused2 [NONE] -Walking AionWalking -WalkingToIdle AionGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AionInit: - imgul 1361 0 7 # Aion Shadow (cm\terran\aion.grp) - playfram 0x00 - goto AionGndAttkToIdle - -AionGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto AionGndAttkToIdle - -AionDeath: - playsnd 353 # Terran\VULTURE\TVuDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) - wait 1 - end - -AionUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1699 # Aion revive 01 - sprol 742 0 0 - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto AionGndAttkToIdle - -AionGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - playfram 0x40 - playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x00 - wait 3 - playfram 0x60 - playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - playfram 0x80 - playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto AionGndAttkToIdle - -AionWalking: - playfram 0x00 - setvertpos 0 - goto AionLocal00 - -AionLocal00: - wait 125 - goto AionLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1554 Protathalor (cm\zerg\protathalor.grp) -.headerstart -IsId 694 -Type 26 -Init ProtathalorInit -Death ProtathalorDeath -GndAttkInit ProtathalorGndAttkInit -AirAttkInit ProtathalorGndAttkInit -Unused1 ProtathalorUnused1 -GndAttkRpt ProtathalorGndAttkInit -AirAttkRpt ProtathalorGndAttkInit -CastSpell ProtathalorCastSpell -GndAttkToIdle ProtathalorGndAttkToIdle -AirAttkToIdle ProtathalorGndAttkToIdle -Unused2 [NONE] -Walking ProtathalorWalking -WalkingToIdle ProtathalorWalkingToIdle -SpecialState1 [NONE] -SpecialState2 ProtathalorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow ProtathalorBurrow -UnBurrow ProtathalorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ProtathalorInit: - imgul 1568 0 0 # Protathalor Shadow (cm\zerg\protathalor-shadow.grp) - goto ProtathalorLocal42 -ProtathalorLocal42: - playfram 0x00 - wait 1 - goto ProtathalorLocal00 - -ProtathalorLocal00: - wait 62 - randcondjmp 85 ProtathalorLocal01 - goto ProtathalorLocal00 - -ProtathalorLocal01: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xa0 - wait 1 - playfram 0xc0 - wait 1 - goto ProtathalorLocal42 - -ProtathalorDeath: - playsnd 867 # Zerg\Hydra\ZHyDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 5 - lowsprul 849 0 0 # Zerg Unit Rubble Small - wait 1 - end - -ProtathalorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 # Hydralisk Revive 01 - sprol 754 0 0 -# 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 ProtathalorLocal42 - -ProtathalorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x200 - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x2A0 - wait 1 - playfram 0x2C0 - playsndbtwn 2536 2538 # Protathalor weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x2E0 - wait 1 - playfram 0x300 - wait 1 - playfram 0x320 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto ProtathalorGndAttkToIdle - -ProtathalorGndAttkToIdle: - playfram 0x00 - wait 1 - goto ProtathalorLocal00 - -ProtathalorCastSpell: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x200 - wait 1 - playfram 0x220 - wait 1 - playfram 0x240 - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x2A0 - wait 1 - playfram 0x2C0 - playsndbtwn 2014 2015 # Liiralisk attack 01, 02 - castspell - wait 1 - playfram 0x2E0 - wait 1 - playfram 0x300 - wait 1 - playfram 0x320 - wait 1 - nobrkcodeend - gotorepeatattk - goto ProtathalorGndAttkToIdle - -ProtathalorWalking: - move 5 - playfram 0xE0 - wait 1 - move 5 - playfram 0x100 - wait 1 - move 5 - playfram 0x120 - move 5 - wait 1 - playfram 0x140 - move 5 - wait 1 - playfram 0x160 - move 5 - wait 1 - playfram 0x180 - move 5 - wait 1 - playfram 0x1A0 - move 5 - wait 1 - playfram 0x1C0 - move 5 - wait 1 - playfram 0x1E0 - move 5 - wait 1 - goto ProtathalorWalking - -ProtathalorWalkingToIdle: - playfram 0x00 - goto ProtathalorLocal00 - -ProtathalorSpecialState2: - playfram 0x340 - goto ScourgeLocal00 - -ProtathalorBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xE0 - wait 1 - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 1 - playfram 0x340 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -ProtathalorUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x180 - wait 1 - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - playfram 0x100 - wait 1 - playfram 0xE0 - wait 1 - sigorder 4 - goto ProtathalorWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1569 Vilgorokor (cm\zerg\vilgorokor.grp) -.headerstart -IsId 695 -Type 26 -Init VilgorokorInit -Death VilgorokorDeath -GndAttkInit VilgorokorGndAttkInit -AirAttkInit VilgorokorGndAttkInit -Unused1 VilgorokorUnused1 -GndAttkRpt VilgorokorGndAttkInit -AirAttkRpt VilgorokorGndAttkInit -CastSpell [NONE] -GndAttkToIdle VilgorokorGndAttkToIdle -AirAttkToIdle VilgorokorGndAttkToIdle -Unused2 [NONE] -Walking VilgorokorWalking -WalkingToIdle VilgorokorWalkingToIdle -SpecialState1 [NONE] -SpecialState2 VilgorokorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow VilgorokorBurrow -UnBurrow VilgorokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VilgorokorInit: - imgul 1570 0 0 # Vilgorokor Shadow (cm\zerg\vilgorokor-shadow.grp) - goto VilgorokorLocal42 -VilgorokorLocal42: - playfram 0x00 - wait 1 - goto VilgorokorLocal00 - -VilgorokorLocal00: - wait 62 - randcondjmp 25 VilgorokorLocal01 - goto VilgorokorLocal00 - -VilgorokorLocal01: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - randcondjmp 42 VilgorokorLocal01 - goto VilgorokorLocal42 - -VilgorokorDeath: - 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 - -VilgorokorUnused1: - 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 VilgorokorLocal42 - -VilgorokorGndAttkInit: - playfram 0x121 - wait 1 - nobrkcodestart - playfram 0x132 - wait 1 - playfram 0x143 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x154 - wait 1 - playfram 0x165 - wait 1 - playfram 0x176 - attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV - wait 1 - playfram 0x187 - wait 1 - playfram 0x121 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto VilgorokorGndAttkToIdle - -VilgorokorGndAttkToIdle: - playfram 0x00 - wait 1 - goto VilgorokorLocal00 - -VilgorokorWalking: - move 5 - playfram 0x55 - wait 1 - move 5 - playfram 0x66 - wait 1 - move 5 - playfram 0x77 - move 5 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - move 5 - wait 1 - playfram 0xee - move 5 - wait 1 - playfram 0xff - move 5 - wait 1 - playfram 0x110 - move 5 - wait 1 - goto VilgorokorWalking - -VilgorokorWalkingToIdle: - playfram 0x00 - goto VilgorokorLocal00 - -VilgorokorSpecialState2: - playfram 0x198 - goto ScourgeLocal00 - -VilgorokorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - playfram 0x99 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0xaa - wait 1 - playfram 0x198 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -VilgorokorUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - playfram 0x88 - wait 1 - playfram 0x77 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x66 - wait 1 - playfram 0x55 - wait 1 - sigorder 4 - goto VilgorokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1372 Cikralisk (cm\zerg\cikralisk.grp) -.headerstart -IsId 696 -Type 26 -Init CikraliskInit -Death CikraliskDeath -GndAttkInit CikraliskGndAttkInit -AirAttkInit CikraliskGndAttkInit -Unused1 CikraliskUnused1 -GndAttkRpt CikraliskGndAttkInit -AirAttkRpt CikraliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle CikraliskGndAttkToIdle -AirAttkToIdle CikraliskGndAttkToIdle -Unused2 [NONE] -Walking CikraliskWalking -WalkingToIdle CikraliskGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 CikraliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow CikraliskBurrow -UnBurrow CikraliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CikraliskInit: - imgul 1394 0 0 # Cikralisk Shadow (cm\zerg\cikralisk-shadow.grp) - goto CikraliskGndAttkToIdle -CikraliskGndAttkToIdle: - playfram 0x00 - wait 1 - goto CikraliskGndAttkToIdle - -CikraliskDeath: - playsnd 867 # Zerg\Hydra\ZHyDth00.WAV - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 5 - lowsprul 849 0 0 # Zerg Unit Rubble Small - wait 1 - end - -CikraliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1172 # Hydralisk Revive 01 -# 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 CikraliskGndAttkToIdle - -CikraliskGndAttkInit: - playfram 0x120 - wait 1 - nobrkcodestart - playfram 0x140 - wait 1 - playfram 0x160 - attackwith 1 - wait 1 - playfram 0x180 - playsndbtwn 3027 3029 # Cikralisk weaponfire 01, 02, 03 - attackwith 1 - wait 1 - nobrkcodeend - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - gotorepeatattk - ignorerest - goto CikraliskGndAttkToIdle - -CikraliskWalking: - move 5 - playfram 0x20 - wait 1 - move 5 - playfram 0x40 - wait 1 - move 5 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - goto CikraliskWalking - -CikraliskSpecialState2: - playfram 0x1A0 - goto ScourgeLocal00 - -CikraliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x1A0 - sigorder 4 - wait 1 - goto ScourgeLocal00 - -CikraliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - sigorder 4 - goto CikraliskGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1395 Tosgrilisk (cm\zerg\tosgrilisk.grp) -.headerstart -IsId 697 -Type 12 -Init TosgriliskInit -Death TosgriliskDeath -GndAttkInit TosgriliskGndAttkInit -AirAttkInit TosgriliskGndAttkInit -Unused1 TosgriliskUnused1 -GndAttkRpt TosgriliskGndAttkInit -AirAttkRpt TosgriliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle TosgriliskGndAttkToIdle -AirAttkToIdle TosgriliskGndAttkToIdle -Unused2 [NONE] -Walking TosgriliskWalking -WalkingToIdle TosgriliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TosgriliskInit: - imgul 1571 0 42 # Tosgrilisk Shadow (cm\zerg\tosgrilisk.grp) - goto TosgriliskGndAttkToIdle -TosgriliskGndAttkToIdle: - playfram 0x00 - wait 2 - goto TosgriliskLocal00 -TosgriliskLocal00: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0x00 - wait 2 - goto TosgriliskLocal00 - -TosgriliskDeath: - playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV - imgol 41 0 0 # Tosgrilisk Death (zerg\zmuDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -TosgriliskUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1173 - wait 8 - sprol 753 0 0 # Zerg Air Death Explosion (Small) - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto TosgriliskGndAttkToIdle - -TosgriliskGndAttkInit: - playfram 0x180 - wait 1 - nobrkcodestart - playfram 0x1C0 - wait 1 - playfram 0x200 - playsndbtwn 2534 2535 # Tosgrilisk weaponfire 01, 02 - attackwith 1 - wait 1 - playfram 0x220 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x200 - playsndbtwn 2534 2535 # Tosgrilisk weaponfire 01, 02 - attackwith 1 - wait 1 - playfram 0x220 - nobrkcodeend - wait 1 - playfram 0x00 - gotorepeatattk - goto TosgriliskGndAttkToIdle - -TosgriliskWalking: - 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 TosgriliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1572 Ghitorokor (cm\zerg\ghitorokor.grp) -.headerstart -IsId 698 -Type 12 -Init GhitorokorInit -Death GhitorokorDeath -GndAttkInit GhitorokorGndAttkInit -AirAttkInit GhitorokorGndAttkInit -Unused1 GhitorokorUnused1 -GndAttkRpt GhitorokorGndAttkInit -AirAttkRpt GhitorokorGndAttkInit -CastSpell [NONE] -GndAttkToIdle GhitorokorGndAttkToIdle -AirAttkToIdle GhitorokorGndAttkToIdle -Unused2 [NONE] -Walking GhitorokorWalking -WalkingToIdle GhitorokorGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -GhitorokorInit: - imgul 1573 0 42 # Ghitorokor Shadow (cm\zerg\ghitorokor.grp) - playfram 0x00 - wait 2 -GhitorokorGndAttkToIdle: - 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 0x00 - wait 2 - goto GhitorokorGndAttkToIdle - -GhitorokorDeath: - playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV - imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) - wait 1 -# playfram 136 -# wait 1 -# playfram 137 -# wait 1 -# playfram 138 -# wait 1 -# playfram 139 -# wait 1 -# playfram 140 -# wait 1 -# playfram 141 -# wait 1 -# playfram 142 -# wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -GhitorokorUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1173 - wait 8 - sprol 753 0 0 # Zerg Air Death Explosion (Small) - wait 10 - setfldirect 12 - tmprmgraphicend - nobrkcodeend - goto GhitorokorGndAttkToIdle - -GhitorokorGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x77 - playsnd 113 # Bullet\zmuFir00.wav - attackwith 1 - wait 1 - playfram 0x66 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto GhitorokorGndAttkToIdle - -GhitorokorWalking: - 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 0x00 - wait 1 - goto GhitorokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1574 Zobriolisk (cm\zerg\zobriolisk.grp) -.headerstart -IsId 699 -Type 26 -Init ZobrioliskInit -Death ZobrioliskDeath -GndAttkInit ZobrioliskGndAttkInit -AirAttkInit ZobrioliskGndAttkInit -Unused1 ZobrioliskUnused1 -GndAttkRpt ZobrioliskGndAttkInit -AirAttkRpt ZobrioliskGndAttkInit -CastSpell ZobrioliskCastSpell -GndAttkToIdle ZobrioliskGndAttkToIdle -AirAttkToIdle ZobrioliskGndAttkToIdle -Unused2 [NONE] -Walking ZobrioliskWalking -WalkingToIdle ZobrioliskWalkingToIdle -SpecialState1 [NONE] -SpecialState2 ZobrioliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow ZobrioliskBurrow -UnBurrow ZobrioliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZobrioliskInit: - imgul 1575 0 0 # Zobriolisk Shadow (cm\zerg\zobriolisk-shadow.grp) - goto ZobrioliskLocal42 -ZobrioliskLocal42: - playfram 0x88 - wait 1 - goto ZobrioliskLocal00 - -ZobrioliskLocal00: - wait 62 - randcondjmp 25 ZobrioliskLocal01 - goto ZobrioliskLocal00 - -ZobrioliskLocal01: - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0x99 - wait 1 - playfram 0x88 - wait 1 - randcondjmp 42 ZobrioliskLocal01 - goto ZobrioliskLocal42 - -ZobrioliskDeath: - 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 - -ZobrioliskUnused1: - 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 ZobrioliskLocal42 - -ZobrioliskGndAttkInit: - playfram 0xbb - wait 1 - nobrkcodestart - playfram 0xcc - wait 1 - playfram 0xdd - attackwith 1 - wait 1 - playfram 0xcc - attackwith 1 - wait 1 - playfram 0xdd - attackwith 1 - wait 1 - playfram 0xcc - attackwith 1 - wait 1 - playfram 0xdd - attackwith 1 - wait 1 - playfram 0xcc - attackwith 1 - wait 1 - playfram 0xbb - wait 1 - playfram 0xaa - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto ZobrioliskGndAttkToIdle - -ZobrioliskGndAttkToIdle: - playfram 0x99 - wait 1 - playfram 0x88 - wait 1 - goto ZobrioliskLocal00 - -ZobrioliskCastSpell: - playfram 0xbb - wait 1 - nobrkcodestart - playfram 0xcc - wait 1 - playfram 0xdd - playsnd 894 # Zerg\Ultra\zulHit00.WAV - castspell - sigorder 2 - wait 1 - playfram 0xcc - wait 1 - playfram 0xbb - wait 1 - playfram 0xaa - wait 1 - nobrkcodeend - gotorepeatattk - goto ZobrioliskGndAttkToIdle - -ZobrioliskWalking: - move 4 - playfram 0x33 - wait 1 - move 4 - playfram 0x44 - wait 1 - move 4 - playfram 0x55 - wait 1 - move 4 - playfram 0x66 - wait 1 - move 4 - playfram 0x77 - wait 1 - move 4 - playfram 0x00 - wait 1 - move 4 - playfram 0x11 - wait 1 - move 4 - playfram 0x22 - wait 1 - goto ZobrioliskWalking - -ZobrioliskWalkingToIdle: - playfram 0x88 - goto ZobrioliskLocal00 - -ZobrioliskSpecialState2: - playfram 0xee - goto ScourgeLocal00 - -ZobrioliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x22 - wait 1 - playfram 0xee - wait 1 - sigorder 4 - goto ScourgeLocal00 - -ZobrioliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x22 - wait 1 - playfram 0x11 - wait 1 - sigorder 4 - goto ZobrioliskGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1579 Azazel (cm\terran\azazel.grp) -.headerstart -IsId 700 -Type 12 -Init AzazelInit -Death AzazelDeath -GndAttkInit AzazelGndAttkToIdle -AirAttkInit AzazelGndAttkToIdle -Unused1 [NONE] -GndAttkRpt AzazelGndAttkToIdle -AirAttkRpt AzazelGndAttkToIdle -CastSpell AzazelCastSpell -GndAttkToIdle AzazelGndAttkToIdle -AirAttkToIdle AzazelGndAttkToIdle -Unused2 [NONE] -Walking AzazelWalking -WalkingToIdle AzazelGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AzazelInit: - imgul 1580 0 42 # Azazel Shadow (neutral\Kcritter.grp) - playfram 0x00 - goto AzazelGndAttkToIdle - -AzazelGndAttkToIdle: - setvertpos 1 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto AzazelGndAttkToIdle - -AzazelDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - wait 1 - end - -AzazelLocal00: - wait 125 - goto AzazelLocal00 - -AzazelCastSpell: - nobrkcodestart - castspell - sigorder 2 - nobrkcodeend - gotorepeatattk - goto AzazelGndAttkToIdle - -AzazelWalking: - setvertpos 0 - imgol 1032 0 0 # Azazel Engines (cm\terran\azazel-engine.grp) - goto AzazelLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1581 Wendigo (cm\terran\wendigo.grp) -.headerstart -IsId 701 -Type 12 -Init WendigoInit -Death WendigoDeath -GndAttkInit WendigoGndAttkInit -AirAttkInit WendigoGndAttkInit -Unused1 [NONE] -GndAttkRpt WendigoGndAttkInit -AirAttkRpt WendigoGndAttkInit -CastSpell [NONE] -GndAttkToIdle WendigoGndAttkToIdle -AirAttkToIdle WendigoGndAttkToIdle -Unused2 [NONE] -Walking WendigoWalking -WalkingToIdle WendigoGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WendigoInit: - imgul 1582 0 42 # Wendigo Shadow (cm\terran\wendigo.grp) - playfram 0x00 - goto WendigoGndAttkToIdle - -WendigoGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto WendigoGndAttkToIdle - -WendigoDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 42 # Terran Unit Rubble Small - wait 1 - end - -WendigoGndAttkInit: - playfram 0x20 - wait 1 - nobrkcodestart - playfram 0x40 - playsndbtwn 2453 2454 # Wendigo weaponfire 01, 02 - attackwith 1 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto WendigoLocal00 - -WendigoLocal00: - wait 125 - goto WendigoLocal00 - -WendigoWalking: - playfram 0x00 - wait 125 - goto WendigoWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1583 Southpaw (cm\terran\southpaw.grp) -.headerstart -IsId 702 -Type 12 -Init SouthpawInit -Death SouthpawDeath -GndAttkInit SouthpawGndAttkInit -AirAttkInit SouthpawGndAttkInit -Unused1 [NONE] -GndAttkRpt SouthpawGndAttkInit -AirAttkRpt SouthpawGndAttkInit -CastSpell [NONE] -GndAttkToIdle SouthpawGndAttkToIdle -AirAttkToIdle SouthpawGndAttkToIdle -Unused2 [NONE] -Walking SouthpawWalking -WalkingToIdle SouthpawGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SouthpawInit: - imgul 1584 0 7 # Southpaw Shadow (cm\terran\southpaw.grp) - playfram 0x00 - goto SouthpawGndAttkToIdle - -SouthpawGndAttkToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto SouthpawGndAttkToIdle - -SouthpawDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 0 # Terran Unit Rubble Small - wait 1 - end - -SouthpawGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - playsndbtwn 2442 2443 # Southpaw weaponfire 01, 02 - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - playfram 0x40 - playsndbtwn 2442 2443 # Southpaw weaponfire - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - playfram 0x60 - playsndbtwn 2442 2443 # Southpaw weaponfire - attackwith 1 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto SouthpawLocal00 - -SouthpawLocal00: - wait 125 - goto SouthpawLocal00 - -SouthpawWalking: - setvertpos 0 - imgol 1585 0 0 # Southpaw Engines (cm\terran\southpaw-engine.grp) - goto SouthpawLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1586 Cyprian (cm\terran\cyprian.grp) -.headerstart -IsId 703 -Type 12 -Init CyprianInit -Death CyprianDeath -GndAttkInit CyprianGndAttkInit -AirAttkInit CyprianGndAttkInit -Unused1 [NONE] -GndAttkRpt CyprianGndAttkRpt -AirAttkRpt CyprianGndAttkRpt -CastSpell CyprianCastSpell -GndAttkToIdle CyprianGndAttkToIdle -AirAttkToIdle CyprianGndAttkToIdle -Unused2 [NONE] -Walking CyprianWalking -WalkingToIdle CyprianWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CyprianInit: - imgul 1587 0 -2 # Cyprian Shadow (cm\terran\cyprian.grp) -CyprianWalkingToIdle: - playfram 0x00 - goto CyprianLocal00 - -CyprianLocal00: - wait 125 - goto CyprianLocal00 - -CyprianDeath: - playsndbtwn 276 277 # Maverick death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 820 0 0 # Cyprian Remains (cm\terran\cyprian-remains.grp) - wait 1 - end - -CyprianGndAttkInit: - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 -CyprianGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x1E0 - playsndbtwn 1189 1193 # Cyprian weaponfire 01, 02, 03, 04, 05 - attackwith 1 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -CyprianGndAttkToIdle: - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - goto CyprianWalkingToIdle - -CyprianCastSpell: - wait 1 - goto CyprianGndAttkToIdle - -CyprianWalking: - move 3 - wait 1 - playfram 0x80 - move 3 - wait 1 - playfram 0xA0 - move 3 - wait 1 - playfram 0xC0 - move 3 - wait 1 - playfram 0xE0 - move 3 - wait 1 - playfram 0x100 - move 3 - wait 1 - playfram 0x20 - move 3 - wait 1 - playfram 0x40 - move 3 - wait 1 - playfram 0x60 - goto CyprianWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1149 Cataphract (cm\terran\cataphract.grp) -.headerstart -IsId 704 -Type 12 -Init CataphractInit -Death CataphractDeath -GndAttkInit CataphractGndAttkInit -AirAttkInit CataphractGndAttkInit -Unused1 CataphractUnused1 -GndAttkRpt CataphractGndAttkInit -AirAttkRpt CataphractGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking CataphractWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CataphractInit: - imgul 1167 0 0 # Cataphract shadow (cm\terran\cataphract-shadow.grp) - goto InfestedTerranWalkingToIdle - -CataphractDeath: - playsndbtwn 3067 3073 # Cataphract death 01, 02, 03, 04, 05, 06, 07 - imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) - wait 3 - lowsprul 273 0 0 # Terran Building Rubble Small -# lowsprul 816 0 0 # Cataphract Remains - wait 1 - end - -CataphractUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 744 0 0 # Large Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -CataphractGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x220 - playsndbtwn 2347 2350 # Cataphract weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - ignorerest - goto InfestedTerranWalkingToIdle - -CataphractWalking: - playfram 0xA0 - move 3 - wait 1 - playfram 0xC0 - move 3 - wait 1 - playfram 0xE0 - move 3 - wait 1 - playfram 0x100 - move 3 - wait 1 - playfram 0x120 - move 3 - wait 1 - playfram 0x140 - move 3 - wait 1 - playfram 0x160 - move 3 - wait 1 - playfram 0x180 - move 3 - wait 1 - playfram 0x1A0 - move 3 - wait 1 - playfram 0x1C0 - move 3 - wait 1 - playfram 0x1E0 - move 3 - wait 1 - playfram 0x20 - move 3 - wait 1 - playfram 0x40 - move 3 - wait 1 - playfram 0x60 - move 3 - wait 1 - playfram 0x80 - move 3 - wait 1 - goto CataphractWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1589 Durendal (cm\terran\durendal.grp) -.headerstart -IsId 705 -Type 12 -Init DurendalInit -Death DurendalDeath -GndAttkInit DurendalGndAttkInit -AirAttkInit DurendalGndAttkInit -Unused1 DurendalUnused1 -GndAttkRpt DurendalGndAttkRpt -AirAttkRpt DurendalGndAttkRpt -CastSpell [NONE] -GndAttkToIdle DurendalGndAttkToIdle -AirAttkToIdle DurendalGndAttkToIdle -Unused2 [NONE] -Walking DurendalWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DurendalInit: - imgul 1590 0 -9 # Durendal shadow (cm\terran\durendal-shadow.grp) - goto InfestedTerranWalkingToIdle - -DurendalDeath: - playsndbtwn 1598 1602 # Durendal death 01, 02, 03, 04, 05 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 0 # Terran Unit Rubble Medium - wait 1 - end - -DurendalUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 742 0 0 # Small Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -DurendalGndAttkInit: - playfram 0x220 - wait 1 - playfram 0x240 -DurendalGndAttkRpt: - wait 1 - nobrkcodestart - wait 1 - playfram 0x260 - imgol 421 0 0 # FlameThrower (thingy\flamer.grp) - attkshiftproj 24 - sigorder 32 - wait 1 - playfram 0x280 - attkshiftproj 52 - sigorder 32 - wait 1 - attkshiftproj 80 - sigorder 32 - wait 6 - nobrkcodeend - gotorepeatattk - ignorerest -DurendalGndAttkToIdle: - playfram 0x240 - wait 1 - playfram 0x220 - wait 1 - goto InfestedTerranWalkingToIdle - -DurendalWalking: - playfram 0xA0 - move 5 - wait 1 - playfram 0xC0 - move 5 - wait 1 - playfram 0xE0 - move 5 - wait 1 - playfram 0x100 - move 5 - wait 1 - playfram 0x120 - move 5 - wait 1 - playfram 0x140 - move 5 - wait 1 - playfram 0x160 - move 5 - wait 1 - 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 0x20 - move 5 - wait 1 - playfram 0x40 - move 5 - wait 1 - playfram 0x60 - move 5 - wait 1 - playfram 0x80 - move 5 - wait 1 - goto DurendalWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1591 Sevenstep (cm\terran\sevenstep.grp) -.headerstart -IsId 706 -Type 12 -Init SevenstepInit -Death SevenstepDeath -GndAttkInit SevenstepGndAttkInit -AirAttkInit SevenstepGndAttkInit -Unused1 [NONE] -GndAttkRpt SevenstepGndAttkRpt -AirAttkRpt SevenstepGndAttkRpt -CastSpell SevenstepCastSpell -GndAttkToIdle SevenstepGndAttkToIdle -AirAttkToIdle SevenstepGndAttkToIdle -Unused2 [NONE] -Walking SevenstepWalking -WalkingToIdle SevenstepWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SevenstepInit: - imgul 1592 0 0 # Sevenstep Shadow (cm\terran\sevenstep-shadow.grp) -SevenstepWalkingToIdle: - playfram 0x00 - goto SevenstepLocal00 - -SevenstepLocal00: - wait 62 - randcondjmp 25 SevenstepLocal01 - goto SevenstepLocal00 - -SevenstepLocal01: - 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 0x00 - wait 1 - goto SevenstepLocal00 - -SevenstepDeath: - playsndbtwn 276 277 # Maverick death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 2 - lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) - wait 1 - end - -SevenstepGndAttkInit: - playfram 0x280 - wait 1 - playfram 0x2C0 - wait 1 - playfram 0x300 - wait 1 - playfram 0x340 -SevenstepGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0x3A0 - playsndbtwn 2092 2094 # Sevenstep weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x3C0 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -SevenstepGndAttkToIdle: - playfram 0x320 - wait 1 - playfram 0x2E0 - wait 1 - playfram 0x2C0 - wait 1 - playfram 0x2A0 - wait 1 - goto SevenstepWalkingToIdle - -SevenstepCastSpell: - wait 1 - goto SevenstepGndAttkToIdle - -SevenstepWalking: - 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 - move 4 - wait 1 - playfram 0x200 - move 4 - wait 1 - playfram 0x220 - move 4 - wait 1 - playfram 0x240 - move 4 - wait 1 - playfram 0x260 - goto SevenstepWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1593 Tetcaerokor (cm\zerg\tetcaerokor.grp) -.headerstart -IsId 707 -Type 12 -Init TetcaerokorInit -Death TetcaerokorDeath -GndAttkInit TetcaerokorGndAttkInit -AirAttkInit TetcaerokorGndAttkInit -Unused1 [NONE] -GndAttkRpt TetcaerokorGndAttkInit -AirAttkRpt TetcaerokorGndAttkInit -CastSpell TetcaerokorCastSpell -GndAttkToIdle TetcaerokorWalkingToIdle -AirAttkToIdle TetcaerokorWalkingToIdle -Unused2 [NONE] -Walking TetcaerokorWalking -WalkingToIdle TetcaerokorWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TetcaerokorInit: - imgul 1594 0 42 # Tetcaerokor Shadow (cm\zerg\tetcaerokor.grp) - playfram 0x20 - wait 2 -TetcaerokorWalkingToIdle: - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x120 - wait 2 - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - goto TetcaerokorWalkingToIdle - -TetcaerokorDeath: - playsnd 852 # Zerg\Guardian\ZGuDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -TetcaerokorGndAttkInit: - nobrkcodestart - playsndbtwn 1295 1296 # Tetcaerokor weapon fire 01, 02 - playfram 0x440 - wait 1 - playfram 0x480 - wait 1 - playfram 0x4C0 - wait 1 - playfram 0x4E0 - attackwith 1 - playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0x500 - wait 1 - playfram 0x520 - wait 1 - playfram 0x540 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto TetcaerokorWalkingToIdle - -TetcaerokorCastSpell: - nobrkcodestart - playsndbtwn 1294 1295 # Tetcaerokor weapon fire 01, 02 - playfram 0x2E0 - wait 1 - playfram 0x320 - wait 1 - playfram 0x360 - castspell - playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0x3A0 - wait 1 - playfram 0x3E0 - wait 1 - playfram 0x400 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - goto TetcaerokorWalkingToIdle - -TetcaerokorWalking: - 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 0x00 - wait 1 - goto TetcaerokorWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1595 Dilettante (cm\terran\dilettante.grp) -.headerstart -IsId 708 -Type 12 -Init DilettanteInit -Death DilettanteDeath -GndAttkInit DilettanteGndAttkInit -AirAttkInit DilettanteGndAttkInit -Unused1 DilettanteUnused1 -GndAttkRpt DilettanteGndAttkRpt -AirAttkRpt DilettanteGndAttkRpt -CastSpell [NONE] -GndAttkToIdle DilettanteGndAttkToIdle -AirAttkToIdle DilettanteGndAttkToIdle -Unused2 [NONE] -Walking DilettanteWalking -WalkingToIdle DilettanteWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -DilettanteInit: - imgul 1596 0 -3 # Dilettante Shadow (cm\terran\dilettante-shadow.grp) -DilettanteWalkingToIdle: - playfram 0x00 -DilettanteLocal00: - wait 62 - randcondjmp 25 DilettanteLocal01 - randcondjmp 128 DilettanteLocal02 - goto DilettanteLocal00 - -DilettanteLocal01: - playfram 0x77 - wait 1 - randcondjmp 192 DilettanteLocal03 - 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 DilettanteLocal04 - -DilettanteLocal04: - playfram 0x00 - wait 1 - goto DilettanteWalkingToIdle - -DilettanteLocal03: - wait 13 - playfram 0x77 - wait 1 - playfram 0x00 - wait 1 - goto DilettanteWalkingToIdle - -DilettanteLocal02: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - turnrand 3 - wait 1 - playfram 0x11 - wait 1 - goto DilettanteWalkingToIdle - -DilettanteDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - setfldirect 0 - playfram 170 - wait 2 - playfram 171 - wait 2 - playfram 172 - wait 2 - playfram 173 - wait 2 - playfram 174 - wait 2 - playfram 175 - wait 2 - playfram 176 - wait 2 - lowsprul 797 0 0 # Dilettante Remnants (cm\terran\dilettante-remains.grp) - wait 1 - end - -DilettanteUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1161 1162 # Maverick revive 01, 02 - playfram 175 - wait 2 - playfram 174 - wait 2 - playfram 173 - wait 2 - playfram 172 - wait 2 - playfram 171 - wait 2 - playfram 170 - wait 2 - setfldirect 12 - nobrkcodeend - goto DilettanteWalkingToIdle - -DilettanteGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x77 -DilettanteGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2088 2091 # Dilettante weapon fire 01, 02 - attackwith 1 - playfram 0x99 - wait 1 - playfram 0x77 - nobrkcodeend - gotorepeatattk - ignorerest -DilettanteGndAttkToIdle: - playfram 0x77 - wait 2 - playfram 0x00 - goto DilettanteWalkingToIdle - -DilettanteWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - goto DilettanteWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1598 Hypnagogue (cm\terran\hypnagogue.grp) -.headerstart -IsId 709 -Type 12 -Init HypnagogueInit -Death HypnagogueDeath -GndAttkInit HypnagogueGndAttkInit -AirAttkInit HypnagogueGndAttkInit -Unused1 HypnagogueUnused1 -GndAttkRpt HypnagogueGndAttkRpt -AirAttkRpt HypnagogueGndAttkRpt -CastSpell HypnagogueCastSpell -GndAttkToIdle HypnagogueGndAttkToIdle -AirAttkToIdle HypnagogueGndAttkToIdle -Unused2 [NONE] -Walking HypnagogueWalking -WalkingToIdle HypnagogueWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HypnagogueInit: - imgul 1599 0 0 # Hypnagogue Shadow (cm\terran\hypnagogue-shadow.grp) -HypnagogueWalkingToIdle: - playfram 0x00 -HypnagogueLocal00: - wait 62 - randcondjmp 25 HypnagogueLocal01 - randcondjmp 128 HypnagogueLocal02 - goto HypnagogueLocal00 - -HypnagogueLocal01: - playfram 0x77 - wait 1 - randcondjmp 192 HypnagogueLocal03 - 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 HypnagogueLocal04 - -HypnagogueLocal04: - playfram 0x00 - wait 1 - goto HypnagogueWalkingToIdle - -HypnagogueLocal03: - wait 13 - playfram 0x77 - wait 1 - playfram 0x00 - wait 1 - goto HypnagogueWalkingToIdle - -HypnagogueLocal02: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - turnrand 3 - wait 1 - playfram 0x11 - wait 1 - goto HypnagogueWalkingToIdle - -HypnagogueDeath: - playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV - setfldirect 0 - playfram 306 - wait 2 - playfram 307 - wait 2 - playfram 308 - wait 2 - playfram 309 - wait 2 - playfram 310 - wait 2 - playfram 311 - wait 2 - lowsprul 799 0 0 # Hypnagogue Remnants (cm\terran\hypnagogue-remains.grp) - wait 1 - end - -HypnagogueUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsndbtwn 1161 1162 # Maverick revive 01, 02 - playfram 310 - wait 2 - playfram 309 - wait 2 - playfram 308 - wait 2 - playfram 307 - wait 2 - playfram 306 - wait 2 - setfldirect 12 - nobrkcodeend - goto HypnagogueWalkingToIdle - -HypnagogueGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x77 -HypnagogueGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2103 2105 # Hypnagogue weaponfire 01, 02, 03 - attackwith 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 3 - attackwith 1 - playfram 0x88 - wait 1 - playfram 0x77 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -HypnagogueGndAttkToIdle: - playfram 0x00 - wait 1 - goto HypnagogueWalkingToIdle - -HypnagogueCastSpell: - wait 1 - castspell - sigorder 2 - goto HypnagogueWalkingToIdle - -HypnagogueWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - goto HypnagogueWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1619 Apothecary (cm\terran\apothecary.grp) -.headerstart -IsId 711 -Type 20 -Init ApothecaryInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 ApothecarySpecialState1 -SpecialState2 [NONE] -AlmostBuilt ApothecaryAlmostBuilt -Built ApothecaryBuilt -Landing ApothecaryLanding -LiftOff ApothecaryLiftOff -IsWorking ApothecaryIsWorking -WorkingToIdle ApothecaryBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ApothecaryInit: - imgul 1620 0 0 # Apothecary Shadow (cm\terran\apothecary-shadow.grp) -ApothecaryBuilt: - playfram 0x00 - goto ScourgeLocal00 - -ApothecarySpecialState1: - playfram 0 - goto ScourgeLocal00 - -ApothecaryAlmostBuilt: - playfram 5 - goto ScourgeLocal00 - -ApothecaryLanding: - nobrkcodestart - wait 20 - playsnd 472 # Misc\Land.WAV -# playfram 3 - wait 5 -# playfram 2 - wait 5 -# playfram 1 - wait 5 -# playfram 4 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -ApothecaryLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV -# playfram 4 - wait 5 -# playfram 1 - wait 5 -# playfram 2 - wait 5 -# playfram 3 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -ApothecaryIsWorking: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - playfram 2 - wait 1 - playfram 1 - wait 1 - playfram 0 - wait 1 - goto ApothecaryIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1639 Unitary Union (cm\protoss\unitary-union.grp) -.headerstart -IsId 712 -Type 21 -Init UnitaryUnionInit -Death GatewayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built InfestedTerranWalkingToIdle -Landing ScourgeLocal00 -LiftOff ScourgeLocal00 -IsWorking UnitaryUnionIsWorking -WorkingToIdle InfestedTerranWalkingToIdle -WarpIn UnitaryUnionWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -UnitaryUnionInit: - imgul 1640 0 0 # Unitary Union Shadow (cm\protoss\unitary-union-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -UnitaryUnionIsWorking: - playfram 1 - wait 1 - 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 0 - wait 1 - goto UnitaryUnionIsWorking - -UnitaryUnionWarpIn: - imgol 1641 0 0 # Unitary Union Warp Flash (cm\protoss\unitary-union.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1628 Energy Regen Overlay (Small) (cm\effect\energy-regen-small.grp) -# 1629 Energy Regen Overlay (Medium) (cm\effect\energy-regen-small.grp) -# 1630 Energy Regen Overlay (Large) (cm\effect\energy-regen-small.grp) -# 1631 Energy Regen Overlay (X-Large) (cm\effect\energy-regen-small.grp) -.headerstart -IsId 713 -Type 1 -Init EnergyRegenOverlayInit -Death EnergyRegenOverlayDeath -.headerend -# ----------------------------------------------------------------------------- # - -EnergyRegenOverlayInit: - playfram 0x00 - wait 1 -EnergyRegenOverlayLocal00: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - tmprmgraphicstart - wait 10 - tmprmgraphicend - playfram 0x00 - wait 1 - goto EnergyRegenOverlayLocal00 - -EnergyRegenOverlayDeath: - playfram 17 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1646 Cyclops Fragmentary Arming (cm\terran\cyclops-fragmentary-shells.grp) -.headerstart -IsId 714 -Type 1 -Init CyclopsFragmentaryArmingInit -Death CyclopsFragmentaryArmingDeath -.headerend -# ----------------------------------------------------------------------------- # - -CyclopsFragmentaryArmingInit: - wait 2 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - 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 -CyclopsFragmentaryArmingDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1656 Ramesses (cm\terran\ramesses.grp) -.headerstart -IsId 715 -Type 12 -Init RamessesInit -Death RamessesDeath -GndAttkInit RamessesGndAttkInit -AirAttkInit RamessesGndAttkInit -Unused1 RamessesUnused1 -GndAttkRpt RamessesGndAttkInit -AirAttkRpt RamessesGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking RamessesWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -RamessesInit: - imgul 1657 0 0 # Ramesses shadow (cm\terran\ramesses-shadow.grp) - goto InfestedTerranWalkingToIdle - -RamessesDeath: - playsndbtwn 1598 1602 # Ramesses death 01, 02, 03, 04, 05 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 0 # Terran Unit Rubble Small -# lowsprul 816 0 0 # Ramesses Remains - wait 1 - end - -RamessesUnused1: - wait 1 - nobrkcodestart - playsnd 1700 - sprol 742 0 0 # Small Orange Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto InfestedTerranWalkingToIdle - -RamessesGndAttkInit: - wait 1 - nobrkcodestart - playfram 0x99 - playsndbtwn 2085 2087 # Ramesses weapon fire 01, 02, 03 - attack - wait 1 - playfram 0xaa - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto InfestedTerranWalkingToIdle - -RamessesWalking: - 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 - move 5 - wait 1 - playfram 0x11 - move 5 - wait 1 - playfram 0x22 - move 5 - wait 1 - goto RamessesWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1619 Mantle (cm\terran\mantle.grp) -.headerstart -IsId 716 -Type 20 -Init MantleInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 MantleSpecialState1 -SpecialState2 [NONE] -AlmostBuilt MantleAlmostBuilt -Built MantleBuilt -Landing MantleLanding -LiftOff MantleLiftOff -IsWorking MantleIsWorking -WorkingToIdle MantleBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MantleInit: - imgul 1655 0 0 # Mantle Shadow (cm\terran\mantle-shadow.grp) -MantleBuilt: - playfram 0x00 - goto ScourgeLocal00 - -MantleSpecialState1: - playfram 0 - goto ScourgeLocal00 - -MantleAlmostBuilt: - playfram 20 - goto ScourgeLocal00 - -MantleLanding: - nobrkcodestart - wait 20 - playsnd 472 # Misc\Land.WAV -# playfram 3 - wait 5 -# playfram 2 - wait 5 -# playfram 1 - wait 5 -# playfram 4 - wait 5 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -MantleLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV -# playfram 4 - wait 5 -# playfram 1 - wait 5 -# playfram 2 - wait 5 -# playfram 3 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -MantleIsWorking: - playfram 1 - wait 1 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 0 - goto MantleIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1659 Durendal weaponfire (cm\terran\durendal-weaponfire.grp) -.headerstart -IsId 717 -Type 1 -Init DurendalWeaponfireInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DurendalWeaponfireInit: - playfram 0x00 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1660 Servitor (cm\protoss\servitor.grp) -.headerstart -IsId 718 -Type 12 -Init ServitorInit -Death ServitorDeath -GndAttkInit ServitorGndAttkInit -AirAttkInit ServitorGndAttkInit -Unused1 ServitorUnused1 -GndAttkRpt ServitorGndAttkInit -AirAttkRpt ServitorGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking ServitorWalking -WalkingToIdle ServitorWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ServitorInit: - imgul 1661 0 7 # Servitor shadow (cm\protoss\servitor.grp) - goto InfestedTerranWalkingToIdle - -ServitorWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto ServitorWalkingToIdle - -ServitorDeath: - playsnd 533 # Protoss\Aurora\PScDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 -# lowsprul 816 0 0 # Servitor Remains - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -ServitorUnused1: - wait 1 - nobrkcodestart - playsnd 1698 # Accantor revive 01 - sprol 745 0 0 # Medium Blue Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto ServitorWalkingToIdle - -ServitorGndAttkInit: - playfram 0x11 - playsndbtwn 2167 2171 # Servitor weaponfire 01, 02, 03, 04, 05 - attackwith 1 - wait 2 - playfram 0x00 - wait 2 - gotorepeatattk - goto InfestedTerranWalkingToIdle - -ServitorWalking: - setvertpos 0 - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1660 Positron (cm\protoss\positron.grp) -.headerstart -IsId 719 -Type 12 -Init PositronInit -Death PositronDeath -GndAttkInit PositronGndAttkInit -AirAttkInit PositronGndAttkInit -Unused1 PositronUnused1 -GndAttkRpt PositronGndAttkInit -AirAttkRpt PositronGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking PositronWalking -WalkingToIdle PositronWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PositronInit: - imgul 1661 0 10 # Positron shadow (cm\protoss\positron.grp) - goto InfestedTerranWalkingToIdle - -PositronWalkingToIdle: - setvertpos 0 - wait 8 - setvertpos 0 - wait 8 - setvertpos -1 - wait 8 - setvertpos 0 - wait 8 - goto PositronWalkingToIdle - -PositronDeath: - playsnd 566 # Protoss\ARBITER\PAbDth00.WAV - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 846 0 0 # Protoss Unit Rubble Medium -# lowsprul 816 0 0 # Positron Remains - wait 1 - end - -PositronUnused1: - wait 1 - nobrkcodestart - playsnd 1698 # Accantor revive 01 - sprol 745 0 0 # Medium Blue Explosion Reversed - wait 12 - setfldirect 13 - nobrkcodeend - goto PositronWalkingToIdle - -PositronGndAttkInit: - playfram 0x11 - playsndbtwn 2172 2173 # Positron weaponfire 01, 02 - attackwith 1 - wait 2 - playfram 0x00 - wait 2 - gotorepeatattk - goto InfestedTerranWalkingToIdle - -PositronWalking: - setvertpos 0 - goto InfestedTerranWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1664 Anti-Matter Missile Hit (Damaging) (thingy\HKexplod.grp) -.headerstart -IsId 720 -Type 1 -Init AntiMatterMissileHitDamagingInit -Death AntiMatterMissileHitDamagingDeath -.headerend -# ----------------------------------------------------------------------------- # - -AntiMatterMissileHitDamagingInit: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 -AntiMatterMissileHitDamagingDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1665 Sycophant (cm\protoss\sycophant.grp) -.headerstart -IsId 721 -Type 21 -Init SycophantInit -Death SycophantDeath -GndAttkInit SycophantGndAttkInit -AirAttkInit [NONE] -Unused1 SycophantUnused1 -GndAttkRpt SycophantGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle SycophantGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking SycophantWalking -WalkingToIdle SycophantWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn SycophantWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -SycophantInit: - imgul 1666 0 0 # Sycophant shadow (cm\protoss\sycophant-shadow.grp) -SycophantWalkingToIdle: - playfram 0x00 -SycophantLocal00: - wait 62 - randcondjmp 25 SycophantLocal01 - goto SycophantLocal00 - -SycophantLocal01: - 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 - goto SycophantWalkingToIdle - -SycophantDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - lowsprul 847 0 0 # Protoss Unit Rubble Small - wait 1 - end - -SycophantUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1187 - imgol 1445 0 0 # Zealot 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 SycophantWalkingToIdle - -SycophantGndAttkInit: - playfram 0x00 - wait 1 -SycophantGndAttkRpt: - playsndrand 2 2198 2199 # Sycophant weaponfire 01, 02 - playfram 0x220 - wait 1 - nobrkcodestart - playfram 0x240 - attackwith 1 - playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV - wait 1 - playfram 0x260 - wait 1 - playfram 0x280 - wait 1 - playfram 0x220 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -SycophantGndAttkToIdle: - goto SycophantWalkingToIdle - -SycophantWalking: - 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 - move 4 - wait 1 - playfram 0x200 - goto SycophantWalking - -SycophantWarpIn: - imgol 154 0 0 # Sycophant Warp Flash (protoss\zealot.grp) - goto SycophantLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1669 Santa Hat - Small -# through -# 1676 Santa Hat - Extra Large - 17 -.headerstart -IsId 722 -Type 1 -Init SantaHatInit -Death SantaHatDeath -.headerend -# ----------------------------------------------------------------------------- # - -SantaHatInit: - playfram 0x00 - goto SantaHatLocal00 - -SantaHatLocal00: - wait 125 - goto SantaHatLocal00 - -SantaHatDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1323 Christmas Mineral Chunk Type2 -.headerstart -IsId 723 -Type 1 -Init ChristmasOreChunk2Init -Death ChristmasOreChunk2Death -.headerend -# ----------------------------------------------------------------------------- # - -ChristmasOreChunk2Init: - playfram 0x00 - pwrupcondjmp ChristmasOreChunk2Local00 - imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) - goto ChristmasOreChunk2Local00 - -ChristmasOreChunk2Local00: - wait 125 - goto ChristmasOreChunk2Local00 - -ChristmasOreChunk2Death: - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1681 Smoochie Boy -.headerstart -IsId 724 -Type 12 -Init SmoochieInit -Death SmoochieDeath -GndAttkInit SmoochieGndAttkInit -AirAttkInit SmoochieGndAttkInit -Unused1 [NONE] -GndAttkRpt SmoochieGndAttkInit -AirAttkRpt SmoochieGndAttkInit -CastSpell SmoochieCastSpell -GndAttkToIdle SmoochieGndAttkToIdle -AirAttkToIdle SmoochieGndAttkToIdle -Unused2 [NONE] -Walking SmoochieWalking -WalkingToIdle SmoochieGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SmoochieInit: - imgul 1682 0 42 # Smoochie Boy Shadow - playfram 0x88 - wait 1 -SmoochieGndAttkToIdle: - playfram 0x88 - wait 2 - playfram 0x99 - 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 - playfram 0x110 - wait 2 - goto SmoochieGndAttkToIdle - -SmoochieDeath: - playsndbtwn 198 200 # Terran\CIVILIAN\TCvWht00.WAV | Terran\CIVILIAN\TCvWht02.WAV - imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) - wait 1 - end - -SmoochieGndAttkInit: - nobrkcodestart - setvertpos 0 - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playsndbtwn 201 203 # Terran\CIVILIAN\TCvWht03.WAV | Terran\CIVILIAN\TCvYes01.WAV - attackwith 1 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - attackwith 1 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - goto SmoochieGndAttkToIdle - -SmoochieCastSpell: - setvertpos 0 - playsnd 920 # Zerg\Queen\ZQuTag00.WAV - nobrkcodestart - playfram 0x00 - wait 1 - playfram 0x11 - castspell - sigorder 2 - 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 - nobrkcodeend - gotorepeatattk - goto SmoochieGndAttkToIdle - -SmoochieWalking: - playfram 0x88 - wait 1 - playfram 0x99 - wait 1 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - wait 1 - playfram 0xee - wait 1 - playfram 0xff - wait 1 - playfram 0x110 - wait 1 - goto SmoochieWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1636 Ardent Authority (cm\protoss\ardent-authority.grp) -.headerstart -IsId 725 -Type 27 -Init ArdentAuthorityInit -Death ArdentAuthorityDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ArdentAuthorityBuilt -Landing ArdentAuthorityLanding -LiftOff ArdentAuthorityLanding -IsWorking ArdentAuthorityIsWorking -WorkingToIdle ArdentAuthorityBuilt -WarpIn ArdentAuthorityWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ArdentAuthorityDisable -Burrow [NONE] -UnBurrow [NONE] -Enable ArdentAuthorityEnable -.headerend -# ----------------------------------------------------------------------------- # - -ArdentAuthorityInit: - playfram 0x00 - imgul 1637 0 0 # Ardent Authority Shadow (cm\protoss\ardent-authority-shadow.grp) - goto ArdentAuthorityLanding - -ArdentAuthorityLanding: - wait 125 - goto ArdentAuthorityLanding - -ArdentAuthorityDeath: - playsnd 7 # Misc\ExploLrg.wav - imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) - wait 3 - lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) - wait 1 - end - -ArdentAuthorityBuilt: - playfram 0x00 - goto ArdentAuthorityLanding - -ArdentAuthorityIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0 - goto ArdentAuthorityIsWorking - -ArdentAuthorityWarpIn: - imgol 1638 0 0 # Ardent Authority Warp Flash (cm\protoss\ardent-authority.grp) - goto ArdentAuthorityLanding - -ArdentAuthorityDisable: - playfram 3 - wait 1 - goto ArdentAuthorityBuilt - -ArdentAuthorityEnable: - playfram 0x00 - wait 1 - goto ArdentAuthorityBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1698 Madrigal Dirge Proc (cm\terran\madrigal-dirge-proc.grp) -.headerstart -IsId 726 -Type 1 -Init MadrigalDirgeProcInit -Death MadrigalDirgeProcDeath -.headerend -# ----------------------------------------------------------------------------- # - -MadrigalDirgeProcInit: - playsndbtwn 2306 2308 # Madrigal Dirge proc 01, 02, 03 - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -MadrigalDirgeProcDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1699 Spirtith Cesiant (cm\zerg\spirtith-colony.grp) -.headerstart -IsId 727 -Type 20 -Init SpirtithCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit SpirtithCesiantAirAttkInit -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt SpirtithCesiantAirAttkInit -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle SpirtithCesiantAirAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt SpirtithCesiantAlmostBuilt -Built SpirtithCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking SpirtithCesiantBuilt -WorkingToIdle SpirtithCesiantBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpirtithCesiantInit: - imgul 1700 0 0 # Spirtith Cesiant Shadow (cm\zerg\spirtith-colony-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -SpirtithCesiantAirAttkInit: - playfram 4 - wait 1 - playfram 5 - attackwith 2 - playsndbtwn 2542 2544 # Spirtith Cesiant weaponfire 01, 02, 03 - wait 2 - playfram 6 - wait 1 - playfram 7 - wait 2 - gotorepeatattk - ignorerest - goto SpirtithCesiantAirAttkToIdle - -SpirtithCesiantAirAttkToIdle: - playfram 4 - wait 2 - goto SpirtithCesiantBuilt - -SpirtithCesiantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - playfram 0x00 -SpirtithCesiantBuilt: - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 0x00 - wait 2 - goto SpirtithCesiantBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1700 Optecton (cm\protoss\optecton.grp) -.headerstart -IsId 728 -Type 21 -Init OptectonInit -Death StarSovereignDeath -GndAttkInit OptectonGndAttkInit -AirAttkInit OptectonGndAttkInit -Unused1 [NONE] -GndAttkRpt OptectonGndAttkInit -AirAttkRpt OptectonGndAttkInit -CastSpell [NONE] -GndAttkToIdle OptectonGndAttkToIdle -AirAttkToIdle OptectonGndAttkToIdle -Unused2 [NONE] -Walking OptectonWalking -WalkingToIdle OptectonWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn OptectonWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -OptectonInit: - imgul 1625 0 0 # Optecton Shadow (cm\protoss\optecton-shad.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -OptectonGndAttkToIdle: - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -OptectonGndAttkInit: - playfram 0x00 -OptectonGndAttkRpt: - wait 1 - nobrkcodestart - wait 1 - playsnd 1557 # Architect charge 01 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 8 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x220 - imgoluselo 1855 0 0 # Optecton muzzle flash - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - attackwith 1 - wait 1 - playfram 0x240 - wait 3 - playfram 0x260 - wait 1 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto OptectonGndAttkToIdle - -OptectonWalking: - 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 - move 4 - wait 1 - playfram 0x200 - goto OptectonWalking - -OptectonWalkingToIdle: - playfram 0x00 - goto ScourgeLocal00 - -OptectonWarpIn: - imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1276 Patriarch (cm\protoss\patriarch.grp) -.headerstart -IsId 729 -Type 21 -Init PatriarchInit -Death PatriarchDeath -GndAttkInit PatriarchGndAttkInit -AirAttkInit PatriarchGndAttkInit -Unused1 PatriarchUnused1 -GndAttkRpt PatriarchGndAttkInit -AirAttkRpt PatriarchGndAttkInit -CastSpell [NONE] -GndAttkToIdle PatriarchGndAttkToIdle -AirAttkToIdle PatriarchGndAttkToIdle -Unused2 [NONE] -Walking PatriarchWalking -WalkingToIdle PatriarchWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn PatriarchWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -PatriarchInit: - imgul 1627 0 0 # Patriarch Shadow (cm\protoss\patriarch-shadow.grp) - playfram 0x00 - wait 2 - goto PatriarchLocal00 - -PatriarchLocal00: - wait 62 - randcondjmp 25 PatriarchLocal01 - goto PatriarchLocal00 - -PatriarchLocal01: - 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 0x00 - goto PatriarchLocal00 - -PatriarchLocal42: - playfram 0x00 - goto PatriarchLocal00 - -PatriarchDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 1 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -PatriarchUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1186 # Cantavis revive 01 - imgol 1445 0 0 # Zealot 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 PatriarchLocal42 - -PatriarchGndAttkInit: - playfram 0x154 - wait 1 - nobrkcodestart - playfram 0x165 - playsndbtwn 2554 2556 # Patriarch attack 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x176 - wait 1 - playfram 0x187 - wait 1 - playfram 0x198 - wait 1 - playfram 0x1A9 - wait 1 - playfram 0x1BA - wait 1 - playfram 0x1CB - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto PatriarchGndAttkToIdle - -PatriarchGndAttkToIdle: - playfram 0x00 - wait 1 - goto PatriarchLocal00 - -PatriarchWalking: - move 5 - wait 1 - playfram 0x77 - move 5 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - move 5 - wait 1 - playfram 0xdd - move 5 - wait 1 - playfram 0xee - 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 - goto PatriarchWalking - -PatriarchWalkingToIdle: - playfram 0x00 - goto PatriarchLocal00 - -PatriarchWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 245 Wraith Engine (terran\wraith-engine.grp) -# 1199 Aurora Engines (cm\protoss\aurora-engine.grp) -# 1206 Vassal Engines (cm\protoss\vassal-engine.grp) -.headerstart -IsId 730 -Type 15 -Init Engines_MultiGlowHeader_OmniInit -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_MultiGlowHeader_OmniInit -WalkingToIdle Generic_Wait1End -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -Engines_MultiGlowHeader_OmniInit: - engframe 0 - wait 1 - engframe 32 - wait 1 - goto Engines_MultiGlowHeader_OmniInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1716 Hammerfall Beacon (cm\terran\ion-cannon-beacon.grp) -.headerstart -IsId 731 -Type 2 -Init HammerfallBeaconInit -Death HammerfallBeaconDeath -GndAttkInit HammerfallBeaconGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HammerfallBeaconInit: - playfram 0x00 - playsnd 106 # Bullet\tvuFir00.wav - wait 1 - sigorder 1 - wait 1 -HammerfallBeaconGndAttkInit: - sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) - wait 1 -HammerfallBeaconLocal00: - playfram 0x00 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - goto HammerfallBeaconLocal00 - -HammerfallBeaconDeath: - imgol 440 0 0 # Fragmentation Grenade Hit (thingy\efgHit.grp) - domissiledmg - wait 1 - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 14 - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 14 - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 14 - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 14 - imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1717 Zarcavrokor Bone (cm\zerg\zarcavrokor-bone.grp) -.headerstart -IsId 732 -Type 2 -Init ZarcavrokorBoneInit -Death ZarcavrokorBoneDeath -GndAttkInit ZarcavrokorBoneGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ZarcavrokorBoneInit: - playfram 0x00 - playsndbtwn 2531 2533 # Gorgrokor weaponfire B 01, 02, 03 - wait 1 - sigorder 1 - playfram 0x20 - wait 1 -ZarcavrokorBoneGndAttkInit: - playfram 0x40 - wait 1 -ZarcavrokorBoneLocal00: - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0xC0 - wait 1 - playfram 0xE0 - wait 1 - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - goto ZarcavrokorBoneLocal00 - -ZarcavrokorBoneDeath: - playsnd 79 # Bullet\ZLuHit00.wav - imgol 1097 0 0 # Nathrokor Attack Overlay (cm\effect\nathrokor-breath.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1718 Cyprian Rail (cm\terran\cyprian-rail.grp) -.headerstart -IsId 733 -Type 2 -Init OmniBulletOneInit -Death OmniBulletOneBlueDeath -GndAttkInit OmniBulletOneGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OmniBulletOneInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -OmniBulletOneGndAttkInit: - playfram 0x00 - wait 125 - goto OmniBulletOneGndAttkInit - -OmniBulletOneDeathOrange: - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -OmniBulletOneBlueDeath: - if bullet.weapon_id == 26 goto OmniBulletOneDeathOrange - imgol 1505 0 0 # Burst Lasers Blue Impact (thingy\elbHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1720 Bactalisk Acid (cm\zerg\bactalisk-acid.grp) -.headerstart -IsId 734 -Type 13 -Init BactaliskAcidInit -Death BactaliskAcidDeath -GndAttkInit BactaliskAcidGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 BactaliskAcidSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -BactaliskAcidInit: - playfram 0x00 - wait 1 - sigorder 1 - playfram 0x20 - wait 1 -BactaliskAcidGndAttkInit: - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - goto BactaliskAcidGndAttkInit - -BactaliskAcidDeath: - playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - wait 1 - end - -BactaliskAcidSpecialState1: - playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 - sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) - domissiledmg - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1725 Phalanx Mortar (cm\terran\phalanx-mortar.grp) -.headerstart -IsId 735 -Type 2 -Init PhalanxMortarInit -Death PhalanxMortarDeath -GndAttkInit PhalanxMortarGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhalanxMortarInit: - playfram 0x00 - wait 1 - sigorder 1 - playfram 0x20 - wait 1 -PhalanxMortarGndAttkInit: - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - goto PhalanxMortarGndAttkInit - -PhalanxMortarDeath: - imgol 1382 0 0 # Shock Cannon Explosion Damageless - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 307 Wellbore (cm\terran\wellbore.grp) -.headerstart -IsId 736 -Type 20 -Init WellboreInit -Death WellboreDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 WellboreSpecialState1 -SpecialState2 WellboreSpecialState2 -AlmostBuilt WellboreAlmostBuilt -Built WellboreBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle WellboreBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WellboreInit: - imgul 1692 0 0 # Wellbore Shadow (cm\terran\wellbore-shadow.grp) - playfram 1 -WellboreLocal00: - 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 WellboreLocal00 - -WellboreDeath: - playsnd 7 # Misc\ExploLrg.wav - sprol 272 0 0 # Building Explosion (Large) (thingy\tBangX.grp) - wait 3 - end - -WellboreSpecialState1: - playfram 2 - goto WellboreLocal00 - -WellboreSpecialState2: - playfram 3 - goto WellboreLocal00 - -WellboreAlmostBuilt: - playfram 4 - goto WellboreLocal00 - -WellboreBuilt: - playfram 0x00 - wait 5 -WellboreLocal01: - creategasoverlays 0 - wait 20 - waitrand 5 100 - goto WellboreLocal01 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1726 Matador Cinder Mode (cm\terran\matador.grp) -.headerstart -IsId 737 -Type 14 -Init MatadorCinderModeInit -Death MatadorCinderModeDeath -GndAttkInit MatadorCinderModeGndAttkInit -AirAttkInit MatadorCinderModeGndAttkInit -Unused1 MatadorCinderModeUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle MatadorCinderModeGndAttkToIdle -AirAttkToIdle MatadorCinderModeGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MatadorCinderModeSpecialState2 -SpecialState2 MatadorCinderModeSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatadorCinderModeInit: - imgul 1533 0 0 # Matador Shadow (cm\terran\matador-shadow.grp) - wait 1 - playsnd 2429 # Matador Cinder Transform - setflspeed 0 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 6 - sigorder 1 - goto MatadorCinderModeGndAttkToIdle - -MatadorCinderModeGndAttkToIdle: - playfram 0x180 - goto ScourgeLocal00 - -MatadorCinderModeDeath: - playsndbtwn 1385 1386 # Matador death 01, 02 - imgol 332 0 -5 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 0 # Terran Unit Rubble Small - wait 1 - end - -MatadorCinderModeUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1705 1706 - sprol 742 0 0 - setfldirect 12 - wait 12 - nobrkcodeend - goto MatadorCinderModeGndAttkToIdle - -MatadorCinderModeGndAttkInit: - playfram 0x180 - wait 1 - nobrkcodestart - playfram 0x1A0 - playsndbtwn 2736 2738 # Matador weaponfire 2 01, 02, 03 - imgol 421 0 0 # FlameThrower (thingy\flamer.grp) - attkshiftproj 24 - sigorder 32 - wait 1 - playfram 0x180 - attkshiftproj 52 - sigorder 32 - wait 1 - attkshiftproj 80 - sigorder 32 - wait 4 - playfram 0x180 - nobrkcodeend - gotorepeatattk - goto MatadorCinderModeGndAttkToIdle - -MatadorCinderModeSpecialState2: - playsnd 2430 # Matador Tank Transform - playfram 0x160 - wait 1 - playfram 0x140 - wait 1 - playfram 0x120 - wait 1 - playfram 0x00 - wait 6 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1523 Matador Tank Mode Turret (cm\terran\matador-turret.grp) -.headerstart -IsId 738 -Type 12 -Init InfestedTerranWalkingToIdle -Death Generic_Wait1End -GndAttkInit MatadorGndAttkInit -AirAttkInit MatadorGndAttkInit -Unused1 [NONE] -GndAttkRpt MatadorGndAttkInit -AirAttkRpt MatadorGndAttkInit -CastSpell [NONE] -GndAttkToIdle InfestedTerranWalkingToIdle -AirAttkToIdle InfestedTerranWalkingToIdle -Unused2 [NONE] -Walking MatadorWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1726 Matador Turret Cinder Mode (cm\terran\matador-turret.grp) -.headerstart -IsId 739 -Type 14 -Init MatadorCinderModeTurretInit -Death Generic_Wait1End -GndAttkInit MatadorCinderModeGndAttkInit -AirAttkInit MatadorCinderModeGndAttkInit -Unused1 [NONE] -GndAttkRpt MatadorCinderModeGndAttkInit -AirAttkRpt MatadorCinderModeGndAttkInit -CastSpell [NONE] -GndAttkToIdle MatadorCinderModeGndAttkToIdle -AirAttkToIdle MatadorCinderModeGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 MatadorCinderModeSpecialState2 -SpecialState2 MatadorCinderModeSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MatadorCinderModeTurretInit: - wait 1 - setflspeed 0 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 6 - sigorder 1 - goto MatadorCinderModeGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1729 Wyvern Turret (cm\terran\wyvern-turret.grp) -.headerstart -IsId 740 -Type 12 -Init WyvernTurretInit -Death Generic_Wait1End -GndAttkInit WyvernTurretGndAttkInit -AirAttkInit WyvernTurretGndAttkInit -Unused1 [NONE] -GndAttkRpt WyvernTurretGndAttkInit -AirAttkRpt WyvernTurretGndAttkInit -CastSpell WyvernCastSpell -GndAttkToIdle WyvernGndAttkToIdle -AirAttkToIdle WyvernGndAttkToIdle -Unused2 [NONE] -Walking WyvernGndAttkToIdle -WalkingToIdle WyvernGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WyvernTurretInit: - playfram 0x00 - goto WyvernGndAttkToIdle - -WyvernTurretGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - wait 12 -# playfram 0x20 - attackwith 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto WyvernGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1731 Analogue (cm\protoss\analogue.grp) -.headerstart -IsId 741 -Type 12 -Init AnalogueInit -Death AnalogueDeath -GndAttkInit AnalogueGndAttkInit -AirAttkInit AnalogueGndAttkInit -Unused1 [NONE] -GndAttkRpt AnalogueGndAttkInit -AirAttkRpt AnalogueGndAttkInit -CastSpell [NONE] -GndAttkToIdle AnalogueGndAttkToIdle -AirAttkToIdle AnalogueGndAttkToIdle -Unused2 [NONE] -Walking AnalogueWalking -WalkingToIdle AnalogueGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnalogueInit: - imgul 1732 0 7 # Analogue Shadow (cm\protoss\analogue-shadow.grp) - playfram 0x00 - wait 2 -AnalogueGndAttkToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x00 - wait 2 - goto AnalogueGndAttkToIdle - -AnalogueDeath: - playsndbtwn 1239 1241 # Barghest death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 1 - lowsprul 846 0 0 # Protoss Unit Rubble Medium - wait 1 - end - -AnalogueGndAttkInit: - attack - gotorepeatattk - goto AnalogueGndAttkToIdle - -AnalogueWalking: - 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 0x00 - wait 1 - goto AnalogueWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1733 Zerg Spore Explosion Large (cm\zerg\spore-explosion-large.grp) -.headerstart -IsId 742 -Type 1 -Init ZergSporeExplosionLargeInit -Death ZergSporeExplosionLargeDeath -.headerend -# ----------------------------------------------------------------------------- # - -ZergSporeExplosionLargeInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -ZergSporeExplosionLargeDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 050 Mortothrokor (cm\zerg\mortothrokor.grp) -.headerstart -IsId 743 -Type 26 -Init MortothrokorInit -Death MortothrokorDeath -GndAttkInit MortothrokorGndAttkInit -AirAttkInit [NONE] -Unused1 MortothrokorUnused1 -GndAttkRpt MortothrokorGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle MortothrokorGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking MortothrokorWalking -WalkingToIdle MortothrokorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 ScourgeLocal00 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow MortothrokorBurrow -UnBurrow MortothrokorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MortothrokorInit: - imgul 1736 0 0 # Mortothrokor Shadow (cm\zerg\mortothrokor-shadow.grp) -MortothrokorGndAttkToIdle: - playfram 0x00 - goto MortothrokorLocal00 - -MortothrokorLocal00: - wait 62 - randcondjmp 25 MortothrokorLocal01 - randcondjmp 128 MortothrokorLocal02 - goto MortothrokorLocal00 - -MortothrokorLocal01: - playfram 0x55 - wait 1 - playfram 0x66 - wait 10 - playfram 0x55 - wait 1 - playfram 0x00 - wait 1 - goto MortothrokorGndAttkToIdle - -MortothrokorLocal02: - randcondjmp 128 MortothrokorLocal03 - playfram 0x11 - wait 1 - turnccwise 1 - playfram 0x22 - wait 1 - turnccwise 1 - playfram 0x33 - wait 1 - turnccwise 1 - playfram 0x44 - wait 1 - turnccwise 1 - playfram 0x33 - wait 1 - turnccwise 1 - playfram 0x22 - wait 1 - turnccwise 1 - playfram 0x11 - wait 1 - turnccwise 1 - goto MortothrokorGndAttkToIdle - -MortothrokorLocal03: - playfram 0x11 - wait 1 - turncwise 1 - playfram 0x22 - wait 1 - turncwise 1 - playfram 0x33 - wait 1 - turncwise 1 - playfram 0x44 - wait 1 - turncwise 1 - playfram 0x33 - wait 1 - turncwise 1 - playfram 0x22 - wait 1 - turncwise 1 - playfram 0x11 - wait 1 - turncwise 1 - goto MortothrokorGndAttkToIdle - -MortothrokorDeath: - playsnd 878 # Zerg\Ultra\ZUlDth00.WAV - setfldirect 0 - playfram 595 - wait 2 - playfram 596 - wait 2 - playfram 597 - wait 2 - playfram 598 - wait 2 - playfram 599 - wait 2 - playfram 600 - wait 2 - playfram 601 - wait 2 - lowsprul 868 0 0 # Mortothrokor Remnants (cm\zerg\mortothrokor-remnants.grp) - wait 1 - end - -MortothrokorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1181 # Ultrokor revive 01 - playfram 173 - wait 2 - playfram 172 - wait 2 - playfram 171 - wait 2 - playfram 170 - wait 12 - setfldirect 14 - nobrkcodeend - goto MortothrokorGndAttkToIdle - -MortothrokorGndAttkInit: - playfram 0x00 -MortothrokorGndAttkRpt: - wait 1 - nobrkcodestart - playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV | Zerg\Ultra\zulAtt01.WAV | Zerg\Ultra\zulAtt02.WAV - wait 1 - playfram 0xBB - attackwith 1 - playsndbtwn 3145 3146 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0xCC - wait 1 - playfram 0xDD - wait 1 - playfram 0xEE - attackwith 1 - playsndbtwn 3145 3146 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0xFF - wait 1 - playfram 0x110 - wait 1 - playfram 0x121 - wait 1 - playfram 0x132 - wait 1 - playfram 0x143 - wait 1 - nobrkcodeend - gotorepeatattk - goto MortothrokorGndAttkToIdle - -MortothrokorWalking: - move 4 - playfram 0x11 - wait 1 - move 4 - playfram 0x22 - wait 1 - move 4 - playfram 0x33 - wait 1 - move 4 - playfram 0x44 - wait 1 - move 4 - playfram 0x55 - wait 1 - move 4 - playfram 0x66 - wait 1 - move 4 - playfram 0x77 - wait 1 - move 4 - playfram 0x88 - wait 1 - move 4 - playfram 0x99 - wait 1 - move 4 - playfram 0xAA - wait 1 - goto MortothrokorWalking - -MortothrokorBurrow: - setfldirect 14 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x165 - wait 1 - playfram 0x176 - wait 1 - playfram 0x187 - wait 1 - playfram 0x198 - wait 1 - playfram 0x1A9 - wait 1 - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x1C0 - wait 1 - playfram 0x1DA - wait 1 - playfram 0x1EB - wait 1 - playfram 0x1FC - wait 1 - playfram 0x20D - wait 1 - playfram 0x21E - wait 1 - playfram 0x231 - wait 1 - sigorder 4 - goto ScourgeLocal00 - -MortothrokorUnBurrow: - wait 1 - waitrand 1 2 - setfldirect 14 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - playfram 0x21E - wait 1 - playfram 0x20D - wait 1 - playfram 0x1DA - wait 1 - playfram 0x185 - wait 1 - playfram 0x176 - wait 1 - playfram 0x165 - wait 1 - sigorder 4 - goto MortothrokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1738 Phantom Strike Proc (thingy\halmind.grp) -.headerstart -IsId 744 -Type 1 -Init PhantomStrikeProcInit -Death PhantomStrikeProcDeath -.headerend -# ----------------------------------------------------------------------------- # - -PhantomStrikeProcInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 -PhantomStrikeProcDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1739 Shaman Visionary Mode (cm\terran\shaman.grp) -.headerstart -IsId 745 -Type 14 -Init ShamanVisionaryModeInit -Death ShamanVisionaryModeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 ShamanVisionaryModeUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell ShamanVisionaryModeGndAttkToIdle -GndAttkToIdle ShamanVisionaryModeGndAttkToIdle -AirAttkToIdle ShamanVisionaryModeGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ShamanVisionaryModeSpecialState2 -SpecialState2 ShamanVisionaryModeSpecialState2 -AlmostBuilt [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -ShamanVisionaryModeInit: - imgul 1227 0 0 # Shaman Shadow (cm\terran\shaman-shadow.grp) - wait 1 - playsnd 2429 # Shaman Visionary Transform - setflspeed 0 - playfram 0x00 - wait 2 - playfram 0x20 - wait 1 - playfram 0x40 - wait 3 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - wait 1 - playfram 0xC0 - wait 6 - sigorder 1 - goto ShamanVisionaryModeGndAttkToIdle - -ShamanVisionaryModeGndAttkToIdle: - playfram 0xE0 - wait 2 - playfram 0x100 - wait 2 - playfram 0x120 - wait 2 - playfram 0x140 - wait 2 - playfram 0x160 - wait 2 - playfram 0x180 - wait 2 - playfram 0x1A0 - wait 2 - playfram 0x1C0 - wait 2 - goto ShamanVisionaryModeGndAttkToIdle - -ShamanVisionaryModeDeath: - playsndbtwn 2834 2835 # Shaman Death 01, 02 - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 845 0 0 # Terran Unit Rubble Small - wait 1 - end - -ShamanVisionaryModeUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1705 1706 # Shaman Death Reversed 01, 02 - sprol 742 0 0 # Orange Explosion Medium Reversed - setfldirect 12 - wait 12 - nobrkcodeend - goto ShamanVisionaryModeGndAttkToIdle - -ShamanVisionaryModeSpecialState2: - playsnd 2430 # Matador Tank Transform - playfram 0xC0 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - wait 3 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - playfram 0x00 - wait 6 - sigorder 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1740 Terran Cancel Structure (thingy\tmnExplo.grp) -.headerstart -IsId 746 -Type 1 -Init SpiderMineExplosionDeath -Death Generic_Wait1End -.headerend - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1714 Engram (cm\protoss\engram.grp) -.headerstart -IsId 752 -Type 21 -Init EngramInit -Death NexusDeath -GndAttkInit EngramGndAttkInit -AirAttkInit EngramGndAttkInit -Unused1 [NONE] -GndAttkRpt EngramGndAttkInit -AirAttkRpt EngramGndAttkInit -CastSpell [NONE] -GndAttkToIdle EngramGndAttkToIdle -AirAttkToIdle EngramGndAttkToIdle -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn EngramWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -EngramInit: - imgul 1715 0 0 # Engram Shadow (cm\protoss\engram-shad.grp) - playfram 0x00 - goto ScourgeLocal00 - -EngramGndAttkInit: - wait 1 - attack - playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 - imgol 1163 0 -20 # Warden impact - gotorepeatattk - ignorerest -EngramGndAttkToIdle: - goto ScourgeLocal00 - -EngramWarpIn: - imgol 1748 0 0 # Engram Warp Flash (cm\protoss\engram.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1745 Philoc (cm\faction\philoc.grp) -.headerstart -IsId 751 -Type 12 -Init PhilocInit -Death PhilocDeath -GndAttkInit PhilocGndAttkInit -AirAttkInit PhilocGndAttkInit -Unused1 [NONE] -GndAttkRpt PhilocGndAttkInit -AirAttkRpt PhilocGndAttkInit -CastSpell [NONE] -GndAttkToIdle WraithGndAttkToIdle -AirAttkToIdle WraithGndAttkToIdle -Unused2 [NONE] -Walking PhilocWalking -WalkingToIdle WraithGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PhilocInit: - imgulnextid 0 42 # Philoc Shadow (terran\philoc.grp) - playfram 0x00 - goto WraithGndAttkToIdle - -PhilocDeath: - playsnd 257 # Terran\PHOENIX\TPhDth00.WAV - imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 844 0 42 # Terran Unit Rubble Medium - end - -PhilocGndAttkInit: - nobrkcodestart - wait 1 - playfram 0x20 - attackwith 1 - playsnd 74 # Bullet\TPhFi100.wav - wait 1 - playfram 0x00 - gotorepeatattk - nobrkcodeend - goto ScourgeLocal00 - -PhilocWalking: - setvertpos 0 - imgol 1747 0 0 # Philoc Engines (terran\wraith-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1749 Heavy Missile Explosion (Orange) (cm\terran\heavy-missile-explosion-orange.grp) -# 1750 Heavy Missile Explosion (Green) (cm\terran\heavy-missile-explosion-green.grp) -.headerstart -IsId 753 -Type 1 -Init TerranHeavyMissileExplosionInit -Death TerranHeavyMissileExplosionDeath -.headerend -# ----------------------------------------------------------------------------- # - -TerranHeavyMissileExplosionInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -TerranHeavyMissileExplosionDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1751 Quazilisk Mutate (cm\zerg\quazilisk-mutate.grp) -# 1887 Protathalor Mutate (cm\zerg\protathalor-mutate.grp) -.headerstart -IsId 754 -Type 13 -Init ZergMutateInit -Death EggDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 ZergMutateUnused -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergMutateSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ZergMutateInit: - playfram 0x00 - goto ScourgeLocal00 - -ZergMutateUnused: - wait 1 - nobrkcodestart - playfram 6 - wait 2 - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ScourgeLocal00 - -ZergMutateSpecialState1: - playfram 0 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - waitrand 1 3 - sigorder 8 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1752 Quazilisk Attack Overlay (cm\zerg\quazilisk-attack.grp) -.headerstart -IsId 755 -Type 1 -Init QuaziliskAttackOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -QuaziliskAttackOverlayInit: - playfram 0x00 - wait 1 - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1753 Sevenstep Rail (cm\terran\sentinel-rail.grp) -.headerstart -IsId 756 -Type 2 -Init SevenstepRailInit -Death SevenstepRailDeath -GndAttkInit SevenstepRailGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SevenstepRailInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -SevenstepRailGndAttkInit: - playfram 0x00 - wait 125 - goto SevenstepRailGndAttkInit - -SevenstepRailDeath: - imgol 1249 0 0 # Burst Lasers Blue Impact (thingy\elbHit.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1754 Nathrokor Mutate (cm\zerg\nathrokor-mutate.grp) -.headerstart -IsId 757 -Type 13 -Init ZergMutateAirInit -Death EggDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 ZergMutateAirUnused -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ZergMutateAirSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -ZergMutateAirInit: - playfram 0x00 - goto ScourgeLocal00 - -ZergMutateAirUnused: - wait 1 - nobrkcodestart - playfram 5 - wait 2 - playfram 4 - wait 2 - playfram 3 - wait 2 - playfram 2 - wait 2 - playfram 1 - wait 2 - playfram 0 - wait 2 - sigorder 4 - wait 2 - nobrkcodeend - goto ScourgeLocal00 - -ZergMutateAirSpecialState1: - playfram 0 - wait 2 - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - waitrand 1 3 - sigorder 8 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1756 Omnivale (cm\gamemodes\omnipresence\omnivale.grp) -.headerstart -IsId 758 -Type 21 -Init OmnivaleInit -Death NexusDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 OmnivaleSpecialState1 -SpecialState2 OmnivaleSpecialState2 -AlmostBuilt OmnivaleAlmostBuilt -Built OmnivaleBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking OmnivaleIsWorking -WorkingToIdle OmnivaleWorkingToIdle -WarpIn OmnivaleAlmostBuilt -.headerend -# ----------------------------------------------------------------------------- # - -OmnivaleInit: - imgul 1757 0 0 # Omnivale Shadow (cm\gamemodes\omnipresence\omnivale-shadow.grp) - playfram 0x00 - wait 2 - goto OmnivaleBuilt - -OmnivaleBuilt: - wait 125 - goto OmnivaleBuilt - -OmnivaleSpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - wait 1 - goto OmnivaleLocal00 - -OmnivaleLocal00: - wait 255 - goto OmnivaleLocal00 - -OmnivaleSpecialState2: - wait 1 - goto OmnivaleWorkingToIdle - -OmnivaleWorkingToIdle: - playfram 0x00 - goto OmnivaleBuilt - -OmnivaleAlmostBuilt: - imgol 172 0 0 # Omnivale Warp Flash (cm\gamemodes\omnipresence\omnivale.grp) - goto OmnivaleBuilt - -OmnivaleIsWorking: - playfram 1 - wait 1 - 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 0x00 - wait 1 - goto OmnivaleIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1170 Potentate (cm\protoss\potentate.grp) -.headerstart -IsId 759 -Type 21 -Init PotentateInit -Death PotentateDeath -GndAttkInit PotentateGndAttkInit -AirAttkInit PotentateGndAttkInit -Unused1 EcclesiastUnused1 -GndAttkRpt PotentateGndAttkRpt -AirAttkRpt PotentateGndAttkRpt -CastSpell [NONE] -GndAttkToIdle EcclesiastGndAttkToIdle -AirAttkToIdle EcclesiastGndAttkToIdle -Unused2 [NONE] -Walking EcclesiastWalking -WalkingToIdle InfestedTerranWalkingToIdle -SpecialState1 PotentateMeleeAttkRpt -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn PotentateWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -PotentateInit: - imgul 1172 0 0 # Potentate Shadow (cm\protoss\potentate-shad.grp) - goto InfestedTerranWalkingToIdle - -PotentateDeath: - playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV - imgol 153 0 0 # Zealot Death (protoss\zealot.grp) - wait 3 - lowsprul 818 0 0 # Potentate Remains - wait 1 - end - -PotentateGndAttkInit: - sigorder 32 - playfram 0x120 - wait 1 - playfram 0x140 - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - goto PotentateGndAttkRpt -PotentateGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 2523 2524 # Potentate attack 01, 02 - attackwith 2 - playfram 0x1A0 - wait 1 - playfram 0x180 - wait 1 - sigorder 32 - nobrkcodeend - gotorepeatattk - ignorerest - goto EcclesiastGndAttkToIdle - -PotentateMeleeAttkRpt: - playfram 0x1C0 - wait 1 - nobrkcodestart - playfram 0x1C0 - wait 1 - playfram 0x1E0 - wait 1 - playfram 0x200 - playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 - attackmelee 1 664 # Protoss\ZEALOT\pzeHit00.WAV - wait 1 - nobrkcodeend - playfram 0x220 - wait 1 - playfram 0x00 - gotorepeatattk - ignorerest - goto InfestedTerranWalkingToIdle - -PotentateWarpIn: - imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 076 Surkith Cesiant (cm\zerg\skortrith-cesiant.grp) -.headerstart -IsId 760 -Type 20 -Init SkortrithCesiantInit -Death CerebrateDeath -GndAttkInit SkortrithCesiantGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt SkortrithCesiantGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle SurkithCesiantGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt SurkithCesiantAlmostBuilt -Built SurkithCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking SurkithCesiantIsWorking -WorkingToIdle SurkithCesiantIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SkortrithCesiantInit: - playfram 0x00 - imgul 1704 0 0 # Skortrith Cesiant Shadow (cm\zerg\skortrith-cesiant-shadow.grp) - goto ScourgeLocal00 - -SkortrithCesiantGndAttkInit: - playsnd 2540 # Skortrith Cesiant weaponfire 01 - trgtarccondjmp 74 42 SkortrithCesiantLocal00 - trgtarccondjmp 159 42 SkortrithCesiantLocal01 - nobrkcodestart - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 33 - wait 1 - attackwith 1 - wait 6 - playfram 32 - wait 1 - playfram 31 - wait 1 - playfram 30 - wait 1 - playfram 29 - wait 1 - playfram 28 - wait 1 - playfram 27 - wait 1 - playfram 26 - wait 1 - playfram 25 - wait 1 - playfram 24 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SurkithCesiantGndAttkToIdle - -SkortrithCesiantLocal00: - nobrkcodestart - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 10 - wait 1 - playfram 11 - wait 1 - playfram 13 - wait 1 - attackwith 1 - wait 6 - playfram 12 - wait 1 - playfram 11 - wait 1 - playfram 10 - wait 1 - playfram 9 - wait 1 - playfram 8 - wait 1 - playfram 7 - wait 1 - playfram 6 - wait 1 - playfram 5 - wait 1 - playfram 4 - wait 1 - playfram 3 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SurkithCesiantIsWorking - -SkortrithCesiantLocal01: - nobrkcodestart - playfram 14 - wait 1 - playfram 15 - wait 1 - playfram 0x11 - wait 1 - playfram 18 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 23 - wait 1 - attackwith 1 - wait 6 - playfram 23 - wait 1 - playfram 22 - wait 1 - playfram 21 - wait 1 - playfram 20 - wait 1 - playfram 19 - wait 1 - playfram 18 - wait 1 - playfram 0x11 - wait 1 - playfram 16 - wait 1 - playfram 15 - wait 1 - playfram 14 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto SurkithCesiantIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1766 Skortrith Cesiant Tentacle (bullet\Tentacle.grp) -.headerstart -IsId 761 -Type 2 -Init SkortrithTentacleInit -Death SubterraneanTentacleDeath -GndAttkInit SubterraneanTentacleDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SkortrithTentacleInit: - playsnd 2541 # Skortrith Cesiant weaponhit 01 - wait 1 - sigorder 1 - wait 1 - goto SubterraneanTentacleDeath - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1248 Cyclops Weapon Impact (thingy\elbHit.grp) -.headerstart -IsId 762 -Type 1 -Init CyclopsWeaponImpactInit -Death CyclopsWeaponImpactDeath -.headerend -# ----------------------------------------------------------------------------- # - -CyclopsWeaponImpactInit: - wait 1 - playsndbtwn 2551 2553 # Cyclops weaponhit 01 -# playsnd 2550 # Cyclops weapon channel 01 - sigorder 1 - wait 1 -CyclopsWeaponImpactDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1769 Helix Bolt Orange (cm\terran\helix-bolt.grp) -# 1770 Helix Bolt Blue 1 (cm\terran\helix-bolt.grp) -# 1771 Helix Bolt Blue 2 (cm\terran\helix-bolt-blue.grp) -.headerstart -IsId 763 -Type 2 -Init HelixBoltInit -Death HelixBoltDeath -GndAttkInit HelixBoltGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HelixBoltInit: - playfram 0x00 - wait 1 - sigorder 1 - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 -HelixBoltGndAttkInit: - playfram 0x33 - wait 1 - playfram 0x44 - wait 1 - playfram 0x55 - wait 1 - playfram 0x66 - wait 1 - playfram 0x77 - wait 1 - playfram 0x88 - wait 1 - goto HelixBoltGndAttkInit - -HelixBoltDeath: - playfram 0x99 - domissiledmg - wait 1 - playfram 0xAA - wait 1 - playfram 0xBB - wait 1 - playfram 0xCC - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1141 Hotshot (cm\faction\hotshot.grp) -.headerstart -IsId 764 -Type 12 -Init HotshotInit -Death MadcapDeath -GndAttkInit MadcapGndAttkInit -AirAttkInit MadcapGndAttkInit -Unused1 [NONE] -GndAttkRpt MadcapGndAttkRpt -AirAttkRpt MadcapGndAttkRpt -CastSpell [NONE] -GndAttkToIdle MadcapGndAttkToIdle -AirAttkToIdle MadcapGndAttkToIdle -Unused2 [NONE] -Walking MadcapWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -HotshotInit: - imgul 1777 0 0 # Hotshot Shadow (cm\faction-t\hotshot-shadow.grp) - goto MadcapWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1785 Qilin (cm\faction\qilin.grp) -.headerstart -IsId 765 -Type 12 -Init QilinInit -Death TrojanDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking QilinWalking -WalkingToIdle OvilethLocal00 -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -QilinInit: - imgul 1786 0 42 # Qilin Shadow (cm\faction\qilin.grp) - playfram 0x00 - goto OvilethLocal00 - -QilinWalking: - setvertpos 0 - imgol 1787 0 0 # Qilin Engines (cm\faction\qilin-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1789 (cm\faction\auriel.grp) -.headerstart -IsId 766 -Type 13 -Init AurielInit -Death AurielDeath -GndAttkInit AurielGndAttkInit -AirAttkInit AurielGndAttkInit -Unused1 AurielUnused1 -GndAttkRpt AurielGndAttkRpt -AirAttkRpt AurielGndAttkRpt -CastSpell [NONE] -GndAttkToIdle AurielGndAttkToIdle -AirAttkToIdle AurielGndAttkToIdle -Unused2 [NONE] -Walking AurielWalking -WalkingToIdle AurielWalkingToIdle -SpecialState1 AurielSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -AurielInit: - imgul 1790 0 -5 # Auriel Shadow (cm\faction\auriel-shadow.grp) -AurielWalkingToIdle: - playfram 0x00 -AurielLocal00: - wait 62 - randcondjmp 25 AurielLocal01 - randcondjmp 128 AurielLocal01 - goto AurielLocal00 - -AurielLocal01: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 - randcondjmp 192 AurielLocal03 - 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 AurielLocal04 - -AurielLocal04: - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto AurielWalkingToIdle - -AurielLocal03: - wait 13 - playfram 0x11 - wait 1 - playfram 0x00 - wait 1 - goto AurielWalkingToIdle - -AurielDeath: - playsnd 238 # Terran\Ghost\TGhDth00.wav - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 2 - lowsprul 950 0 0 # Savant remains - wait 1 - end - -AurielUnused1: - wait 1 - nobrkcodestart - playsndbtwn 1166 1167 - setfldirect 0 - playfram 0x00 - imgol 3 0 0 # Scourge Death (zerg\zavDeath.grp) - wait 6 - nobrkcodeend - goto AurielWalkingToIdle - -AurielGndAttkInit: - playfram 0x99 - wait 1 -AurielGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0xaa - playsndbtwn 2739 2741 # Auriel weaponfire 01, 02, 03 - attack - wait 1 - playfram 0xbb - wait 2 - playsndbtwn 2739 2741 # Auriel weaponfire 01, 02, 03 - attack - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest -AurielGndAttkToIdle: - playfram 0x99 - wait 1 - goto AurielWalkingToIdle - -AurielWalking: - move 4 - wait 1 - playfram 0x11 - move 4 - wait 1 - playfram 0x22 - move 4 - wait 1 - playfram 0x33 - move 4 - wait 1 - playfram 0x44 - move 4 - wait 1 - playfram 0x55 - move 4 - wait 1 - playfram 0x66 - move 4 - wait 1 - playfram 0x77 - move 4 - wait 1 - playfram 0x88 - goto AurielWalking - -AurielSpecialState1: - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1725 Spoke Shell (cm\terran\spoke-shell.grp) -.headerstart -IsId 767 -Type 2 -Init SpokeShellInit -Death SpokeShellDeath -GndAttkInit SpokeShellGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SpokeShellInit: - playfram 0x00 - wait 1 - sigorder 1 -SpokeShellGndAttkInit: - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x00 - wait 1 - goto SpokeShellGndAttkInit - -SpokeShellDeath: - #playsndbtwn 0 0 # X Weaponhit 01 - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1792 Adherent (cm\faction-p\adherent.grp) -.headerstart -IsId 768 -Type 21 -Init AdherentInit -Death LegionnaireDeath -GndAttkInit AdherentGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt AdherentGndAttkInit -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle LegionnaireGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking LegionnaireWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LegionnaireWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -AdherentInit: - imgul 1793 0 0 # Adherent Shadow (cm\faction-p\adherent-shadow.grp) - goto MadcapWalkingToIdle - -AdherentGndAttkInit: - playfram 0x100 - nobrkcodestart - wait 2 - playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 - playfram 0x120 - wait 1 - playfram 0x140 - attackmelee 1 1897 # Legionnaire weapon hit 01 - wait 1 - playfram 0x160 - wait 1 - nobrkcodeend - playfram 0x120 - wait 1 - gotorepeatattk - ignorerest - goto LegionnaireGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1797 Nathrelisk (cm\faction-z\nathrelisk.grp) -.headerstart -IsId 769 -Type 12 -Init NathreliskInit -Death NathrokorDeath -GndAttkInit NathreliskGndAttkInit -AirAttkInit NathreliskGndAttkInit -Unused1 [NONE] -GndAttkRpt NathreliskGndAttkInit -AirAttkRpt NathreliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle NathrokorGndAttkToIdle -AirAttkToIdle NathrokorGndAttkToIdle -Unused2 [NONE] -Walking NathrokorWalking -WalkingToIdle NathrokorGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -NathreliskInit: - imgul 1798 0 42 # Nathrelisk Shadow (cm\faction-z\nathrelisk.grp) - playfram 0x00 - wait 2 - goto NathrokorGndAttkToIdle - -NathreliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - playsnd 1326 # Nathrokor weaponfire 01 - attack - wait 1 - playfram 0x00 - nobrkcodeend - gotorepeatattk - goto NathrokorGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1804 Anchor (Grounded) (cm\terran\anchor-grounded.grp) -.headerstart -IsId 770 -Type 24 -Init AnchorGroundedInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AnchorAlmostBuilt -Built AnchorBuilt -Landing AnchorLanding -LiftOff AnchorLiftOff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AnchorGroundedInit: - imgul 1805 0 0 # Anchor (Grounded) Shadow (cm\terran\anchor-grounded-shadow.grp) - goto AnchorBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1813 Algoztalisk (cm\zerg\algoztalisk.grp) -.headerstart -IsId 771 -Type 12 -Init AlgoztaliskInit -Death GeszithalorDeath -GndAttkInit AlgoztaliskGndAttkInit -AirAttkInit AlgoztaliskGndAttkInit -Unused1 AlgoztaliskUnused1 -GndAttkRpt AlgoztaliskGndAttkInit -AirAttkRpt AlgoztaliskGndAttkInit -CastSpell [NONE] -GndAttkToIdle AlgoztaliskGndAttkToIdle -AirAttkToIdle AlgoztaliskGndAttkToIdle -Unused2 [NONE] -Walking AlgoztaliskWalking -WalkingToIdle AlgoztaliskGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AlgoztaliskInit: - imgul 1814 0 42 # Algoztalisk Shadow (cm\zerg\algoztalisk.grp) - playfram 0x00 - wait 2 -AlgoztaliskGndAttkToIdle: - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 - playfram 0x33 - wait 2 - playfram 0x00 - wait 2 - goto AlgoztaliskGndAttkToIdle - -AlgoztaliskUnused1: - wait 1 - nobrkcodestart - tmprmgraphicstart - playsnd 1175 # Geszithalor revive 01 - wait 8 - sprol 753 0 0 - wait 10 - setfldirect 14 - tmprmgraphicend - nobrkcodeend - goto AlgoztaliskGndAttkToIdle - -AlgoztaliskGndAttkInit: - playsndbtwn 2995 2997 # Algoztalisk weaponfire 01, 02, 03 - wait 1 - attackwith 1 - gotorepeatattk - goto AlgoztaliskGndAttkToIdle - -AlgoztaliskWalking: - playfram 0x11 - wait 1 - playfram 0x22 - wait 1 - playfram 0x33 - wait 1 - playfram 0x00 - wait 1 - goto AlgoztaliskWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1817 Cherbrathalor (cm\zerg\cherbrathalor.grp) -.headerstart -IsId 772 -Type 26 -Init CherbrathalorInit -Death KeskathalorDeath -GndAttkInit CherbrathalorGndAttkInit -AirAttkInit CherbrathalorGndAttkInit -Unused1 CherbrathalorUnused1 -GndAttkRpt CherbrathalorGndAttkInit -AirAttkRpt CherbrathalorGndAttkInit -CastSpell [NONE] -GndAttkToIdle CherbrathalorGndAttkToIdle -AirAttkToIdle CherbrathalorGndAttkToIdle -Unused2 [NONE] -Walking CherbrathalorWalking -WalkingToIdle CherbrathalorGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 CherbrathalorSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow CherbrathalorBurrow -UnBurrow CherbrathalorUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CherbrathalorInit: - imgul 1818 0 4 # Cherbrathalor Shadow (cm\zerg\cherbrathalor-shadow.grp) - goto CherbrathalorGndAttkToIdle -CherbrathalorGndAttkToIdle: - playfram 0x00 - wait 1 - goto ScourgeLocal00 - -CherbrathalorUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1181 # Ultrokor revive 01 -# playfram 417 - wait 2 -# playfram 416 - wait 2 -# playfram 415 - wait 2 -# playfram 414 - wait 2 -# playfram 413 - wait 2 -# playfram 412 - wait 2 -# playfram 411 - wait 2 -# playfram 410 - wait 2 -# playfram 409 - wait 2 -# playfram 408 - wait 2 - setfldirect 14 - nobrkcodeend - goto CherbrathalorGndAttkToIdle - -CherbrathalorGndAttkInit: - playfram 0x140 - wait 1 -CherbrathalorGndAttkRpt: - playfram 0x180 - nobrkcodestart - wait 1 - playfram 0x1A0 - playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 - attackwith 1 - wait 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 - attackwith 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 - attackwith 1 - playfram 0x1C0 - wait 1 - playfram 0x1A0 - playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 - attackwith 1 - wait 1 - nobrkcodeend - gotorepeatattk - goto CherbrathalorGndAttkToIdle - -CherbrathalorWalking: - move 3 - playfram 0x20 - wait 1 - move 3 - playfram 0x40 - wait 1 - move 3 - playfram 0x60 - wait 1 - move 3 - playfram 0x80 - wait 1 - move 3 - playfram 0xA0 - wait 1 - move 3 - playfram 0xC0 - wait 1 - move 3 - playfram 0xE0 - wait 1 - move 3 - playfram 0x100 - wait 1 - move 3 - playfram 0x120 - wait 1 - move 3 - playfram 0x00 - goto CherbrathalorWalking - -CherbrathalorBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0xC0 - wait 1 - playfram 0xE0 - wait 1 - sigorder 4 - goto CherbrathalorSpecialState2 - -CherbrathalorUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0xC0 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - sigorder 4 - goto CherbrathalorGndAttkToIdle - -CherbrathalorSpecialState2: - playfram 0x280 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1815 Okrimnilisk (cm\zerg\okrimnilisk.grp) -.headerstart -IsId 773 -Type 26 -Init OkrimniliskInit -Death KeskathalorDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 OkrimniliskUnused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle OkrimniliskGndAttkToIdle -AirAttkToIdle OkrimniliskGndAttkToIdle -Unused2 [NONE] -Walking CherbrathalorWalking -WalkingToIdle OkrimniliskGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 OkrimniliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow OkrimniliskBurrow -UnBurrow OkrimniliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OkrimniliskInit: - imgul 1816 0 7 # Okrimnilisk Shadow (cm\zerg\okrimnilisk-shadow.grp) - goto OkrimniliskGndAttkToIdle -OkrimniliskGndAttkToIdle: - playfram 0x00 - wait 2 - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x40 - wait 2 - playfram 0x20 - wait 2 - goto OkrimniliskGndAttkToIdle - -OkrimniliskUnused1: - wait 1 - nobrkcodestart - setfldirect 0 - playsnd 1181 # Ultrokor revive 01 -# playfram 417 - wait 2 -# playfram 416 - wait 2 -# playfram 415 - wait 2 -# playfram 414 - wait 2 -# playfram 413 - wait 2 -# playfram 412 - wait 2 -# playfram 411 - wait 2 -# playfram 410 - wait 2 -# playfram 409 - wait 2 -# playfram 408 - wait 2 - setfldirect 14 - nobrkcodeend - goto OkrimniliskGndAttkToIdle - -OkrimniliskGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playfram 0x20 - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0xC0 - wait 1 - playfram 0xE0 - wait 1 - playfram 0xC0 - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 - attack - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto OkrimniliskGndAttkToIdle - -OkrimniliskBurrow: - imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0x20 - wait 1 - playfram 0x40 - wait 1 - playfram 0x60 - wait 1 - playfram 0x80 - wait 1 - playfram 0xA0 - imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0xC0 - wait 1 - playfram 0xE0 - wait 1 - sigorder 4 - goto OkrimniliskSpecialState2 - -OkrimniliskUnBurrow: - wait 1 - waitrand 1 2 - imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) - imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) - playfram 0xC0 - wait 1 - playfram 0xA0 - wait 1 - playfram 0x80 - wait 1 - playfram 0x60 - imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) - imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) - wait 1 - playfram 0x40 - wait 1 - playfram 0x20 - wait 1 - sigorder 4 - goto OkrimniliskGndAttkToIdle - -OkrimniliskSpecialState2: - playfram 0x140 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1222 Kalkalisk Birth (Cocoon) (cm\zerg\kalkalisk-mutate.grp) -.headerstart -IsId 774 -Type 13 -Init KalkaliskBirthTempInit -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 KalkaliskBirthTempSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -KalkaliskBirthTempInit: - playfram 0 - wait 1 - waitrand 10 15 -KalkaliskBirthTempLocal00: - playfram 0 - wait 1 - goto KalkaliskBirthTempLocal00 - -KalkaliskBirthTempSpecialState1: - wait 1 - nobrkcodestart - playfram 0 - 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 - sigorder 4 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1807 Addon Weld Overlay (bullet\scvspark.grp) -.headerstart -IsId 775 -Type 1 -Init FusionCutterHitDamagelessSilentInit -Death FusionCutterHitDamagelessDeath -.headerend -# ----------------------------------------------------------------------------- # - -FusionCutterHitDamagelessSilentInit: - playfram 0x00 - goto FusionCutterHitDamagelessCont - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1844 Gorgon Petrification (cm\terran\gorgon-petrification.grp) -# 1845 Autocrat Controlled Opposition (cm\terran\autocrat-controlled-opposition.grp) -.headerstart -IsId 776 -Type 1 -Init GorgonPetrificationInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -GorgonPetrificationInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 18 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1847 Maverick Stimpack (cm\terran\maverick-stimpack.grp) -.headerstart -IsId 777 -Type 1 -Init MaverickStimpackInit -Death MaverickStimpackDeath -.headerend -# ----------------------------------------------------------------------------- # - -MaverickStimpackInit: - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 4 - wait 1 - playfram 5 -MaverickStimpackDeath: - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1851 Grand Library (cm\protoss\grand-library.grp) -.headerstart -IsId 778 -Type 27 -Init GrandLibraryInit -Death AncestralArchivesDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 GrandLibrarySpecialState1 -SpecialState2 GrandLibrarySpecialState2 -AlmostBuilt GrandLibraryAlmostBuilt -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking GrandLibraryIsWorking -WorkingToIdle GrandLibraryWorkingToIdle -WarpIn GrandLibraryAlmostBuilt -Unused3 [NONE] -StarEditInit [NONE] -Disable GrandLibraryDisable -Burrow [NONE] -UnBurrow [NONE] -Enable GrandLibraryEnable -.headerend -# ----------------------------------------------------------------------------- # - -GrandLibraryInit: - imgul 1852 0 0 # GrandLibrary Shadow (cm\protoss\grand-library-shadow.grp) - playfram 0x00 - wait 2 - goto ScourgeLocal00 - -GrandLibrarySpecialState1: - playsnd 528 # Protoss\SHUTTLE\pshBld00.wav - wait 1 - goto GrandLibraryLocal00 - -GrandLibraryLocal00: - wait 255 - goto GrandLibraryLocal00 - -GrandLibrarySpecialState2: - wait 1 - goto GrandLibraryWorkingToIdle - -GrandLibraryWorkingToIdle: - playfram 12 - wait 2 - playfram 13 - wait 2 - playfram 14 - wait 2 - playfram 0 - goto ScourgeLocal00 - -GrandLibraryAlmostBuilt: - imgol 1853 0 0 # Grand Library Warp Flash (cm\protoss\grand-library.grp) - goto ScourgeLocal00 - -GrandLibraryIsWorking: - playfram 1 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - goto GrandLibraryLoop - -GrandLibraryLoop: - playfram 8 - wait 2 - playfram 9 - wait 2 - playfram 10 - wait 2 - playfram 11 - wait 2 - playfram 10 - wait 2 - playfram 9 - wait 2 - goto GrandLibraryLoop - -GrandLibraryDisable: - playfram 0x00 - wait 1 - playfram 15 - wait 2 - playfram 16 - wait 1 - goto ScourgeLocal00 - -GrandLibraryEnable: - playfram 15 - wait 2 - playfram 0 - wait 1 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1854 Gladius Charge (cm\protoss\gladius-charge.grp) -.headerstart -IsId 779 -Type 1 -Init GladiusChargeInit -Death GladiusChargeDeath -.headerend -# ----------------------------------------------------------------------------- # - -GladiusChargeInit: - playfram 6 - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - goto GladiusChargeInit -GladiusChargeDeath: - playfram 0 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1855 Optecton Muzzle Flash (cm\protoss\optecton-muzzle.grp) -.headerstart -IsId 780 -Type 1 -Init MuzzleFlashSingleInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MuzzleFlashSingleInit: - playfram 0x00 - wait 1 - end -# ----------------------------------------------------------------------------- # -# 1860 Ascension Small (cm\protoss\ascension-small.grp) -# 1861 Ascension Medium (cm\protoss\ascension-medium.grp) -# 1862 Ascension Large (cm\protoss\ascension-large.grp) -# 1863 Ascension XLarge (cm\protoss\ascension-xlarge.grp) -.headerstart -IsId 781 -Type 1 -Init AscensionProcInit -Death AscensionProcDeath -.headerend -# ----------------------------------------------------------------------------- # - -AscensionProcInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - wait 1 - playfram 4 - wait 1 - playfram 5 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 -AscensionProcLoop: - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - goto AscensionProcLoop -AscensionProcDeath: - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1864 Astral Rule Small (cm\protoss\astral-rule-small.grp) -# 1865 Astral Rule Medium (cm\protoss\astral-rule-medium.grp) -# 1866 Astral Rule Large (cm\protoss\astral-rule-large.grp) -# 1867 Astral Rule XLarge (cm\protoss\astral-rule-xlarge.grp) -.headerstart -IsId 782 -Type 1 -Init AstralRuleInit -Death AstralRuleDeath -.headerend -# ----------------------------------------------------------------------------- # - -AstralRuleInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -AstralRuleLocal00: - 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 18 - wait 1 - playfram 19 - goto AstralRuleLocal00 - -AstralRuleDeath: - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - playfram 28 - wait 1 - playfram 29 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1868 Magister Weapon Impact (cm\protoss\magister-weaponhit.grp) -.headerstart -IsId 783 -Type 2 -Init MagisterWeaponhitInit -Death MagisterWeaponhitDeath -GndAttkInit MagisterWeaponhitDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -MagisterWeaponhitInit: - wait 1 - sigorder 1 - wait 1 -MagisterWeaponhitDeath: - playfram 0x00 - domissiledmg - wait 1 - playfram 2 - wait 1 - playfram 4 - wait 1 - playfram 6 - wait 1 - playfram 7 - wait 1 - playfram 8 - wait 1 - playfram 9 - wait 1 - playfram 10 - wait 1 - playfram 11 - goto Generic_Wait1End - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1869 Olympian Dishonorable Discharge 1 (cm\terran\olympian-dishonorable-discharge-1.grp) -# 1870 Olympian Dishonorable Discharge 2 (cm\terran\olympian-dishonorable-discharge-2.grp) -# 1871 Olympian Dishonorable Discharge 3 (cm\terran\olympian-dishonorable-discharge-3.grp) -.headerstart -IsId 784 -Type 1 -Init OlympianDishonorableDischargeInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -OlympianDishonorableDischargeInit: - playfram 0x00 - wait 1 - playfram 2 - wait 1 - playfram 4 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1872 Magnetar Law of Attraction 1 (cm\terran\magnetar-law-of-attraction-1.grp) -# 1873 Magnetar Law of Attraction 2 (cm\terran\magnetar-law-of-attraction-2.grp) -# 1874 Magnetar Law of Attraction 3 (cm\terran\magnetar-law-of-attraction-3.grp) -# 1875 Salamander Weaponhit (cm\terran\salamander-weaponhit.grp) -.headerstart -IsId 785 -Type 1 -Init MagnetarLawOfAttractionInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MagnetarLawOfAttractionInit: - 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 18 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1876 Positron Projectile (cm\protoss\positron-projectile.grp) -.headerstart -IsId 786 -Type 2 -Init PositronProjectileInit -Death PositronProjectileDeath -GndAttkInit PositronProjectileLoop -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -PositronProjectileInit: - playfram 25 - wait 1 - sigorder 1 - wait 1 - playfram 26 - wait 1 - playfram 27 -PositronProjectileLoop: - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - goto PositronProjectileLoop - -PositronProjectileDeath: - playsnd 2848 # Panoptus weaponhit 01 - domissiledmg - wait 1 - playfram 28 - wait 1 - playfram 29 - wait 1 - playfram 30 - wait 1 - playfram 31 - wait 1 - playfram 32 - wait 1 - playfram 33 - wait 1 - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1877 Demiurge Worship Overlay Small (cm\protoss\demiurge-worship-overlay-small.grp) -# 1878 Demiurge Worship Overlay Medium (cm\protoss\demiurge-worship-overlay-medium.grp) -# 1879 Demiurge Worship Overlay Large (cm\protoss\demiurge-worship-overlay-large.grp) -# 1880 Demiurge Worship Overlay XLarge (cm\protoss\demiurge-worship-overlay-xlarge.grp) -.headerstart -IsId 787 -Type 1 -Init DemiurgeWorshipProcInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -DemiurgeWorshipProcInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1882 Mind Tyrant Tyranny Cast Overlay (cm\protoss\mind-tyrant-tyranny-cast-overlay.grp) -.headerstart -IsId 788 -Type 1 -Init MindTyrantTyrannyCastOverlayInit -Death Generic_Wait1End -.headerend -# ----------------------------------------------------------------------------- # - -MindTyrantTyrannyCastOverlayInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - playfram 2 - wait 1 - playfram 3 - 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 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - playfram 21 - wait 1 - playfram 22 - wait 1 - playfram 23 - wait 1 - playfram 24 - wait 1 - playfram 25 - wait 1 - playfram 26 - wait 1 - playfram 27 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1883 Sasyrvoleth (cm\zerg\sasyrvoleth.grp) -.headerstart -IsId 789 -Type 12 -Init SasyrvolethInit -Death SasyrvolethDeath -GndAttkInit SasyrvolethGndAttkInit -AirAttkInit SasyrvolethGndAttkInit -Unused1 [NONE] -GndAttkRpt SasyrvolethGndAttkInit -AirAttkRpt SasyrvolethGndAttkInit -CastSpell [NONE] -GndAttkToIdle SasyrvolethWalkingToIdle -AirAttkToIdle SasyrvolethWalkingToIdle -Unused2 [NONE] -Walking SasyrvolethWalking -WalkingToIdle SasyrvolethWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SasyrvolethInit: - imgul 1884 0 42 # Sasyrvoleth Shadow (cm\zerg\sasyrvoleth.grp) - playfram 0x00 - wait 2 -SasyrvolethWalkingToIdle: - playfram 0x20 - wait 2 - playfram 0x40 - wait 2 - playfram 0x60 - wait 2 - playfram 0x80 - wait 2 - playfram 0xA0 - wait 2 - playfram 0xC0 - wait 2 - playfram 0xE0 - wait 2 - goto SasyrvolethWalkingToIdle - -SasyrvolethDeath: - playsnd 852 # Zerg\Guardian\ZGuDth00.WAV - imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) - wait 1 - lowsprul 848 0 42 # Zerg Unit Rubble Medium - wait 1 - end - -SasyrvolethGndAttkInit: - nobrkcodestart - playsndbtwn 1295 1296 # Sasyrvoleth weapon fire 01, 02 - playfram 0x100 - wait 1 - playfram 0x120 - wait 1 - playfram 0x140 - attackwith 1 - playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV - wait 1 - playfram 0x160 - wait 1 - playfram 0x180 - wait 1 - playfram 0x1A0 - wait 1 - playfram 0x1C0 - wait 1 - nobrkcodeend - gotorepeatattk - goto SasyrvolethWalkingToIdle - -SasyrvolethWalking: - 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 - goto SasyrvolethWalking - - - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1856 Avenge Small (cm\protoss\avenge-small.grp) -# 1857 Avenge Medium (cm\protoss\avenge-medium.grp) -# 1858 Avenge Large (cm\protoss\avenge-large.grp) -# 1859 Avenge XLarge (cm\protoss\avenge-xlarge.grp) -.headerstart -IsId 790 -Type 1 -Init AvengeProcInit -Death AvengeProcDeath -.headerend -# ----------------------------------------------------------------------------- # - -AvengeProcInit: - playfram 0x00 - wait 1 - playfram 1 - wait 1 - 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 -AvengeProcLoop: - playfram 34 - wait 1 - playfram 35 - wait 1 - playfram 36 - wait 1 - playfram 37 - wait 1 - playfram 38 - wait 1 - playfram 39 - wait 1 - playfram 40 - wait 1 - playfram 41 - wait 1 - playfram 42 - wait 1 - playfram 43 - wait 1 - playfram 44 - wait 1 - playfram 45 - wait 1 - playfram 46 - wait 1 - playfram 47 - wait 1 - playfram 48 - wait 1 - playfram 49 - wait 1 - playfram 50 - wait 1 - playfram 51 - wait 1 - playfram 52 - wait 1 - playfram 53 - wait 1 - playfram 54 - wait 1 - playfram 55 - wait 1 - playfram 56 - wait 1 - playfram 57 - wait 1 - playfram 58 - wait 1 - playfram 59 - wait 1 - playfram 60 - wait 1 - playfram 61 - wait 1 - playfram 62 - wait 1 - playfram 63 - wait 1 - playfram 64 - wait 1 - playfram 65 - wait 1 - playfram 66 - wait 1 - playfram 67 - wait 1 - playfram 68 - wait 1 - playfram 69 - wait 1 - playfram 70 - wait 1 - playfram 71 - wait 1 - playfram 72 - wait 1 - playfram 73 - wait 1 - playfram 74 - wait 1 - playfram 75 - wait 1 - playfram 76 - wait 1 - playfram 77 - wait 1 - playfram 78 - wait 1 - playfram 79 - wait 1 - playfram 80 - wait 1 - playfram 81 - wait 1 - playfram 82 - wait 1 - playfram 83 - wait 1 - playfram 84 - wait 1 - playfram 85 - wait 1 - playfram 86 - wait 1 - playfram 87 - wait 1 - playfram 88 - wait 1 - playfram 89 - wait 1 - playfram 90 - wait 1 - playfram 91 - wait 1 - playfram 92 - wait 1 - playfram 93 - wait 1 - playfram 94 - goto AvengeProcLoop - -AvengeProcDeath: - playfram 95 - wait 1 - playfram 97 - wait 1 - playfram 99 - wait 1 - playfram 101 - wait 1 - playfram 102 - wait 1 - playfram 103 - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1900 Goska (terran\ghost.grp) -.headerstart -IsId 791 -Type 13 -Init GoskaInit -Death EidolonDeath -GndAttkInit GoskaGndAttkInit -AirAttkInit GoskaGndAttkInit -Unused1 EidolonUnused1 -GndAttkRpt GoskaGndAttkRpt -AirAttkRpt GoskaGndAttkRpt -CastSpell EidolonCastSpell -GndAttkToIdle EidolonGndAttkToIdle -AirAttkToIdle EidolonGndAttkToIdle -Unused2 [NONE] -Walking EidolonWalking -WalkingToIdle EidolonWalkingToIdle -SpecialState1 EidolonSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -GoskaInit: - imgul 1901 0 0 # Goska Shadow (terran\tghShad.grp) - goto EidolonWalkingToIdle - -GoskaGndAttkInit: - playfram 0x00 - wait 1 - playfram 0x11 - wait 1 - playfram 0x22 -GoskaGndAttkRpt: - wait 1 - nobrkcodestart - playsndbtwn 3212 3214 # Goska Weaponfire 01, 02, 03 - attack - playfram 0xcc - wait 1 - playfram 0x22 - wait 1 - attack - playfram 0xcc - wait 1 - playfram 0x22 - wait 1 - attack - playfram 0xcc - wait 1 - playfram 0x22 - wait 1 - attack - playfram 0xcc - wait 1 - playfram 0x22 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto EidolonGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1910 Angeltear Rockets (bullet\SMmissle.grp) -.headerstart -IsId 792 -Type 2 -Init AngeltearRocketInit -Death AngeltearRocketDeath -GndAttkInit AngeltearRocketGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AngeltearRocketInit: - playfram 0x00 - wait 1 - sigorder 1 - wait 1 -AngeltearRocketGndAttkInit: - sprol 927 0 0 # Angeltear Rockets Trail (cm\terran\salamander-rocket-trail.grp) - wait 2 - goto AngeltearRocketGndAttkInit - -AngeltearRocketDeath: - playsndbtwn 3133 3134 # Salamander weapon 2 hit 01, 02 - imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1912 Ackmed (cm\heroes\ackmed.grp) -.headerstart -IsId 793 -Type 12 -Init AckmedInit -Death HarakanDeath -GndAttkInit HarakanGndAttkInit -AirAttkInit HarakanGndAttkInit -Unused1 HarakanUnused1 -GndAttkRpt HarakanGndAttkRpt -AirAttkRpt HarakanGndAttkRpt -CastSpell [NONE] -GndAttkToIdle HarakanGndAttkToIdle -AirAttkToIdle HarakanGndAttkToIdle -Unused2 [NONE] -Walking HarakanWalking -WalkingToIdle HarakanWalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -AckmedInit: - imgul 1913 0 0 # Ackmed Shadow (cm\heroes\ackmed-shadow.grp) - goto HarakanWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1931 Liiralisk Glave (cm\zerg\liiralisk-glave.grp) -.headerstart -IsId 795 -Type 13 -Init GlaveWurmInit -Death LiiraliskGlaveDeath -GndAttkInit GlaveWurmGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 LiiraliskGlaveSpecialState1 -.headerend -# ----------------------------------------------------------------------------- # - -LiiraliskGlaveDeath: - playsnd 93 # Bullet\ZQuHit02.wav - sprol 944 0 0 # Spore Hit Green Small (cm\zerg\spore-hit-green-small.grp) - domissiledmg - wait 1 - end - -LiiraliskGlaveSpecialState1: - playsndbtwn 91 92 # Bullet\ZQuHit00.wav | Bullet\ZQuHit01.wav - sprol 944 0 0 # Spore Hit Green Small (cm\zerg\spore-hit-green-small.grp) - domissiledmg - goto GlaveWurmGndAttkInit - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1766 Evigrilisk Tentacle (bullet\Tentacle.grp) -.headerstart -IsId 796 -Type 2 -Init EvigriliskTentacleInit -Death SubterraneanTentacleDeath -GndAttkInit SubterraneanTentacleDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EvigriliskTentacleInit: - playsndbtwn 3166 3168 # Evigrilisk weaponhit 01, 02, 03 - wait 1 - sigorder 1 - wait 1 - goto SubterraneanTentacleDeath - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 151 Zealot (Starbound) (faction-p\zealot-starbound.grp) -.headerstart -IsId 797 -Type 21 -Init ZealotInit -Death ZealotDeath -GndAttkInit ZealotGndAttkInit -AirAttkInit [NONE] -Unused1 ZealotUnused1 -GndAttkRpt ZealotGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle ZealotGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ZealotWalking -WalkingToIdle ZealotWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn ZealotWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ZealotStarboundGndAttkInit: - playfram 0x00 - wait 1 - goto ZealotWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1946 Vibrance (cm\protoss\vibrance.grp) -.headerstart -IsId 798 -Type 12 -Init VibranceInit -Death AnalogueDeath -GndAttkInit VibranceGndAttkInit -AirAttkInit VibranceGndAttkInit -Unused1 [NONE] -GndAttkRpt VibranceGndAttkInit -AirAttkRpt VibranceGndAttkInit -CastSpell [NONE] -GndAttkToIdle VibranceGndAttkToIdle -AirAttkToIdle VibranceGndAttkToIdle -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle VibranceGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VibranceInit: - imgul 1947 0 7 # Vibrance Shadow (cm\protoss\vibrance.grp) -VibranceGndAttkToIdle: - playfram 0x00 - wait 1 - goto ScourgeLocal00 - -VibranceGndAttkInit: - attack - gotorepeatattk - goto VibranceGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1960 White Circle Instant (bullet\circle14.grp) -.headerstart -IsId 799 -Type 2 -Init WhiteCircleInstantInit -Death WhiteCircleInstantDeath -GndAttkInit WhiteCircleInstantDeath -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -WhiteCircleInstantInit: - wait 1 - sigorder 1 - wait 1 -WhiteCircleInstantDeath: - playfram 0x00 - wait 1 - domissiledmg - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1958 Cicatus (cm\faction-p\cicatus.grp) -.headerstart -IsId 800 -Type 21 -Init CicatusInit -Death LegionnaireDeath -GndAttkInit LegionnaireGndAttkInit -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt LegionnaireGndAttkRpt -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle LegionnaireGndAttkToIdle -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking LegionnaireWalking -WalkingToIdle MadcapWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LegionnaireWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -CicatusInit: - imgul 1959 0 0 # Cicatus Shadow (cm\faction-p\cicatus-shadow.grp) - goto MadcapWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1963 Kazitrith Cesiant (cm\zerg\kazitrith-cesiant.grp) -.headerstart -IsId 801 -Type 20 -Init KazitrithCesiantInit -Death CerebrateDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CagrantCesiantAlmostBuilt -Built CagrantCesiantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -KazitrithCesiantInit: - imgul 1964 0 0 # Kazitrith Cesiant Shadow (cm\zerg\kazitrith-cesiant-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1970 Sieve (cm\terran\sieve.grp) -.headerstart -IsId 802 -Type 20 -Init SieveInit -Death ReservoirDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ReservoirSpecialState1 -SpecialState2 ReservoirSpecialState2 -AlmostBuilt ReservoirAlmostBuilt -Built ReservoirBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ReservoirBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -SieveInit: - imgul 1971 0 0 # Sieve Shadow (cm\terran\sieve-shadow.grp) - playfram 1 - goto ReservoirLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1972 Vespene Ridge Underlay (cm\neutral\vespene-ridge.grp) -.headerstart -IsId 803 -Type 20 -Init VespeneRidgeUnderlayInit -Death VespeneRidgeDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 ScourgeLocal00 -SpecialState2 ScourgeLocal00 -AlmostBuilt ScourgeLocal00 -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -VespeneRidgeUnderlayInit: - playframtile 0x00 - imgul 1209 0 0 # Vespene Ridge Shadow (cm\neutral\vespene-ridge-shadow.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1973 Cedent (cm\protoss\cedent.grp) -.headerstart -IsId 804 -Type 27 -Init CedentInit -Death AquiferDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built AquiferBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking AquiferBuilt -WorkingToIdle AquiferBuilt -WarpIn CedentWarpIn -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -UnBurrow [NONE] -Enable ScourgeLocal00 -.headerend -# ----------------------------------------------------------------------------- # - -CedentInit: - imgul 1974 0 0 # Cedent Shadow (cm\protoss\cedent-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -CedentWarpIn: - imgol 1975 0 0 # Cedent Warp Flash (cm\protoss\cedent.grp) - goto VespeneRidgeSpecialState1 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1976 Eskigant (cm\zerg\eskigant.grp) -.headerstart -IsId 805 -Type 20 -Init EskigantInit -Death ExcisantDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt EskigantAlmostBuilt -Built ExcisantBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ExcisantIsWorking -WorkingToIdle ExcisantIsWorking -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -EskigantInit: - imgul 1977 0 0 # Eskigant Shadow (cm\zerg\eskigant.grp) - playfram 0x00 - goto ScourgeLocal00 - -EskigantAlmostBuilt: - imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) - goto ExcisantBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1978 Oscilliant (cm\protoss\oscilliant.grp) -.headerstart -IsId 806 -Type 12 -Init OscilliantInit -Death AtreusDeath -GndAttkInit OscilliantGndAttkInit -AirAttkInit OscilliantGndAttkInit -Unused1 [NONE] -GndAttkRpt OscilliantGndAttkRpt -AirAttkRpt OscilliantGndAttkRpt -CastSpell [NONE] -GndAttkToIdle OscilliantGndAttkToIdle -AirAttkToIdle OscilliantGndAttkToIdle -Unused2 [NONE] -Walking OscilliantWalking -WalkingToIdle OscilliantGndAttkToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -OscilliantInit: - imgul 1979 0 0 # Oscilliant Shadow (cm\protoss\oscilliant-shad.grp) -OscilliantGndAttkToIdle: - playfram 0x00 - goto ScourgeLocal00 - -OscilliantGndAttkInit: - playfram 0xdd - wait 1 -OscilliantGndAttkRpt: - wait 1 - nobrkcodestart - playfram 0xff - attack - wait 1 - playfram 0x110 - wait 6 - playfram 0xff - attack - wait 1 - playfram 0x110 - wait 6 - playfram 0xff - attack - wait 1 - playfram 0x110 - wait 6 - playfram 0xff - attack - wait 1 - playfram 0x110 - wait 6 - playfram 0xff - attack - wait 1 - playfram 0x110 - wait 1 - playfram 0xff - wait 1 - playfram 0xee - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto OscilliantGndAttkToIdle - -OscilliantWalking: - move 5 - wait 1 - playfram 0x55 - move 5 - wait 1 - playfram 0x66 - move 5 - wait 1 - playfram 0x77 - move 5 - wait 1 - playfram 0x88 - move 5 - wait 1 - playfram 0x99 - move 5 - wait 1 - playfram 0xaa - move 5 - wait 1 - playfram 0xbb - move 5 - wait 1 - playfram 0xcc - goto OscilliantWalking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1981 Renesair (cm\faction-p\renesair.grp) -.headerstart -IsId 807 -Type 21 -Init RenesairInit -Death RenesairDeath -GndAttkInit VassalGndAttkInit -AirAttkInit VassalGndAttkInit -Unused1 [NONE] -GndAttkRpt VassalGndAttkInit -AirAttkRpt VassalGndAttkInit -CastSpell [NONE] -GndAttkToIdle VassalGndAttkToIdle -AirAttkToIdle VassalGndAttkToIdle -Unused2 [NONE] -Walking RenesairWalking -WalkingToIdle VassalWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -RenesairInit: - imgul 1982 0 42 # Renesair Shadow (cm\faction-p\renesair.grp) - goto VassalGndAttkToIdle - -RenesairDeath: - playsndbtwn 3060 3062 # Vassal death 01, 02, 03 - imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) - wait 3 - lowsprul 973 0 42 # Renesair remains - wait 1 - end - -RenesairWalking: - setvertpos 0 - playfram 0x00 - imgol 1983 0 0 # Renesair Engines (cm\faction-p\renesair-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1794 Extatus (cm\faction-p\extatus.grp) -.headerstart -IsId 808 -Type 21 -Init ExtatusInit -Death AuroraDeath -GndAttkInit AuroraGndAttkInit -AirAttkInit AuroraGndAttkInit -Unused1 [NONE] -GndAttkRpt AuroraGndAttkInit -AirAttkRpt AuroraGndAttkInit -CastSpell [NONE] -GndAttkToIdle AuroraGndAttkToIdle -AirAttkToIdle AuroraGndAttkToIdle -Unused2 [NONE] -Walking ExtatusWalking -WalkingToIdle AuroraWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -ExtatusInit: - imgul 1795 0 42 # Extatus Shadow (cm\faction-p\extatus.grp) - goto AuroraGndAttkToIdle - -ExtatusWalking: - playfram 0x00 - setvertpos 0 - imgol 1199 0 0 # Extatus Engines (cm\faction-p\extatus-engine.grp) - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1985 Unar (cm\protoss\unar.grp) -.headerstart -IsId 809 -Type 21 -Init UnarInit -Death ExemplarDeath -GndAttkInit UnarGndAttkInit -AirAttkInit UnarGndAttkInit -Unused1 [NONE] -GndAttkRpt UnarGndAttkInit -AirAttkRpt UnarGndAttkInit -CastSpell [NONE] -GndAttkToIdle UnarGndAttkToIdle -AirAttkToIdle UnarGndAttkToIdle -Unused2 [NONE] -Walking UnarWalking -WalkingToIdle ArchitectWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn LanifectWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -UnarInit: - imgul 1986 0 0 # Unar Shadow (cm\protoss\unar-shadow.grp) -UnarGndAttkToIdle: - playfram 0x00 - goto ArchitectWalkingToIdle - -UnarGndAttkInit: - nobrkcodestart - playsndbtwn 3338 3340 # Unar weapon charge 01, 02, 03 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 7 - imgol 1820 0 0 # Architect charge overlay - wait 8 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 3 - attackwith 1 - wait 1 - sigorder 32 - nobrkcodeend - gotorepeatattk - goto ScourgeLocal00 - -UnarWalking: - playfram 0x00 - setvertpos 0 - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1987 Unar Orbital (cm\protoss\unar-orbital.grp) -.headerstart -IsId 810 -Type 2 -Init PhaseDisruptorInit -Death UnarOrbitalDeath -GndAttkInit PhaseDisruptorGndAttkInit -AirAttkInit [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -UnarOrbitalDeath: - imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) - wait 1 - end - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1991 Xenolith (cm\protoss\xenolith.grp) -.headerstart -IsId 811 -Type 21 -Init XenolithInit -Death GatewayDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built XenolithBuilt -Landing [NONE] -LiftOff [NONE] -IsWorking ScourgeLocal00 -WorkingToIdle ScourgeLocal00 -WarpIn XenolithWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -XenolithInit: - imgul 1992 0 0 # Xenolith Shadow (cm\protoss\xenolith-shadow.grp) -XenolithBuilt: - playfram 5 - goto ScourgeLocal00 - -#XenolithLocal01: -# playfram 6 -# wait 2 -# playfram 7 -# wait 2 -# playfram 8 -# wait 2 -# playfram 9 -# wait 2 -# playfram 10 -# wait 10 -# goto XenolithLocal01 - -XenolithWarpIn: - imgol 1992 0 0 # Xenolith Warp Flash (cm\protoss\xenolith.grp) - goto XenolithBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1997 Landlock (cm\askosi\landlock.grp) -.headerstart -IsId 812 -Type 21 -Init MinistryInit -Death InfestedMinistryDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built ScourgeLocal00 -Landing [NONE] -LiftOff [NONE] -IsWorking MinistryIsWorking -WorkingToIdle MinistryWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -#LandlockInit: -# imgul 1998 0 0 # Landlock Shadow (cm\askosi\landlock-shadow.grp) -#LandlockWorkingToIdle: -# playfram 0x00 -# goto ScourgeLocal00 - -#LandlockDeath: -# playsnd 7 # Misc\ExploLrg.wav -# imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) -# wait 3 -# lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) -# # REPLACE RUBBLE -# wait 1 -# end - -#LandlockBuilt: -# imgol 1820 0 0 # Architect weaponfire channel -# goto ScourgeLocal00 - -#LandlockIsWorking: -# playfram 1 -# wait 1 -# playfram 2 -# wait 1 -# playfram 3 -# wait 1 -# playfram 4 -# wait 1 -# playfram 5 -# wait 1 -# playfram 6 -# wait 1 -# playfram 7 -# wait 1 -# goto LandlockIsWorking - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2001 Dracadin (protoss\dracadin.grp) -.headerstart -IsId 813 -Type 21 -Init DracadinOrderInit -Death DracadinDeath -GndAttkInit DracadinGndAttkInit -AirAttkInit DracadinGndAttkInit -Unused1 DracadinUnused1 -GndAttkRpt DracadinGndAttkRpt -AirAttkRpt DracadinGndAttkRpt -CastSpell [NONE] -GndAttkToIdle DracadinGndAttkToIdle -AirAttkToIdle DracadinGndAttkToIdle -Unused2 [NONE] -Walking DracadinWalking -WalkingToIdle DracadinWalkingToIdle -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn DracadinWarpIn -.headerend -# ----------------------------------------------------------------------------- # - -DracadinOrderInit: - imgul 2002 0 0 # Dracadin Order Shadow (faction-p\dracadin-order-shadow.grp) - goto DracadinWalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1999 Quazilisk (cm\zerg\quazilisk.grp) -.headerstart -IsId 814 -Type 26 -Init QuazrokorInit -Death QuaziliskDeath -GndAttkInit QuaziliskGndAttkInit -AirAttkInit QuaziliskGndAttkInit -Unused1 QuaziliskUnused1 -GndAttkRpt QuaziliskGndAttkRpt -AirAttkRpt QuaziliskGndAttkRpt -CastSpell [NONE] -GndAttkToIdle QuaziliskGndAttkToIdle -AirAttkToIdle QuaziliskGndAttkToIdle -Unused2 [NONE] -Walking QuaziliskWalking -WalkingToIdle QuaziliskGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 QuaziliskSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow QuaziliskBurrow -UnBurrow QuaziliskUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -QuazrokorInit: - imgul 2000 0 0 # Quazrokor Shadow (cm\faction-z\quazrokor-shadow.grp) - goto QuaziliskGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2017 Tencendur (cm\terran\tencendur.grp) -.headerstart -IsId 816 -Type 24 -Init TencendurInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt AnchorAlmostBuilt -Built TencendurBuilt -Landing AnchorLanding -LiftOff AnchorLiftOff -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable ScourgeLocal00 -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TencendurInit: - imgul 2018 0 0 # Tencendur Shadow (cm\terran\tencendur-shadow.grp) - goto ScourgeLocal00 - -TencendurBuilt: - imgol 2023 0 -48 # Tencendur Flag (cm\terran\tencendur-flag.grp) - goto AnchorBuilt - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2008 Tiangou Base (cm\faction-t\tiangou-base.grp) -.headerstart -IsId 817 -Type 12 -Init Tiangou_Base_Init -Death MatadorDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 Goliath_Base_Unused1 -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking Goliath_Base_Walking -WalkingToIdle Goliath_Base_WalkingToIdle -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Tiangou_Base_Init: - imgul 2010 0 0 # Tiangou Shadow (cm\faction-t\tiangou-shadow.grp) - goto Goliath_Base_WalkingToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2009 Tiangou Turret (cm\faction-t\tiangou-turret.grp) -.headerstart -IsId 818 -Type 12 -Init Goliath_Turret_Init -Death Generic_Wait1End -GndAttkInit Tiangou_Turret_GndAttkInit -AirAttkInit Tiangou_Turret_GndAttkInit -Unused1 [NONE] -GndAttkRpt Tiangou_Turret_GndAttkRpt -AirAttkRpt Tiangou_Turret_GndAttkRpt -CastSpell [NONE] -GndAttkToIdle Goliath_Turret_Init -AirAttkToIdle Goliath_Turret_Init -Unused2 [NONE] -Walking Goliath_Turret_Walking -WalkingToIdle Goliath_Turret_Init -SpecialState1 [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -Tiangou_Turret_GndAttkInit: - wait 1 -Tiangou_Turret_GndAttkRpt: - wait 1 - nobrkcodestart - playfram 0xdd - attackwith 1 - wait 1 - playfram 0x121 - wait 2 - playfram 0xee - attackwith 1 - wait 1 - playfram 0x121 - wait 6 - playfram 0xff - attackwith 1 - wait 1 - playfram 0x121 - wait 2 - playfram 0x110 - attackwith 1 - wait 1 - playfram 0x121 - wait 3 - playfram 0x00 - wait 1 - nobrkcodeend - gotorepeatattk - ignorerest - goto Goliath_Turret_Init - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2023 Tencendur Flag (cm\terran\tencendur-flag.grp) -.headerstart -IsId 819 -Type 24 -Init TencendurFlagGround -Death Generic_Wait1End -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking TencendurFlagAir -WalkingToIdle TencendurFlagGround -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt TencendurFlagGround -Built TencendurFlagGround -Landing TencendurFlagAir -LiftOff TencendurFlagAir -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable TencendurFlagGround -Burrow [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -TencendurFlagGround: - playfram 0x00 - wait 2 - playfram 0x11 - wait 2 - playfram 0x22 - wait 2 -TencendurFlagLocal01: - playfram 0x33 - wait 2 - playfram 0x44 - wait 2 - playfram 0x55 - wait 2 - playfram 0x66 - wait 2 - playfram 0x77 - wait 2 - playfram 0x88 - wait 2 - goto TencendurFlagLocal01 - -TencendurFlagAir: - playfram 0x99 - wait 2 - playfram 0xAA - wait 2 - playfram 0xBB - wait 2 - playfram 0xCC - wait 2 - playfram 0xDD - wait 2 - playfram 0xEE - wait 2 - goto TencendurFlagAir - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 2024 Inzorthrokor (cm\faction-t\inzorthrokor.grp) -.headerstart -IsId 820 -Type 26 -Init ZoryusthalethInit -Death ZoryusthalethDeath -GndAttkInit InzorthrokorGndAttkInit -AirAttkInit InzorthrokorGndAttkInit -Unused1 ZoryusthalethUnused1 -GndAttkRpt InzorthrokorGndAttkInit -AirAttkRpt InzorthrokorGndAttkInit -CastSpell ZoryusthalethCastSpell -GndAttkToIdle ZoryusthalethGndAttkToIdle -AirAttkToIdle ZoryusthalethGndAttkToIdle -Unused2 [NONE] -Walking ZoryusthalethWalking -WalkingToIdle ZoryusthalethGndAttkToIdle -SpecialState1 [NONE] -SpecialState2 ZoryusthalethSpecialState2 -AlmostBuilt [NONE] -Built [NONE] -Landing [NONE] -LiftOff [NONE] -IsWorking [NONE] -WorkingToIdle [NONE] -WarpIn [NONE] -Unused3 [NONE] -StarEditInit [NONE] -Disable [NONE] -Burrow ZoryusthalethBurrow -UnBurrow ZoryusthalethUnBurrow -Enable [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -InzorthrokorGndAttkInit: - playfram 0x00 - wait 1 - nobrkcodestart - playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 - playfram 0xaa - wait 1 - playfram 0xbb - wait 1 - playfram 0xcc - wait 1 - playfram 0xdd - attack - wait 1 - playfram 0xcc - wait 1 - playfram 0xbb - wait 1 - playfram 0xaa - nobrkcodeend - gotorepeatattk - goto ZoryusthalethGndAttkToIdle - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1044 Cestus (cm\terran\cestus.grp) -.headerstart -IsId 821 -Type 20 -Init CestusInit -Death AtelierDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking [NONE] -WalkingToIdle [NONE] -SpecialState1 [NONE] -SpecialState2 [NONE] -AlmostBuilt CestusAlmostBuilt -Built CestusWorkingToIdle -Landing CestusLanding -LiftOff CestusLiftOff -IsWorking ScourgeLocal00 -WorkingToIdle CestusWorkingToIdle -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -CestusInit: - imgul 1045 0 0 # Cestus Shadow (cm\terran\cestus-shadow.grp) - playfram 0x00 - goto ScourgeLocal00 - -CestusAlmostBuilt: - playfram 1 - goto ScourgeLocal00 - -CestusWorkingToIdle: - playfram 0x00 - wait 2 - playfram 2 - wait 2 - playfram 3 - wait 2 - playfram 4 - wait 2 - playfram 5 - wait 2 - playfram 6 - wait 2 - playfram 7 - goto CestusWorkingToIdle - -CestusLanding: - nobrkcodestart - wait 25 - playsnd 472 # Misc\Land.WAV - playfram 0x00 -# playfram 4 -# wait 4 -# playfram 2 -# wait 4 -# playfram 3 -# wait 4 -# playfram 5 -# wait 4 -# playfram 0x00 - wait 16 - sigorder 16 - nobrkcodeend - goto CestusWorkingToIdle - -CestusLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV -# playfram 5 -# wait 4 -# playfram 3 -# wait 4 -# playfram 2 -# wait 4 -# playfram 4 - wait 16 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 353 Facade (cm\terran\facade.grp) -.headerstart -IsId 822 -Type 20 -Init FacadeInit -Death FulcrumDeath -GndAttkInit [NONE] -AirAttkInit [NONE] -Unused1 [NONE] -GndAttkRpt [NONE] -AirAttkRpt [NONE] -CastSpell [NONE] -GndAttkToIdle [NONE] -AirAttkToIdle [NONE] -Unused2 [NONE] -Walking ScourgeLocal00 -WalkingToIdle ScourgeLocal00 -SpecialState1 StarpadBuilt -SpecialState2 [NONE] -AlmostBuilt FacadeAlmostBuilt -Built StarpadBuilt -Landing FacadeLanding -LiftOff FacadeLiftOff -IsWorking [NONE] -WorkingToIdle StarpadBuilt -WarpIn [NONE] -.headerend -# ----------------------------------------------------------------------------- # - -FacadeInit: - imgul 1133 0 0 # Facade Shadow (cm\terran\facade-shadow.grp) - goto StarpadBuilt - -FacadeAlmostBuilt: - playfram 20 - goto ScourgeLocal00 - -FacadeLanding: - nobrkcodestart - wait 20 - playsnd 472 # Misc\Land.WAV - playfram 0 - wait 20 - playfram 0x00 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -FacadeLiftOff: - nobrkcodestart - playsnd 471 # Misc\LiftOff.WAV - playfram 0 - wait 16 - sigorder 16 - nobrkcodeend - goto ScourgeLocal00 - -# ----------------------------------------------------------------------------- # -# This header is used by images.dat entries: -# 1078 Prying Eyes Overlay (cm\effect\cruciblepennant-medium.grp) -.headerstart -IsId 823 -Type 1 -Init PryingEyesInit -Death PryingEyesDeath -.headerend -# ----------------------------------------------------------------------------- # - -PryingEyesInit: - playfram 0x00 - wait 1 - playfram 1 - 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 2 - playfram 17 - wait 1 - playfram 18 - wait 1 - playfram 19 - wait 1 - playfram 20 - wait 1 - goto PryingEyesInit - -PryingEyesDeath: - wait 1 - end - -## Next free IsId: 824 \ No newline at end of file diff --git a/mpq/scripts/iscript_askosi.bin b/mpq/scripts/iscript_askosi.bin new file mode 100644 index 0000000000000000000000000000000000000000..c256d7feebe6f8c3abb6798a84352ea7562e475d GIT binary patch literal 1537 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 m!GD+A$`9q9wf_UPN?eu literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_general.txt b/mpq/scripts/iscript_general.txt new file mode 100644 index 0000000..4be1ec6 --- /dev/null +++ b/mpq/scripts/iscript_general.txt @@ -0,0 +1,4293 @@ +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 338 Ragnasaur (neutral\Acritter.grp) +.headerstart +IsId 198 +Type 12 +Init RagnasaurInit +Death RagnasaurDeath +GndAttkInit RagnasaurGndAttkInit +AirAttkInit RagnasaurGndAttkInit +Unused1 [NONE] +GndAttkRpt RagnasaurGndAttkInit +AirAttkRpt RagnasaurGndAttkInit +CastSpell RagnasaurCastSpell +GndAttkToIdle RagnasaurGndAttkToIdle +AirAttkToIdle RagnasaurGndAttkToIdle +Unused2 [NONE] +Walking RagnasaurWalking +WalkingToIdle RagnasaurGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +RagnasaurInit: + imgul 339 0 0 # Ragnasaur Shadow (neutral\nacShad.grp) +RagnasaurGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +RagnasaurDeath: + playsndbtwn 276 277 # Maverick death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +RagnasaurGndAttkInit: + playfram 0x00 + wait 1 +RagnasaurGndAttkRpt: + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + playsndbtwn 1189 1193 # Ragnasaur weaponfire 01, 02, 03, 04, 05 + attackwith 1 + wait 1 + playfram 0x11 + wait 1 + nobrkcodeend + gotorepeatattk + goto RagnasaurGndAttkToIdle + +RagnasaurCastSpell: + playsnd 974 # Misc\CRITTERS\ScWht03.wav + wait 1 + goto RagnasaurGndAttkToIdle + +RagnasaurWalking: + move 3 + wait 1 + playfram 0x11 + move 3 + wait 1 + playfram 0x33 + move 3 + wait 1 + playfram 0x44 + move 3 + wait 1 + playfram 0x55 + move 3 + wait 1 + playfram 0x66 + move 3 + wait 1 + playfram 0x77 + move 3 + wait 1 + playfram 0x88 + move 3 + wait 1 + playfram 0x99 + move 3 + wait 1 + playfram 0xaa + move 3 + wait 1 + playfram 0xbb + move 3 + wait 1 + playfram 0xcc + move 3 + wait 1 + playfram 0xdd + move 3 + wait 1 + playfram 0xee + move 3 + wait 1 + goto RagnasaurWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 340 Rhynadon (Badlands) (neutral\Bcritter.grp) +.headerstart +IsId 199 +Type 12 +Init Rhynadon_BadlandsCritter_Init +Death Rhynadon_BadlandsCritter_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Rhynadon_BadlandsCritter_Walking +WalkingToIdle Rhynadon_BadlandsCritter_WalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Rhynadon_BadlandsCritter_Init: + imgul 341 0 0 # Rhynadon (Badlands) Shadow (neutral\nbcShad.grp) +Rhynadon_BadlandsCritter_WalkingToIdle: + playfram 0x66 + goto SkryrokorLocal00 + +Rhynadon_BadlandsCritter_Death: + playsnd 57 # Misc\CRITTERS\BCrDth00.wav + setfldirect 0 + playfram 0xbb + wait 1 + playfram 188 + wait 1 + playfram 189 + wait 1 + playfram 190 + wait 1 + playfram 191 + wait 1 + playfram 192 + wait 1 + playfram 193 + wait 1 + playfram 194 + wait 1 + end + +Rhynadon_BadlandsCritter_Walking: + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + goto Rhynadon_BadlandsCritter_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 342 Bengalaas (Jungle) (neutral\Jcritter.grp) +.headerstart +IsId 200 +Type 12 +Init Bengalaas_JungleCritter_Init +Death Bengalaas_JungleCritter_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Bengalaas_JungleCritter_Walking +WalkingToIdle Bengalaas_JungleCritter_WalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Bengalaas_JungleCritter_Init: + imgul 343 0 0 # Bengalaas (Jungle) Shadow (neutral\njcShad.grp) +Bengalaas_JungleCritter_WalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +Bengalaas_JungleCritter_Death: + playsnd 49 # Misc\CRITTERS\JCrDth00.wav + setfldirect 0 + playfram 0xcc + wait 1 + playfram 205 + wait 1 + playfram 206 + wait 1 + playfram 207 + wait 1 + playfram 208 + wait 1 + playfram 209 + wait 1 + playfram 210 + wait 1 + playfram 211 + wait 1 + end + +Bengalaas_JungleCritter_Walking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0x00 + goto Bengalaas_JungleCritter_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 344 Vespene Geyser (neutral\geyser.grp) +.headerstart +IsId 201 +Type 20 +Init VespeneGeyserInit +Death VespeneGeyserDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 VespeneGeyserSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built VespeneGeyserBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking VespeneGeyserSpecialState1 +WorkingToIdle VespeneGeyserSpecialState1 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VespeneGeyserInit: + playframtile 0x00 + imgul 346 0 0 # Vespene Geyser Shadow (neutral\geyShad.grp) +VespeneGeyserBuilt: + wait 14 +VespeneGeyserSpecialState1: + wait 1 + 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 + waitrand 5 50 + goto VespeneGeyserSpecialState1 + +VespeneGeyserDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 345 Vespene Geyser Underlay (neutral\geyser.grp) +.headerstart +IsId 202 +Type 20 +Init VespeneGeyserUnderlayInit +Death VespeneGeyserDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SkryrokorLocal00 +SpecialState2 SkryrokorLocal00 +AlmostBuilt SkryrokorLocal00 +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VespeneGeyserUnderlayInit: + playframtile 0x00 + imgul 346 0 0 # Vespene Geyser Shadow (neutral\geyShad.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 346 Vespene Geyser Shadow (neutral\geyShad.grp) +.headerstart +IsId 203 +Type 1 +Init VespeneGeyserShadowInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +VespeneGeyserShadowInit: + playframtile 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 347 Mineral Field Type1 (neutral\min01.grp) +.headerstart +IsId 204 +Type 20 +Init MineralFieldType1Init +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType1Init: + imgul 348 0 0 # Mineral Field Type1 Shadow (neutral\min01Sha.grp) + goto InfestedTerranWalkingToIdle + +MineralFieldType1SpecialState1: + playfram 3 + goto SkryrokorLocal00 + +MineralFieldType1SpecialState2: + playfram 2 + goto SkryrokorLocal00 + +MineralFieldType1AlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +MineralFieldType1Landing: + playfram 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 349 Mineral Field Type2 (neutral\min02.grp) +.headerstart +IsId 205 +Type 20 +Init MineralFieldType2Init +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType2Init: + imgul 350 0 0 # Mineral Field Type2 Shadow (neutral\min02Sha.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 351 Mineral Field Type3 (neutral\min03.grp) +.headerstart +IsId 206 +Type 20 +Init MineralFieldType3Init +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType3Init: + imgul 352 0 0 # Mineral Field Type3 Shadow (neutral\min03Sha.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 353 Independent Starport (Unused) (protoss\scout.grp) +.headerstart +IsId 207 +Type 20 +Init Unknown207Init +Death Unknown207Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built Unknown207Init +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown207Init: + playfram 0x00 + goto SkryrokorLocal00 + +Unknown207Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 355 Zerg Beacon Overlay (zerg\zCirGlow.grp) +.headerstart +IsId 208 +Type 1 +Init ZergBeaconOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergBeaconOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto ZergBeaconOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 357 Terran Beacon Overlay (terran\tCirGlow.grp) +.headerstart +IsId 209 +Type 1 +Init TerranBeaconOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +TerranBeaconOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto TerranBeaconOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 359 Protoss Beacon Overlay (protoss\pCirGlow.grp) +.headerstart +IsId 210 +Type 1 +Init ProtossBeaconOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ProtossBeaconOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto ProtossBeaconOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 354 Zerg Beacon (zerg\zmarker.grp) +.headerstart +IsId 211 +Type 1 +Init ZergBeaconInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergBeaconInit: + playfram 0x00 + imgol 355 0 0 # Zerg Beacon Overlay (zerg\zCirGlow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 358 Protoss Beacon (protoss\pMarker.grp) +.headerstart +IsId 212 +Type 1 +Init ProtossBeaconInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ProtossBeaconInit: + playfram 0x00 + imgol 359 0 0 # Protoss Beacon Overlay (protoss\pCirGlow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 356 Terran Beacon (terran\tMarker.grp) +.headerstart +IsId 213 +Type 1 +Init TerranBeaconInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +TerranBeaconInit: + playfram 0x00 + imgol 357 0 0 # Terran Beacon Overlay (terran\tCirGlow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 214 +Type 1 +Init Unknown214Init +Death Unknown214Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown214Init: + playfram 0x00 + goto SkryrokorLocal00 + +Unknown214Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 405 Mineral Chunk Shadow (neutral\norShad.grp) +# 406 Protoss Gas Orb Shadow (neutral\ngoShad.grp) +# 407 Zerg Gas Sac Shadow (neutral\ngsShad.grp) +# 408 Terran Gas Tank Shadow (neutral\ngcShad.grp) +# 409 Data Disk Shadow (Ground) (neutral\nddShad.grp) +# 410 Data Disk Shadow (Carried) (neutral\nddSha2.grp) +# 411 Flag Shadow (Ground) (neutral\nflShad.grp) +# 412 Flag Shadow (Carried) (neutral\nflSha2.grp) +# 413 Crystal Shadow (Ground) (neutral\nkhShad.grp) +# 414 Crystal Shadow (Carried) (neutral\nkhSha2.grp) +# 415 Young Chrysalis Shadow (Ground) (neutral\nkeShad.grp) +# 416 Young Chrysalis Shadow (Carried) (neutral\nkeSha2.grp) +# 417 Psi Emitter Shadow (Ground) (neutral\npsShad.grp) +# 418 Psi Emitter Shadow (Carried) (neutral\npsSha2.grp) +.headerstart +IsId 215 +Type 1 +Init PowerupsShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PowerupsShadowHeaderInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 392 Flag (neutral\Flag.grp) +.headerstart +IsId 216 +Type 1 +Init FlagInit +Death FlagDeath +.headerend +# ----------------------------------------------------------------------------- # + +FlagInit: + playfram 0x00 + pwrupcondjmp FlagLocal00 + imgul 411 0 0 # Flag Shadow (Ground) (neutral\nflShad.grp) + goto FlagLocal01 + +FlagLocal01: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto FlagLocal01 + +FlagLocal00: + wait 1 + switchul 412 # Flag Shadow (Carried) (neutral\nflSha2.grp) + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto FlagLocal01 + +FlagDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 394 Psi Emitter (neutral\PsiEmit.grp) +.headerstart +IsId 217 +Type 1 +Init PsiEmitterInit +Death PsiEmitterDeath +.headerend +# ----------------------------------------------------------------------------- # + +PsiEmitterInit: + pwrupcondjmp PsiEmitterLocal00 + imgul 417 0 0 # Psi Emitter Shadow (Ground) (neutral\npsShad.grp) + goto PsiEmitterLocal01 + +PsiEmitterLocal01: + 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 + goto PsiEmitterLocal01 + +PsiEmitterLocal00: + wait 1 + switchul 418 # Psi Emitter Shadow (Carried) (neutral\npsSha2.grp) + goto PsiEmitterLocal01 + +PsiEmitterDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 395 Data Disc (neutral\DataDisk.grp) +.headerstart +IsId 218 +Type 1 +Init DataDiskInit +Death DataDiskDeath +.headerend +# ----------------------------------------------------------------------------- # + +DataDiskInit: + playfram 0x00 + pwrupcondjmp DataDiskLocal00 + imgul 409 0 0 # Data Disk Shadow (Ground) (neutral\nddShad.grp) + goto DataDiskLocal01 + +DataDiskLocal01: + wait 125 + goto DataDiskLocal01 + +DataDiskLocal00: + wait 1 + switchul 410 # Data Disk Shadow (Carried) (neutral\nddSha2.grp) + goto DataDiskLocal01 + +DataDiskDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 396 Khaydarin Crystal (neutral\KhChunk.grp) +# 958 Uraj (neutral\Uraj.grp) +# 959 Khalis (neutral\Khalis.grp) +.headerstart +IsId 219 +Type 1 +Init CrystalsShadowsInit +Death CrystalsShadowsDeath +.headerend +# ----------------------------------------------------------------------------- # + +CrystalsShadowsInit: + playfram 0x00 + pwrupcondjmp CrystalsShadowsLocal00 + imgul 413 0 0 # Crystal Shadow (Ground) (neutral\nkhShad.grp) + goto SkryrokorLocal00 + +CrystalsShadowsLocal00: + wait 1 + switchul 414 # Crystal Shadow (Carried) (neutral\nkhSha2.grp) + goto SkryrokorLocal00 + +CrystalsShadowsDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 397 Mineral Chunk Type1 (neutral\OreChunk.grp) +.headerstart +IsId 221 +Type 1 +Init OreChunkInit +Death OreChunkDeath +.headerend +# ----------------------------------------------------------------------------- # + +OreChunkInit: + playfram 0x00 + pwrupcondjmp SkryrokorLocal00 + imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) + goto SkryrokorLocal00 + +OreChunkDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 398 Mineral Chunk Type2 (neutral\OreChunk.grp) +.headerstart +IsId 222 +Type 1 +Init OreChunk2Init +Death OreChunk2Death +.headerend +# ----------------------------------------------------------------------------- # + +OreChunk2Init: + playfram 0x11 + pwrupcondjmp SkryrokorLocal00 + imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) + goto SkryrokorLocal00 + +OreChunk2Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 401 Zerg Gas Sac Type1 (neutral\GasSac.grp) +.headerstart +IsId 223 +Type 1 +Init GasSacInit +Death GasSacDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasSacInit: + playfram 0x00 + pwrupcondjmp SkryrokorLocal00 + imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) + goto SkryrokorLocal00 + +GasSacDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 402 Zerg Gas Sac Type2 (neutral\GasSac.grp) +.headerstart +IsId 224 +Type 1 +Init GasSac2Init +Death GasSacDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasSac2Init: + playfram 0x11 + pwrupcondjmp SkryrokorLocal00 + imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 399 Protoss Gas Orb Type1 (neutral\GasOrb.grp) +.headerstart +IsId 225 +Type 1 +Init GasOrbInit +Death GasOrbDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasOrbInit: + playfram 0x00 + pwrupcondjmp SkryrokorLocal00 + imgul 406 0 0 # Protoss Gas Orb Shadow (neutral\ngoShad.grp) + goto SkryrokorLocal00 + +GasOrbDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 400 Protoss Gas Orb Type2 (neutral\GasOrb.grp) +.headerstart +IsId 226 +Type 1 +Init GasOrb2Init +Death GasOrbDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasOrb2Init: + playfram 0x11 + pwrupcondjmp SkryrokorLocal00 + imgul 406 0 0 # Protoss Gas Orb Shadow (neutral\ngoShad.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 403 Terran Gas Tank Type1 (neutral\GasTank.grp) +.headerstart +IsId 227 +Type 1 +Init GasTankInit +Death GasTankDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasTankInit: + playfram 0x00 + pwrupcondjmp SkryrokorLocal00 + imgul 408 0 0 # Terran Gas Tank Shadow (neutral\ngcShad.grp) + goto SkryrokorLocal00 + +GasTankDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 404 Terran Gas Tank Type2 (neutral\GasTank.grp) +.headerstart +IsId 228 +Type 1 +Init GasTank2Init +Death GasTankDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasTank2Init: + playfram 1 + pwrupcondjmp SkryrokorLocal00 + imgul 408 0 0 # Terran Gas Tank Shadow (neutral\ngcShad.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 254 +Type 0 +Init Unknown254Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown254Init: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# All shadows +.headerstart +IsId 275 +Type 1 +Init ShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ShadowHeaderInit: + wait 1 + followmaingraphic + goto ShadowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 426 Double Explosion (thingy\dbl_exp.grp) +.headerstart +IsId 278 +Type 1 +Init DoubleExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DoubleExplosionInit: + playsnd 9 # Misc\ExploSm.wav + playfram 0x00 + wait 1 + playfram 9 + wait 1 + playfram 18 + wait 1 + playfram 27 + wait 1 + playfram 36 + wait 1 + playfram 45 + wait 1 + playfram 54 + wait 1 + playfram 63 + wait 1 + playfram 72 + wait 1 + playfram 81 + wait 1 + playfram 90 + wait 1 + playfram 99 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 430 Vespene Geyser Smoke1 (thingy\GeySmok1.grp) +# 431 Vespene Geyser Smoke2 (thingy\GeySmok2.grp) +# 432 Vespene Geyser Smoke3 (thingy\GeySmok3.grp) +# 433 Vespene Geyser Smoke4 (thingy\GeySmok4.grp) +# 434 Vespene Geyser Smoke5 (thingy\GeySmok5.grp) +.headerstart +IsId 281 +Type 1 +Init VespeneGeyserSmokesInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +VespeneGeyserSmokesInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 435 Vespene Geyser Smoke1 Overlay (thingy\GeySmoS1.grp) +# 436 Vespene Geyser Smoke2 Overlay (thingy\GeySmoS1.grp) +# 437 Vespene Geyser Smoke3 Overlay (thingy\GeySmoS1.grp) +# 438 Vespene Geyser Smoke4 Overlay (thingy\GeySmoS1.grp) +# 439 Vespene Geyser Smoke5 Overlay (thingy\GeySmoS1.grp) +.headerstart +IsId 282 +Type 1 +Init Unknown282Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Unknown282Init: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 445 Cursor Marker (thingy\blackx.grp) +.headerstart +IsId 288 +Type 2 +Init SkryrokorLocal00 +Death [NONE] +GndAttkInit CursorMarkerGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CursorMarkerGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + __2d + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 560 Circle Marker1 (thingy\blackx.grp) +# 561 Selection Circle (22pixels) (thingy\o022.grp) +# 562 Selection Circle (32pixels) (thingy\o032.grp) +# 563 Selection Circle (48pixels) (thingy\o048.grp) +# 564 Selection Circle (62pixels) (thingy\o062.grp) +# 565 Selection Circle (72pixels) (thingy\o072.grp) +# 566 Selection Circle (94pixels) (thingy\o094.grp) +# 567 Selection Circle (110pixels) (thingy\o110.grp) +# 568 Selection Circle (122pixels) (thingy\o122.grp) +# 569 Selection Circle (146pixels) (thingy\o146.grp) +# 570 Selection Circle (224pixels) (thingy\o224.grp) +# 571 Selection Circle Dashed (22pixels) (thingy\od022.grp) +# 572 Selection Circle Dashed (32pixels) (thingy\od032.grp) +# 573 Selection Circle Dashed (48pixels) (thingy\od048.grp) +# 574 Selection Circle Dashed (62pixels) (thingy\od062.grp) +# 575 Selection Circle Dashed (72pixels) (thingy\od072.grp) +# 576 Selection Circle Dashed (94pixels) (thingy\od094.grp) +# 577 Selection Circle Dashed (110pixels) (thingy\od110.grp) +# 578 Selection Circle Dashed (122pixels) (thingy\od122.grp) +# 579 Selection Circle Dashed (146pixels) (thingy\od146.grp) +# 580 Selection Circle Dashed (224pixels) (thingy\od224.grp) +.headerstart +IsId 289 +Type 1 +Init SkryrokorLocal00 +Death SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 503 White Circle (bullet\circle14.grp) +.headerstart +IsId 292 +Type 2 +Init WhiteCircleInit +Death WhiteCircleDeath +GndAttkInit WhiteCircleDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WhiteCircleInit: + wait 1 + sigorder 1 + wait 1 +WhiteCircleDeath: + playfram 0x00 + wait 5 + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 450 Flames1 Type1 (Small) (thingy\oFireC.grp) +# 451 Flames1 Type2 (Small) (thingy\oFireF.grp) +# 452 Flames1 Type3 (Small) (thingy\oFireV.grp) +# 453 Flames2 Type3 (Small) (thingy\oFireV.grp) +# 454 Flames3 Type3 (Small) (thingy\oFireV.grp) +# 455 Flames4 Type3 (Small) (thingy\oFireV.grp) +# 456 Flames5 Type3 (Small) (thingy\oFireV.grp) +# 457 Flames6 Type3 (Small) (thingy\oFireV.grp) +# 466 Flames2 Type1 (Small) (thingy\oFireC.grp) +# 467 Flames2 Type2 (Small) (thingy\oFireF.grp) +# 468 Flames7 Type3 (Small) (thingy\oFireV.grp) +# 469 Flames3 Type1 (Small) (thingy\oFireC.grp) +# 470 Flames3 Type2 (Small) (thingy\oFireF.grp) +# 471 Flames8 Type3 (Small) (thingy\oFireV.grp) +.headerstart +IsId 322 +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 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 323 +Type 1 +Init Unknown323Init +Death Flames_Small_Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown323Init: + setflipstate 1 + 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 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 458 Bleeding Variant1 Type1 (Small) (thingy\bblood01.grp) +# 459 Bleeding Variant1 Type2 (Small) (thingy\bblood02.grp) +# 460 Bleeding Variant1 Type3 (Small) (thingy\bblood03.grp) +# 461 Bleeding Variant1 Type4 (Small) (thingy\bblood04.grp) +.headerstart +IsId 324 +Type 1 +Init Bleeding_Small_Variant1Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Bleeding_Small_Variant1Init: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto Bleeding_Small_Variant1Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 462 Bleeding Variant2 Type1 (Small) (thingy\bblood01.grp) +# 463 Bleeding Variant2 Type2 (Small) (thingy\bblood02.grp) +# 464 Bleeding Variant2 Type3 (Small) (thingy\bblood03.grp) +# 465 Bleeding Variant2 Type4 (Small) (thingy\bblood04.grp) +.headerstart +IsId 325 +Type 1 +Init Bleeding_Small_Variant2Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Bleeding_Small_Variant2Init: + setflipstate 1 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto Bleeding_Small_Variant1Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 472 Flames1 Type1 (Large) (thingy\oFireC.grp) +# 473 Flames1 Type2 (Large) (thingy\oFireF.grp) +# 474 Flames1 Type3 (Large) (thingy\oFireV.grp) +# 475 Flames2 Type3 (Large) (thingy\oFireV.grp) +# 476 Flames3 Type3 (Large) (thingy\oFireV.grp) +# 477 Flames4 Type3 (Large) (thingy\oFireV.grp) +# 478 Flames5 Type3 (Large) (thingy\oFireV.grp) +# 479 Flames6 Type3 (Large) (thingy\oFireV.grp) +# 488 Flames2 Type1 (Large) (thingy\oFireC.grp) +# 489 Flames2 Type2 (Large) (thingy\oFireF.grp) +# 490 Flames7 Type3 (Large) (thingy\oFireV.grp) +# 491 Flames3 Type1 (Large) (thingy\oFireC.grp) +# 492 Flames3 Type2 (Large) (thingy\oFireF.grp) +# 493 Flames8 Type3 (Large) (thingy\oFireV.grp) +.headerstart +IsId 326 +Type 1 +Init Flames_Large_Init +Death Flames_Large_Death +.headerend +# ----------------------------------------------------------------------------- # + +Flames_Large_Init: + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + goto Flames_Large_Init + +Flames_Large_Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 327 +Type 1 +Init Unknown327Init +Death Flames_Large_Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown327Init: + setflipstate 1 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + goto Flames_Large_Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 480 Bleeding Variant1 Type1 (Large) (thingy\bblood01.grp) +# 481 Bleeding Variant1 Type2 (Large) (thingy\bblood02.grp) +# 482 Bleeding Variant1 Type3 (Large) (thingy\bblood03.grp) +# 483 Bleeding Variant1 Type4 (Large) (thingy\bblood04.grp) +.headerstart +IsId 328 +Type 1 +Init Bleeding_Large_Variant1Init +Death Bleeding_Large_Variant1Death +.headerend +# ----------------------------------------------------------------------------- # + +Bleeding_Large_Variant1Init: + 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 Bleeding_Large_Variant1Init + +Bleeding_Large_Variant1Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 484 Bleeding Variant2 Type1 (Large) (thingy\bblood01.grp) +# 485 Bleeding Variant2 Type3 (Large) (thingy\bblood02.grp) +# 486 Bleeding Variant3 Type3 (Large) (thingy\bblood03.grp) +# 487 Bleeding Variant2 Type4 (Large) (thingy\bblood04.grp) +.headerstart +IsId 329 +Type 1 +Init Bleeding_Large_Variant2Init +Death Bleeding_Large_Variant1Death +.headerend +# ----------------------------------------------------------------------------- # + +Bleeding_Large_Variant2Init: + setflipstate 1 + 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 Bleeding_Large_Variant1Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 581 Circle Marker2 (thingy\blackx.grp) +# 583 Circle Marker3 (thingy\blackx.grp) +# 585 Psi Field1 (Right Lower) (thingy\Juice02.grp) +.headerstart +IsId 332 +Type 1 +Init ConfirmCircleInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ConfirmCircleInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 588 Start Location (thingy\StartLoc.grp) +.headerstart +IsId 335 +Type 0 +Init StartLocationInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StartLocationInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 599 2/43 Ash (thingy\tileset\AshWorld\LALRoc01.grp) +# 600 2/44 Ash (thingy\tileset\AshWorld\LALRoc02.grp) +# 601 2/1 Ash (thingy\tileset\AshWorld\HASRoc01.grp) +# 602 2/4 Ash (thingy\tileset\AshWorld\HASRoc02.grp) +# 603 2/5 Ash (thingy\tileset\AshWorld\HASRoc03.grp) +# 604 2/30 Ash (thingy\tileset\AshWorld\HASRoc04.grp) +# 605 2/28 Ash (thingy\tileset\AshWorld\HASRoc05.grp) +# 606 2/29 Ash (thingy\tileset\AshWorld\HASRoc06.grp) +# 607 4/1 Ash (thingy\tileset\AshWorld\RORock01.grp) +# 608 4/2 Ash (thingy\tileset\AshWorld\RORock02.grp) +# 609 4/3 Ash (thingy\tileset\AshWorld\RORock03.grp) +# 640 4/12 Jungle (thingy\tileset\Jungle\dd025.grp) +# 641 4/13 Jungle (thingy\tileset\Jungle\dd026.grp) +# 642 4/1 Jungle (thingy\tileset\Jungle\dd027.grp) +# 643 4/3 Jungle (thingy\tileset\Jungle\dd028.grp) +# 644 4/2 Jungle (thingy\tileset\Jungle\dd029.grp) +# 645 4/5 Jungle (thingy\tileset\Jungle\dd030.grp) +# 646 4/4 Jungle (thingy\tileset\Jungle\dd031.grp) +# 647 4/9 Jungle (thingy\tileset\Jungle\dd055.grp) +# 648 4/10 Jungle (thingy\tileset\Jungle\dd056.grp) +# 649 5/5 Jungle (thingy\tileset\Jungle\dd075.grp) +# 650 5/7 Jungle (thingy\tileset\Jungle\dd076.grp) +# 651 5/6 Jungle (thingy\tileset\Jungle\dd077.grp) +# 652 5/9 Jungle (thingy\tileset\Jungle\dd078.grp) +# 653 5/8 Jungle (thingy\tileset\Jungle\dd079.grp) +# 654 4/6 Jungle (thingy\tileset\Jungle\dd080.grp) +# 655 4/7 Jungle (thingy\tileset\Jungle\dd081.grp) +# 656 4/17 Jungle (thingy\tileset\Jungle\dd091.grp) +# 657 13/4 Jungle (thingy\tileset\Jungle\dd203.grp) +# 658 11/5 Jungle (thingy\tileset\Jungle\dd204.grp) +# 659 11/6 Jungle (thingy\tileset\Jungle\dd205.grp) +# 660 11/7 Jungle (thingy\tileset\Jungle\dd206.grp) +# 661 11/8 Jungle (thingy\tileset\Jungle\dd207.grp) +# 662 11/10 Jungle (thingy\tileset\Jungle\dd209.grp) +# 663 11/11 Jungle (thingy\tileset\Jungle\dd210.grp) +# 664 11/12 Jungle (thingy\tileset\Jungle\dd211.grp) +# 677 7/9 Platform (thingy\tileset\Platform\Towr01.grp) +# 678 7/10 Platform (thingy\tileset\Platform\Towr02.grp) +# 681 7/26 Platform (thingy\tileset\Platform\LBSign01.grp) +# 682 7/24 Platform (thingy\tileset\Platform\LBSign02.grp) +# 683 7/28 Platform (thingy\tileset\Platform\LBSign03.grp) +# 684 7/27 Platform (thingy\tileset\Platform\LBSign04.grp) +# 685 7/25 Platform (thingy\tileset\Platform\LBSign05.grp) +# 686 7/29 Platform (thingy\tileset\Platform\LBSign06.grp) +# 687 7/30 Platform (thingy\tileset\Platform\LBSign07.grp) +# 688 7/31 Platform (thingy\tileset\Platform\LBSign08.grp) +# 689 12/1 Platform (thingy\tileset\Platform\SPThin01.grp) +# 690 9/27 Platform (thingy\tileset\Platform\refinery.grp) +# 699 6/16 Badlands (thingy\tileset\Badlands\HDRock05.grp) +# 700 6/17 Badlands (thingy\tileset\Badlands\HDRock06.grp) +# 701 6/20 Badlands (thingy\tileset\Badlands\HDRock07.grp) +# 702 6/21 Badlands (thingy\tileset\Badlands\HDRock08.grp) +# 703 5/10 Badlands (thingy\tileset\Badlands\HDVent01.grp) +# 712 6/3 Badlands (thingy\tileset\Badlands\HGTree01.grp) +# 713 11/3 Badlands (thingy\tileset\Badlands\LCShop01.grp) +# 714 11/8 Badlands (thingy\tileset\Badlands\LCShop02.grp) +# 715 11/6 Badlands (thingy\tileset\Badlands\LCShop03.grp) +# 716 11/7 Badlands (thingy\tileset\Badlands\LCShop04.grp) +# 717 11/9 Badlands (thingy\tileset\Badlands\LCShop05.grp) +# 718 11/10 Badlands (thingy\tileset\Badlands\LCShop06.grp) +# 719 11/11 Badlands (thingy\tileset\Badlands\LCShop07.grp) +# 720 11/12 Badlands (thingy\tileset\Badlands\LCShop08.grp) +# 721 11/13 Badlands (thingy\tileset\Badlands\LCShop09.grp) +# 722 11/14 Badlands (thingy\tileset\Badlands\LCShopAA.grp) +# 723 1/13 Badlands (thingy\tileset\Badlands\LCSign01.grp) +# 724 1/9 Badlands (thingy\tileset\Badlands\LCSign02.grp) +# 725 1/11 Badlands (thingy\tileset\Badlands\LCSign03.grp) +# 726 1/14 Badlands (thingy\tileset\Badlands\LCSign04.grp) +# 727 1/10 Badlands (thingy\tileset\Badlands\LCSign05.grp) +# 728 1/12 Badlands (thingy\tileset\Badlands\LCSign06.grp) +# 729 1/15 Badlands (thingy\tileset\Badlands\LCSign07.grp) +# 730 1/7 Badlands (thingy\tileset\Badlands\LCSign08.grp) +# 731 1/5 Badlands (thingy\tileset\Badlands\LCSign09.grp) +# 732 1/16 Badlands (thingy\tileset\Badlands\LCSignAA.grp) +# 733 1/8 Badlands (thingy\tileset\Badlands\LCSignBB.grp) +# 734 1/6 Badlands (thingy\tileset\Badlands\LCSignCC.grp) +# 746 3/9 Installation (thingy\tileset\install\DICran1.grp) +# 747 3/10 Installation (thingy\tileset\install\DICran2.grp) +# 748 3/11 Installation (thingy\tileset\install\DICran3.grp) +# 749 3/12 Installation (thingy\tileset\install\DICran4.grp) +# 755 7/21 Twilight (thingy\tileset\twilight\Ldarch.grp) +# 759 7/16 Twilight (thingy\tileset\twilight\Ldxel03.grp) +# 760 7/15 Twilight (thingy\tileset\twilight\Ldxel04.grp) +# 761 7/19 Twilight (thingy\tileset\twilight\Ldxel05.grp) +# 762 7/20 Twilight (thingy\tileset\twilight\Ldxel06.grp) +# 764 6/1 Twilight (thingy\tileset\twilight\JTree01.grp) +# 765 6/2 Twilight (thingy\tileset\twilight\JTree02.grp) +# 766 6/3 Twilight (thingy\tileset\twilight\JTree03.grp) +# 767 6/4 Twilight (thingy\tileset\twilight\JTree04.grp) +# 768 6/5 Twilight (thingy\tileset\twilight\JTree05.grp) +# 769 8/3 Twilight1 (thingy\tileset\twilight\rstatue.grp) +# 787 Unknown787 (thingy\tileset\ice\HDSTre01.grp) +# 788 Unknown788 (thingy\tileset\ice\HDSTre02.grp) +# 789 12/9 Ice1 (thingy\tileset\ice\HDSTre03.grp) +# 790 12/10 Ice1 (thingy\tileset\ice\HDSTre04.grp) +# 831 12/20 Ice (thingy\tileset\ice\LDsmrock.grp) +# 841 4/1 Ice (thingy\tileset\ice\JGant1.grp) +# 880 10/6 Desert (thingy\tileset\desert\JGPLNT01.grp) +# 897 4/17 Desert (thingy\tileset\desert\HDMachn2.grp) +.headerstart +IsId 336 +Type 0 +Init DoodadHeaderInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DoodadHeaderInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 589 2/38 Ash (thingy\tileset\AshWorld\rock01.grp) +# 591 2/39 Ash (thingy\tileset\AshWorld\rock02.grp) +# 593 2/41 Ash (thingy\tileset\AshWorld\rock03.grp) +# 595 2/40 Ash (thingy\tileset\AshWorld\rock04.grp) +# 597 2/42 Ash (thingy\tileset\AshWorld\rock05.grp) +# 610 4/56 Jungle (thingy\tileset\Jungle\HDRock01.grp) +# 612 4/57 Jungle (thingy\tileset\Jungle\HDRock02.grp) +# 614 4/58 Jungle (thingy\tileset\Jungle\HDRock03.grp) +# 616 4/59 Jungle (thingy\tileset\Jungle\HDRock04.grp) +# 618 9/5 Jungle (thingy\tileset\Jungle\JUbush01.grp) +# 620 9/6 Jungle (thingy\tileset\Jungle\JUbush03.grp) +# 622 9/7 Jungle (thingy\tileset\Jungle\JUbush05.grp) +# 624 4/51 Jungle (thingy\tileset\Jungle\LDtree01.grp) +# 626 4/52 Jungle (thingy\tileset\Jungle\LDtree02.grp) +# 628 4/54 Jungle (thingy\tileset\Jungle\LDtree03.grp) +# 630 4/53 Jungle (thingy\tileset\Jungle\LDtree04.grp) +# 632 9/1 Jungle (thingy\tileset\Jungle\tree01.grp) +# 634 9/2 Jungle (thingy\tileset\Jungle\tree02.grp) +# 636 9/3 Jungle (thingy\tileset\Jungle\tree03.grp) +# 638 9/4 Jungle (thingy\tileset\Jungle\tree04.grp) +# 665 7/4 Platform (thingy\tileset\Platform\Dish01.grp) +# 667 7/5 Platform (thingy\tileset\Platform\Dish02.grp) +# 669 7/6 Platform (thingy\tileset\Platform\Dish03.grp) +# 671 7/1 Platform (thingy\tileset\Platform\Glob01.grp) +# 673 7/2 Platform (thingy\tileset\Platform\Glob02.grp) +# 675 7/3 Platform (thingy\tileset\Platform\Glob03.grp) +# 691 5/54 Badlands (thingy\tileset\Badlands\HDRock01.grp) +# 693 5/55 Badlands (thingy\tileset\Badlands\HDRock02.grp) +# 695 5/56 Badlands (thingy\tileset\Badlands\HDRock03.grp) +# 697 5/57 Badlands (thingy\tileset\Badlands\HDRock04.grp) +# 704 5/50 Badlands (thingy\tileset\Badlands\HDTree01.grp) +# 706 5/52 Badlands (thingy\tileset\Badlands\HDTree02.grp) +# 708 5/53 Badlands (thingy\tileset\Badlands\HDTree03.grp) +# 710 5/51 Badlands (thingy\tileset\Badlands\HDTree04.grp) +# 771 9/29 Ice (thingy\tileset\ice\HDbld01.grp) +# 773 9/28 Ice (thingy\tileset\ice\HDbld02.grp) +# 775 12/38 Ice (thingy\tileset\ice\HDbld03.grp) +# 777 12/37 Ice (thingy\tileset\ice\HDbld04.grp) +# 779 12/33 Ice1 (thingy\tileset\ice\HDradarl.grp) +# 781 9/21 Ice (thingy\tileset\ice\HDradarR.grp) +# 783 9/15 Ice (thingy\tileset\ice\HDRock01.grp) +# 785 9/16 Ice (thingy\tileset\ice\HDRock02.grp) +# 791 9/24 Ice (thingy\tileset\ice\HDSpire.grp) +# 793 9/23 Ice (thingy\tileset\ice\HDTwr01.grp) +# 795 Unknown795 (thingy\tileset\ice\HDTwr02.grp) +# 797 12/7 Ice (thingy\tileset\ice\LDBTre01.grp) +# 799 12/8 Ice (thingy\tileset\ice\LDBTre02.grp) +# 801 12/9 Ice2 (thingy\tileset\ice\LDBTre03.grp) +# 803 12/10 Ice2 (thingy\tileset\ice\LDBTre04.grp) +# 805 12/40 Ice (thingy\tileset\ice\LDbld01.grp) +# 807 12/41 Ice (thingy\tileset\ice\LDbld02.grp) +# 809 12/42 Ice (thingy\tileset\ice\LDComm.grp) +# 811 12/5 Ice (thingy\tileset\ice\LDDtre01.grp) +# 813 12/6 Ice (thingy\tileset\ice\LDDtre02.grp) +# 815 12/36 Ice (thingy\tileset\ice\LDDish.grp) +# 817 12/32 Ice (thingy\tileset\ice\LDRdr01.grp) +# 819 12/33 Ice2 (thingy\tileset\ice\LDRdr02.grp) +# 821 12/34 Ice (thingy\tileset\ice\LDRdr03.grp) +# 823 12/24 Ice1 (thingy\tileset\ice\LDRck01.grp) +# 825 12/25 Ice1 (thingy\tileset\ice\LDRck02.grp) +# 827 12/30 Ice1 (thingy\tileset\ice\HDPipes.grp) +# 829 12/31 Ice (thingy\tileset\ice\LDthing.grp) +# 834 9/22 Ice (thingy\tileset\ice\HDRadr02.grp) +# 843 5/6 Ice (thingy\tileset\ice\RJBTree1.grp) +# 845 5/7 Ice (thingy\tileset\ice\RJBTree2.grp) +# 847 5/8 Ice (thingy\tileset\ice\RJBTree3.grp) +# 849 5/9 Ice (thingy\tileset\ice\RJBTree4.grp) +# 852 10/12 Desert1 (thingy\tileset\desert\HDBBROKE.grp) +# 854 10/8 Desert1 (thingy\tileset\desert\HDBGAS.grp) +# 856 10/9 Desert1 (thingy\tileset\desert\HDBMED.grp) +# 858 6/10 Desert (thingy\tileset\desert\HDBMOSS.grp) +# 860 6/13 Desert1 (thingy\tileset\desert\HDBTENT.grp) +# 862 Unknown Desert (thingy\tileset\desert\HDPLNT03.grp) +# 864 10/12 Desert2 (thingy\tileset\desert\JGBROKE.grp) +# 866 10/9 Desert2 (thingy\tileset\desert\JGBGAS.grp) +# 868 10/10 Desert2 (thingy\tileset\desert\JGBGEN.grp) +# 870 10/11 Desert (thingy\tileset\desert\JGBSGN.grp) +# 872 10/14 Desert (thingy\tileset\desert\JGBTENT.grp) +# 874 10/41 Desert (thingy\tileset\desert\JGBCOMM.grp) +# 876 10/39 Desert (thingy\tileset\desert\JGBFACT.grp) +# 878 10/8 Desert2 (thingy\tileset\desert\JGBRED.grp) +# 881 10/7 Desert (thingy\tileset\desert\JGPLNT02.grp) +# 883 4/6 Desert (thingy\tileset\desert\LDBAZ.grp) +# 885 4/11 Desert (thingy\tileset\desert\LDBGAS.grp) +# 887 4/10 Desert (thingy\tileset\desert\LDBGREN.grp) +# 890 4/7 Desert (thingy\tileset\desert\LDBSUKY.grp) +# 892 4/12 Desert (thingy\tileset\desert\LDBTENT.grp) +# 895 4/13 Desert (thingy\tileset\desert\HDLbox01.grp) +# 898 4/15 Desert1 (thingy\tileset\desert\LDLbox01.grp) +# 900 10/23 Desert (thingy\tileset\desert\LDMachn1.grp) +# 902 10/5 Desert (thingy\tileset\desert\LDPlnt04.grp) +.headerstart +IsId 337 +Type 0 +Init DoodadHeader_secondary_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DoodadHeader_secondary_Init: + playfram 0x00 + imgulnextid 0 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 679 7/8 Platform (thingy\tileset\Platform\tree01.grp) +.headerstart +IsId 338 +Type 0 +Init SpacePlatformDoodadInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpacePlatformDoodadInit: + playfram 0x00 +SpacePlatformDoodadLocal00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + goto SpacePlatformDoodadLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 680 7/7 Platform (thingy\tileset\Platform\tree02.grp) +.headerstart +IsId 339 +Type 0 +Init SpacePlatformDoodad2Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpacePlatformDoodad2Init: + playfram 0x00 +SpacePlatformDoodad2Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + goto SpacePlatformDoodad2Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 742 Left Upper Level Door (thingy\tileset\install\CRDoor1.grp) +# 750 Substructure Left Door (thingy\tileset\install\DIDoor1.grp) +# 754 Substructure Opening Hole (thingy\tileset\install\DIHatc1.grp) +.headerstart +IsId 340 +Type 27 +Init InstallationDoodadInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt InstallationDoodadAlmostBuilt +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit InstallationDoodadStarEditInit +Disable InstallationDoodadDisable +Burrow [NONE] +UnBurrow [NONE] +Enable InstallationDoodadStarEditInit +.headerend +# ----------------------------------------------------------------------------- # + +InstallationDoodadInit: + playfram 0x00 + goto SkryrokorLocal00 + +InstallationDoodadAlmostBuilt: + playfram 9 + goto SkryrokorLocal00 + +InstallationDoodadStarEditInit: + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + sigorder 1 + goto SkryrokorLocal00 + +InstallationDoodadDisable: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 4 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 743 Right Upper Level Door (thingy\tileset\install\CRDoor1.grp) +# 751 Substructure Right Door (thingy\tileset\install\DIDoor1.grp) +.headerstart +IsId 341 +Type 27 +Init InstallationDoodad2Init +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt InstallationDoodad2AlmostBuilt +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable InstallationDoodad2Disable +Burrow [NONE] +UnBurrow [NONE] +Enable InstallationDoodad2Enable +.headerend +# ----------------------------------------------------------------------------- # + +InstallationDoodad2Init: + playfram 0x00 + setflipstate 1 + goto SkryrokorLocal00 + +InstallationDoodad2AlmostBuilt: + playfram 9 + setflipstate 1 + goto SkryrokorLocal00 + +InstallationDoodad2Enable: + playfram 9 + setflipstate 1 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + sigorder 1 + goto SkryrokorLocal00 + +InstallationDoodad2Disable: + 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 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 744 4/15 Installation1 (thingy\tileset\install\DCFan1.grp) +.headerstart +IsId 342 +Type 0 +Init InstallationRightWallFansInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InstallationRightWallFansInit: + 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 + goto InstallationRightWallFansInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 745 4/15 Installation2 (thingy\tileset\install\DCFan1.grp) +.headerstart +IsId 343 +Type 0 +Init InstallationLeftWallFansInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InstallationLeftWallFansInit: + playfram 0x00 + setflipstate 1 + wait 2 +InstallationLeftWallFansLocal00: + 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 0x00 + wait 2 + goto InstallationLeftWallFansLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 752 3/1 Installation (thingy\tileset\install\DIGear1.grp) +# 753 3/2 Installation (thingy\tileset\install\DIGear2.grp) +.headerstart +IsId 344 +Type 0 +Init InstallationGearInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InstallationGearInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto InstallationGearInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 736 Floor Missile Trap (thingy\tileset\install\CLPlate1.grp) +.headerstart +IsId 345 +Type 27 +Init FloorMissileTrapInit +Death FloorMissileTrapDeath +GndAttkInit FloorMissileTrapGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt FloorMissileTrapGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 FloorMissileTrapSpecialState1 +SpecialState2 FloorMissileTrapSpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable FloorMissileTrapSpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +FloorMissileTrapInit: + playfram 1 + goto SkryrokorLocal00 + +FloorMissileTrapDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +FloorMissileTrapGndAttkInit: + wait 1 + attackwith 1 + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +FloorMissileTrapSpecialState1: + 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 + imgol 737 0 0 # Floor Missile Trap Turret (thingy\tileset\install\CLPlat1T.grp) + sigorder 1 + goto SkryrokorLocal00 + +FloorMissileTrapSpecialState2: + setspawnframe 20 + wait 1 +FloorMissileTrapLocal00: + curdirectcondjmp 160 10 FloorMissileTrapLocal01 + wait 2 + goto FloorMissileTrapLocal00 + +FloorMissileTrapLocal01: + wait 1 + playfram 10 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 737 Floor Missile Trap Turret (thingy\tileset\install\CLPlat1T.grp) +.headerstart +IsId 346 +Type 24 +Init FloorMissileTrapTurretInit +Death Generic_Wait1End +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt SkryrokorLocal00 +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 FloorMissileTrapTurretSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable FloorMissileTrapTurretSpecialState2 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FloorMissileTrapTurretInit: + playfram 0x00 + wait 1 + setfldirect 20 + goto SkryrokorLocal00 + +FloorMissileTrapTurretSpecialState2: + wait 1 +FloorMissileTrapTurretLocal00: + curdirectcondjmp 160 10 Generic_Wait1End + wait 2 + goto FloorMissileTrapTurretLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 735 Floor Gun Trap (thingy\tileset\install\CLPlate2.grp) +.headerstart +IsId 347 +Type 27 +Init FloorGunTrapInit +Death FloorGunTrapDeath +GndAttkInit FloorGunTrapGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt FloorGunTrapGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle FloorGunTrapGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 FloorGunTrapSpecialState1 +SpecialState2 FloorGunTrapSpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable FloorGunTrapSpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +FloorGunTrapInit: + playfram 1 + goto SkryrokorLocal00 + +FloorGunTrapDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +FloorGunTrapGndAttkInit: + wait 1 + nobrkcodestart + playsnd 70 # Bullet\TGoFir00.wav + attackwith 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +FloorGunTrapGndAttkToIdle: + playfram 10 + goto SkryrokorLocal00 + +FloorGunTrapSpecialState1: + 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 + sigorder 1 + playfram 10 + goto SkryrokorLocal00 + +FloorGunTrapSpecialState2: + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 738 Wall Missile Trap (thingy\tileset\install\DCGun1.grp) +.headerstart +IsId 348 +Type 27 +Init WallMissileTrapType1Init +Death WallMissileTrapType1Death +GndAttkInit WallMissileTrapType1GndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt WallMissileTrapType1GndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WallMissileTrapType1SpecialState1 +SpecialState2 WallMissileTrapType1SpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable WallMissileTrapType1SpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +WallMissileTrapType1Init: + playfram 1 + wait 1 + setfldirect 12 + goto SkryrokorLocal00 + +WallMissileTrapType1Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +WallMissileTrapType1GndAttkInit: + wait 1 + attackwith 1 + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +WallMissileTrapType1SpecialState1: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + sigorder 1 + goto SkryrokorLocal00 + +WallMissileTrapType1SpecialState2: + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 739 Wall Missile Trap2 (thingy\tileset\install\DCGun1.grp) +.headerstart +IsId 349 +Type 27 +Init WallMissileTrapTypet2Init +Death WallMissileTrapTypet2Death +GndAttkInit WallMissileTrapTypet2GndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt WallMissileTrapTypet2GndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WallMissileTrapTypet2SpecialState1 +SpecialState2 WallMissileTrapTypet2SpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable WallMissileTrapTypet2SpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +WallMissileTrapTypet2Init: + playfram 1 + setflipstate 1 + wait 1 + setfldirect 20 + goto SkryrokorLocal00 + +WallMissileTrapTypet2Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +WallMissileTrapTypet2GndAttkInit: + wait 1 + attackwith 1 + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +WallMissileTrapTypet2SpecialState1: + playfram 1 + setflipstate 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + sigorder 1 + goto SkryrokorLocal00 + +WallMissileTrapTypet2SpecialState2: + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 740 Wall Flame Trap (thingy\tileset\install\DCGun2.grp) +.headerstart +IsId 350 +Type 27 +Init WallFlameTrapType1Init +Death WallFlameTrapType1Death +GndAttkInit WallFlameTrapType1GndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt WallFlameTrapType1GndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WallFlameTrapType1SpecialState1 +SpecialState2 WallFlameTrapType1SpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable WallFlameTrapType1SpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +WallFlameTrapType1Init: + playfram 1 + wait 1 + setfldirect 12 + goto SkryrokorLocal00 + +WallFlameTrapType1Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +WallFlameTrapType1GndAttkInit: + wait 1 + nobrkcodestart + imgoluselo 421 0 0 # FlameThrower (thingy\flamer.grp) + setfldirect 12 + attkshiftproj 24 + wait 2 + attkshiftproj 52 + wait 1 + attkshiftproj 80 + wait 10 + ignorerest + goto SkryrokorLocal00 + +WallFlameTrapType1SpecialState1: + 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 + sigorder 1 + goto SkryrokorLocal00 + +WallFlameTrapType1SpecialState2: + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 741 Wall Flame Trap2 (thingy\tileset\install\DCGun2.grp) +.headerstart +IsId 351 +Type 27 +Init WallFlameTrapType2Init +Death WallFlameTrapType2Death +GndAttkInit WallFlameTrapType2GndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt WallFlameTrapType2GndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WallFlameTrapType2SpecialState1 +SpecialState2 WallFlameTrapType2SpecialState2 +AlmostBuilt SkryrokorLocal00 +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable WallFlameTrapType2SpecialState2 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +WallFlameTrapType2Init: + playfram 1 + setflipstate 1 + wait 1 + setfldirect 20 + goto SkryrokorLocal00 + +WallFlameTrapType2Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 1 + end + +WallFlameTrapType2GndAttkInit: + wait 1 + nobrkcodestart + imgoluselo 421 0 0 # FlameThrower (thingy\flamer.grp) + setfldirect 20 + attkshiftproj 24 + wait 2 + attkshiftproj 52 + wait 1 + attkshiftproj 80 + wait 10 + ignorerest + goto SkryrokorLocal00 + +WallFlameTrapType2SpecialState1: + playfram 1 + setflipstate 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 + sigorder 1 + goto SkryrokorLocal00 + +WallFlameTrapType2SpecialState2: + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 582 Map Revealer (neutral\maprev.grp) +.headerstart +IsId 352 +Type 1 +Init MapRevealerInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MapRevealerInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 363 +Type 0 +Init Unknown363Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown363Init: + playframtile 0x00 + imgulnextid 0 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 832 12/30 Ice2 (thingy\tileset\ice\HDPipes.grp) +# 836 12/24 Ice2 (thingy\tileset\ice\LDRck01.grp) +# 838 12/25 Ice2 (thingy\tileset\ice\LDRck02.grp) +# 904 6/13 Desert2 (thingy\tileset\desert\HDLbox01.grp) +# 907 4/15 Desert2 (thingy\tileset\desert\LDLbox01.grp) +# 909 8/23 Desert (thingy\tileset\desert\LDMachn1.grp) +.headerstart +IsId 387 +Type 0 +Init IceDoodadInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IceDoodadInit: + playfram 0x00 + setflipstate 1 + imgulnextid 0 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 833 12/30 Ice2 Shadow (thingy\tileset\ice\SHDPipes.grp) +# 837 12/24 Ice2 Shadow (thingy\tileset\ice\SLDRck01.grp) +# 839 12/25 Ice2 Shadow (thingy\tileset\ice\SLDRck02.grp) +# 905 6/13 Desert2 Shadow (thingy\tileset\desert\SHDLbox1.grp) +# 908 4/15 Desert2 Shadow (thingy\tileset\desert\SLDLbox1.grp) +# 910 8/23 Desert Shadow (thingy\tileset\desert\SLDMchn1.grp) +.headerstart +IsId 388 +Type 1 +Init DoodadShadowsHeader_BW_Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DoodadShadowsHeader_BW_Init: + wait 1 + followmaingraphic + goto DoodadShadowsHeader_BW_Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 851 10/10 Desert1 (thingy\tileset\desert\HDBANT.grp) +.headerstart +IsId 396 +Type 0 +Init DesertDoodad1Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DesertDoodad1Init: + playfram 0x00 +DesertDoodad1Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 5 + wait 1 + goto DesertDoodad1Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 889 4/9 Desert (thingy\tileset\desert\LDBNEON.grp) +.headerstart +IsId 397 +Type 0 +Init DesertDoodad2Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DesertDoodad2Init: + playfram 0x00 +DesertDoodad2Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + goto DesertDoodad2Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 894 4/8 Desert (thingy\tileset\desert\Ldneon.grp) +# 913 Unknown913 (protoss\scout.grp) +.headerstart +IsId 398 +Type 0 +Init DesertDoodad4Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DesertDoodad4Init: + playfram 0x00 +DesertDoodad4Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + goto DesertDoodad4Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 911 12/1 Desert Overlay (thingy\tileset\desert\Tgas.grp) +.headerstart +IsId 399 +Type 0 +Init DesertDoodadOverlayInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DesertDoodadOverlayInit: + playfram 0x00 +DesertDoodadOverlayLocal00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + waitrand 63 75 + goto DesertDoodadOverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 912 11/3 Desert (thingy\tileset\desert\sarlacc.grp) +.headerstart +IsId 400 +Type 0 +Init DesertDoodad3Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DesertDoodad3Init: + playfram 0x00 +DesertDoodad3Local00: + 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 + goto DesertDoodad3Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 756 Unknown Twilight (thingy\tileset\twilight\Lddrill.grp) +.headerstart +IsId 401 +Type 0 +Init TwilightDoodad4Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TwilightDoodad4Init: + playfram 0x00 +TwilightDoodad4Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + goto TwilightDoodad4Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 757 7/13 Twilight (thingy\tileset\twilight\Ldxel01.grp) +.headerstart +IsId 402 +Type 0 +Init TwilightDoodad13Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TwilightDoodad13Init: + playfram 0x00 +TwilightDoodad13Local00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + goto TwilightDoodad13Local00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 758 7/14 Twilight (thingy\tileset\twilight\Ldxel02.grp) +.headerstart +IsId 403 +Type 0 +Init TwilightDoodad5Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TwilightDoodad5Init: + playfram 0x00 +TwilightDoodadLocal700: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto TwilightDoodadLocal700 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 763 7/17 Twilight (thingy\tileset\twilight\Ldxeltur.grp) +.headerstart +IsId 404 +Type 0 +Init TwilightDoodadInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TwilightDoodadInit: + playfram 0x00 +TwilightDoodadLocal00: + playfram 0x00 + setflipstate 0 + 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 + setflipstate 1 + sethorpos -3 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + goto TwilightDoodadLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1316 Mineral Field Type1 (Christmas) (cm\celebrations\christmas\mineralfield01.grp) +.headerstart +IsId 556 +Type 20 +Init MineralFieldType1ChristmasInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType1ChristmasInit: + imgul 1317 0 0 # Mineral Field Type1 (Christmas) Shadow (cm\celebrations\christmas\mineralfield01-shad.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1318 Mineral Field Type2 (Christmas) (cm\celebrations\christmas\mineralfield02.grp) +.headerstart +IsId 557 +Type 20 +Init MineralFieldType2ChristmasInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType2ChristmasInit: + imgul 1319 0 0 # Mineral Field Type2 (Christmas) Shadow (cm\celebrations\christmas\mineralfield02-shad.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1320 Mineral Field Type3 (Christmas) (cm\celebrations\christmas\mineralfield03.grp) +.headerstart +IsId 558 +Type 20 +Init MineralFieldType3ChristmasInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MineralFieldType1SpecialState1 +SpecialState2 MineralFieldType1SpecialState2 +AlmostBuilt MineralFieldType1AlmostBuilt +Built InfestedTerranWalkingToIdle +Landing MineralFieldType1Landing +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MineralFieldType3ChristmasInit: + imgul 1321 0 0 # Mineral Field Type3 (Christmas) Shadow (cm\celebrations\christmas\mineralfield03-shad.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1272 Khaydarin Eclipse (large) (cm\effect\khaydarineclipse-large.grp) +# 1273 Khaydarin Eclipse (medium) (cm\effect\khaydarineclipse-medium.grp) +# 1274 Khaydarin Eclipse (small) (cm\effect\khaydarineclipse-small.grp) +# 1275 Protoss Accelerant (large) (cm\effect\cruciblepennant-large.grp) +# 1276 Protoss Accelerant (medium) (cm\effect\cruciblepennant-medium.grp) +# 1277 Protoss Accelerant (small) (cm\effect\cruciblepennant-small.grp) +.headerstart +IsId 538 +Type 1 +Init KhaydarinEclipseProtossAccelerantInit +Death KhaydarinEclipseProtossAccelerantDeath +.headerend +# ----------------------------------------------------------------------------- # + +KhaydarinEclipseProtossAccelerantInit: + playfram 0x00 + wait 1 +KhaydarinEclipseProtossAccelerantLocal00: + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 0x00 + wait 1 + goto KhaydarinEclipseProtossAccelerantLocal00 + +KhaydarinEclipseProtossAccelerantDeath: + wait 1 + end + +InfestedTerranWalkingToIdle: + playfram 0x00 +SkryrokorLocal00: + wait 125 + goto SkryrokorLocal00 + +Generic_Wait1End: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 769 8/3 Twilight1 (thingy\tileset\twilight\rstatue.grp) +.headerstart +IsId 566 +Type 0 +Init FullTilesetDoodadInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FullTilesetDoodadInit: + playframtile 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 750 +Type 0 +Init FullTilesetDoodadWithShadowInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FullTilesetDoodadWithShadowInit: + playframtile 0x00 + imgulnextid 0 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 770 8/3 Twilight2 (thingy\tileset\twilight\rstatue.grp) +.headerstart +IsId 567 +Type 1 +Init FullTilesetDoodadFlipInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +FullTilesetDoodadFlipInit: + playframtile 0x00 + setflipstate 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1441 Explosion (Small, Reversed) (thingy\tBangS.grp) +# 1442 Explosion Blue (Small, Reversed) (thingy\tBangS.grp) +.headerstart +IsId 620 +Type 1 +Init Explosion_SmallReversed_Init +Death Explosion_SmallReversed_Death +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_SmallReversed_Init: + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + goto Explosion_SmallReversed_Death +Explosion_SmallReversed_Death: + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1443 Explosion (Medium, Reversed) (thingy\tBangL.grp) +# 1444 Explosion Blue (Medium, Reversed) (thingy\tBangL.grp) +.headerstart +IsId 621 +Type 1 +Init Explosion_MediumReversed_Init +Death Explosion_MediumReversed_Death +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_MediumReversed_Init: + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + goto Explosion_MediumReversed_Death +Explosion_MediumReversed_Death: + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1478 Creep Morph Overlay (cm\zerg\creep-morph-overlay.grp) +# 1484 Resource Boost Overlay (Small) (cm\effect\resource-boost-overlay-small.grp) +# 1484 Resource Boost Overlay (Medium) (cm\effect\resource-boost-overlay-medium.grp) +# 1484 Resource Boost Overlay (Large) (cm\effect\resource-boost-overlay-large.grp) +.headerstart +IsId 640 +Type 1 +Init CreepMorphOverlayInit +Death CreepMorphOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +CreepMorphOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 + tmprmgraphicstart + wait 15 +CreepMorphOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1490 Gas Raw (cm\neutral\gas-raw.grp) +.headerstart +IsId 643 +Type 1 +Init GasRawInit +Death GasRawDeath +.headerend +# ----------------------------------------------------------------------------- # + +GasRawInit: + playfram 0 + pwrupcondjmp SkryrokorLocal00 + imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) + goto SkryrokorLocal00 + +GasRawDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1491 Gas Raw 2 (cm\neutral\gas-raw.grp) +.headerstart +IsId 644 +Type 1 +Init GasRaw2Init +Death GasRaw2Death +.headerend +# ----------------------------------------------------------------------------- # + +GasRaw2Init: + playfram 1 + pwrupcondjmp SkryrokorLocal00 + imgul 407 0 0 # Zerg Gas Sac Shadow (neutral\ngsShad.grp) + goto SkryrokorLocal00 + +GasRaw2Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1628 Energy Regen Overlay (Small) (cm\effect\energy-regen-small.grp) +# 1629 Energy Regen Overlay (Medium) (cm\effect\energy-regen-small.grp) +# 1630 Energy Regen Overlay (Large) (cm\effect\energy-regen-small.grp) +# 1631 Energy Regen Overlay (X-Large) (cm\effect\energy-regen-small.grp) +.headerstart +IsId 713 +Type 1 +Init EnergyRegenOverlayInit +Death EnergyRegenOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +EnergyRegenOverlayInit: + playfram 0x00 + wait 1 +EnergyRegenOverlayLocal00: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + tmprmgraphicstart + wait 10 + tmprmgraphicend + playfram 0x00 + wait 1 + goto EnergyRegenOverlayLocal00 + +EnergyRegenOverlayDeath: + playfram 17 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1669 Santa Hat - Small +# through +# 1676 Santa Hat - Extra Large - 17 +.headerstart +IsId 722 +Type 1 +Init SantaHatInit +Death SantaHatDeath +.headerend +# ----------------------------------------------------------------------------- # + +SantaHatInit: + playfram 0x00 + goto SantaHatLocal00 + +SantaHatLocal00: + wait 125 + goto SantaHatLocal00 + +SantaHatDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1323 Christmas Mineral Chunk Type2 +.headerstart +IsId 723 +Type 1 +Init ChristmasOreChunk2Init +Death ChristmasOreChunk2Death +.headerend +# ----------------------------------------------------------------------------- # + +ChristmasOreChunk2Init: + playfram 0x00 + pwrupcondjmp ChristmasOreChunk2Local00 + imgul 405 0 0 # Mineral Chunk Shadow (neutral\norShad.grp) + goto ChristmasOreChunk2Local00 + +ChristmasOreChunk2Local00: + wait 125 + goto ChristmasOreChunk2Local00 + +ChristmasOreChunk2Death: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1681 Smoochie Boy +.headerstart +IsId 724 +Type 12 +Init SmoochieInit +Death SmoochieDeath +GndAttkInit SmoochieGndAttkInit +AirAttkInit SmoochieGndAttkInit +Unused1 [NONE] +GndAttkRpt SmoochieGndAttkInit +AirAttkRpt SmoochieGndAttkInit +CastSpell SmoochieCastSpell +GndAttkToIdle SmoochieGndAttkToIdle +AirAttkToIdle SmoochieGndAttkToIdle +Unused2 [NONE] +Walking SmoochieWalking +WalkingToIdle SmoochieGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SmoochieInit: + imgul 1682 0 42 # Smoochie Boy Shadow + playfram 0x88 + wait 1 +SmoochieGndAttkToIdle: + playfram 0x88 + wait 2 + playfram 0x99 + 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 + playfram 0x110 + wait 2 + goto SmoochieGndAttkToIdle + +SmoochieDeath: + playsndbtwn 198 200 # Terran\CIVILIAN\TCvWht00.WAV | Terran\CIVILIAN\TCvWht02.WAV + imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 1 + end + +SmoochieGndAttkInit: + nobrkcodestart + setvertpos 0 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playsndbtwn 201 203 # Terran\CIVILIAN\TCvWht03.WAV | Terran\CIVILIAN\TCvYes01.WAV + attackwith 1 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + attackwith 1 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto SmoochieGndAttkToIdle + +SmoochieCastSpell: + setvertpos 0 + playsnd 920 # Zerg\Queen\ZQuTag00.WAV + nobrkcodestart + playfram 0x00 + wait 1 + playfram 0x11 + castspell + sigorder 2 + 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 + nobrkcodeend + gotorepeatattk + goto SmoochieGndAttkToIdle + +SmoochieWalking: + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + goto SmoochieWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1756 Omnivale (cm\gamemodes\omnipresence\omnivale.grp) +.headerstart +IsId 758 +Type 21 +Init OmnivaleInit +Death OmnivaleDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 OmnivaleSpecialState1 +SpecialState2 OmnivaleSpecialState2 +AlmostBuilt OmnivaleAlmostBuilt +Built OmnivaleBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking OmnivaleIsWorking +WorkingToIdle OmnivaleWorkingToIdle +WarpIn OmnivaleAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +OmnivaleInit: + imgul 1757 0 0 # Omnivale Shadow (cm\gamemodes\omnipresence\omnivale-shadow.grp) + playfram 0x00 + wait 2 + goto OmnivaleBuilt + +OmnivaleDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 4 + end + +OmnivaleBuilt: + wait 125 + goto OmnivaleBuilt + +OmnivaleSpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + wait 1 + goto OmnivaleLocal00 + +OmnivaleLocal00: + wait 255 + goto OmnivaleLocal00 + +OmnivaleSpecialState2: + wait 1 + goto OmnivaleWorkingToIdle + +OmnivaleWorkingToIdle: + playfram 0x00 + goto OmnivaleBuilt + +OmnivaleAlmostBuilt: + imgol 172 0 0 # Omnivale Warp Flash (cm\gamemodes\omnipresence\omnivale.grp) + goto OmnivaleBuilt + +OmnivaleIsWorking: + playfram 1 + wait 1 + 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 0x00 + wait 1 + goto OmnivaleIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1960 White Circle Instant (bullet\circle14.grp) +.headerstart +IsId 799 +Type 2 +Init WhiteCircleInstantInit +Death WhiteCircleInstantDeath +GndAttkInit WhiteCircleInstantDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WhiteCircleInstantInit: + wait 1 + sigorder 1 + wait 1 +WhiteCircleInstantDeath: + playfram 0x00 + wait 1 + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1002 Vespene Ridge (cm\neutral\vespene-ridge.grp) +.headerstart +IsId 669 +Type 20 +Init VespeneRidgeInit +Death VespeneRidgeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 VespeneRidgeSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built VespeneRidgeBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking VespeneRidgeSpecialState1 +WorkingToIdle VespeneRidgeSpecialState1 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VespeneRidgeInit: + playframtile 0x00 + imgul 1209 0 0 # Vespene Ridge Shadow +VespeneRidgeBuilt: + wait 14 +VespeneRidgeSpecialState1: + wait 1 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + goto VespeneRidgeSpecialState1 + +VespeneRidgeDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1972 Vespene Ridge Underlay (cm\neutral\vespene-ridge.grp) +.headerstart +IsId 803 +Type 20 +Init VespeneRidgeUnderlayInit +Death VespeneRidgeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SkryrokorLocal00 +SpecialState2 SkryrokorLocal00 +AlmostBuilt SkryrokorLocal00 +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VespeneRidgeUnderlayInit: + playframtile 0x00 + imgul 1209 0 0 # Vespene Ridge Shadow (cm\neutral\vespene-ridge-shadow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 115 Carrier Warp Flash (protoss\carrier.grp) +# 121 Envoy Warp Flash (protoss\shuttle.grp) +# 125 Dracadin Warp Flash (protoss\dragoon.grp) +# 128 Cantavis Warp Flash (protoss\templar.grp) +# 133 Didact Warp Flash (protoss\didact.grp) +# 139 Scribe Warp Flash (protoss\probe.grp) +# 143 Scout Warp Flash (protoss\scout.grp) +# 146 Accantor Warp Flash (protoss\trilob.grp) +# 150 Witness Warp Flash (protoss\witness.grp) +# 154 Zealot Warp Flash (protoss\zealot.grp) +# 156 Templar Archives Warp Flash (protoss\archives.grp) +# 159 Aquifer Warp Flash (protoss\assim.grp) +# 162 Observatory Warp Flash (protoss\beacon.grp) +# 165 Citadel of Adun Warp Flash (protoss\citadel.grp) +# 169 Forge Warp Flash (protoss\forge.grp) +# 172 Gateway Warp Flash (protoss\gateway.grp) +# 175 Cenotaph Warp Flash (protoss\gencore.grp) +# 180 Nexus Warp Flash (protoss\nexus.grp) +# 185 Warden Warp Flash (protoss\photon.grp) +# 187 Didact Tribunal Warp Flash (protoss\prism.grp) +# 190 Pylon Warp Flash (protoss\pylon.grp) +# 193 Robotics Facility Warp Flash (protoss\robotic.grp) +# 197 Shileld Battery Warp Flash (protoss\sbattery.grp) +# 201 Stargate Warp Flash (protoss\stargate.grp) +# 205 Robotics Support Bay Warp Flash (protoss\stasis.grp) +# 209 Fleet Beacon Warp Flash (protoss\warp.grp) +.headerstart +IsId 192 +Type 1 +Init WarpFlashHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +WarpFlashHeaderInit: + playfram 0x00 + wait 1 + followmaingraphic + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 210 Warp Texture (protoss\texture.grp) +.headerstart +IsId 193 +Type 1 +Init WarpTextureInit +Death WarpTextureDeath +.headerend +# ----------------------------------------------------------------------------- # + +WarpTextureInit: + warpoverlay 0x00 + wait 1 + warpoverlay 1 + wait 1 + warpoverlay 2 + wait 1 + warpoverlay 3 + wait 1 + warpoverlay 4 + wait 1 + warpoverlay 5 + wait 1 + warpoverlay 6 + wait 1 + warpoverlay 7 + wait 1 + warpoverlay 8 + wait 1 + warpoverlay 9 + wait 1 + warpoverlay 10 + wait 1 + warpoverlay 11 + wait 1 + warpoverlay 12 + wait 1 + warpoverlay 13 + wait 1 + warpoverlay 14 + wait 1 + warpoverlay 15 + wait 1 + warpoverlay 16 + wait 1 + warpoverlay 0x11 + wait 1 + warpoverlay 18 + wait 1 + warpoverlay 19 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +WarpTextureDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 213 Explosion1 (Small) (thingy\tBangS.grp) +# 332 Explosion2 (Small) (thingy\tBangS.grp) +.headerstart +IsId 142 +Type 0 +Init Explosion_Small_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 214 Explosion1 (Medium) (thingy\tBangL.grp) +# 333 Explosion2 (Medium) (thingy\tBangL.grp) +.headerstart +IsId 143 +Type 0 +Init Explosion_Medium_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Medium_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 215 Explosion (Large) (thingy\tBangX.grp) +# 334 Building Explosion (Large) (thingy\tBangX.grp) +.headerstart +IsId 144 +Type 0 +Init Explosion_Large_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Large_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 + playfram 12 + wait 2 + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 586 Psi Field2 (Right Upper) (thingy\Juice01.grp) +# 587 Psi Field2 (Right Lower) (thingy\Juice02.grp) +# 840 Unknown840 (thingy\tileset\ice\HDRadr02.grp) +# 842 6/1 Ice (thingy\tileset\ice\JGant1.grp) +# 906 6/20 Desert (thingy\tileset\desert\HDMachn2.grp) +.headerstart +IsId 334 +Type 1 +Init PsiFieldType2Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PsiFieldType2Init: + playfram 0x00 + setflipstate 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1659 Durendal weaponfire (cm\terran\durendal-weaponfire.grp) +.headerstart +IsId 717 +Type 1 +Init DurendalWeaponfireInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DurendalWeaponfireInit: + playfram 0x00 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + goto Generic_Wait1End + +## Next free IsId: 829 \ No newline at end of file diff --git a/mpq/scripts/iscript_protoss.bin b/mpq/scripts/iscript_protoss.bin new file mode 100644 index 0000000000000000000000000000000000000000..5fea7254e8232f922dd01566942ec3356d6b4dc9 GIT binary patch literal 31389 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 cSxFa#%Z6+Nse_t#<0PQ?IP8{q)&z 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 PacJdNM)y_x4^;mTcbRUb literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_protoss.txt b/mpq/scripts/iscript_protoss.txt new file mode 100644 index 0000000..4b6a6a9 --- /dev/null +++ b/mpq/scripts/iscript_protoss.txt @@ -0,0 +1,14862 @@ +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 110 Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) +# 111 Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) +# 216 Protoss Building Rubble (Small) (thingy\PRubbleS.grp) +# 217 Protoss Building Rubble (Large) (thingy\PRubbleL.grp) +# 335 Terran Building Rubble (Small) (thingy\RubbleS.grp) +# 336 Terran Building Rubble (Large) (thingy\RubbleL.grp) +# 1707 Terran Unit Rubble (Medium) (cm\terran\rubble-unit-medium.grp) +# 1708 Terran Unit Rubble (Small) (cm\terran\rubble-unit-small.grp) +# 1709 Protoss Unit Rubble (Medium) (cm\protoss\rubble-unit-medium.grp) +# 1710 Protoss Unit Rubble (Small) (cm\protoss\rubble-unit-small.grp) +# 1711 Zerg Unit Rubble (Medium) (cm\zerg\rubble-unit-medium.grp) +# 1712 Zerg Unit Rubble (Small) (cm\zerg\rubble-unit-small.grp) +# 1713 Zerg Unit Rubble (Tiny) (cm\zerg\rubble-unit-tiny.grp) +.headerstart +IsId 145 +Type 1 +Init BuildingRubbleHeaderInit +Death BuildingRubbleHeaderDeath +.headerend +# ----------------------------------------------------------------------------- # + +BuildingRubbleHeaderInit: + playfram 0x00 + wait 239 +BuildingRubbleHeaderDeath: + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + end + +InfestedTerranWalkingToIdle: + playfram 0x00 +SkryrokorLocal00: + wait 125 + goto SkryrokorLocal00 + +Generic_Wait1End: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 213 Explosion1 (Small) (thingy\tBangS.grp) +# 332 Explosion2 (Small) (thingy\tBangS.grp) +.headerstart +IsId 142 +Type 0 +Init Explosion_Small_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 214 Explosion1 (Medium) (thingy\tBangL.grp) +# 333 Explosion2 (Medium) (thingy\tBangL.grp) +.headerstart +IsId 143 +Type 0 +Init Explosion_Medium_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Medium_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 215 Explosion (Large) (thingy\tBangX.grp) +# 334 Building Explosion (Large) (thingy\tBangX.grp) +.headerstart +IsId 144 +Type 0 +Init Explosion_Large_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Large_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 + playfram 12 + wait 2 + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 130 Didact (protoss\arbiter.grp) +.headerstart +IsId 146 +Type 21 +Init DidactInit +Death DidactDeath +GndAttkInit DidactGndAttkInit +AirAttkInit DidactGndAttkInit +Unused1 [NONE] +GndAttkRpt DidactGndAttkRpt +AirAttkRpt DidactGndAttkRpt +CastSpell DidactCastSpell +GndAttkToIdle DidactGndAttkToIdle +AirAttkToIdle DidactGndAttkToIdle +Unused2 DidactUnused2 +Walking DidactWalking +WalkingToIdle DidactGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn DidactWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +DidactInit: + imgul 131 0 42 # Didact Shadow (protoss\didact.grp) + playfram 0x00 + goto DidactGndAttkToIdle + +DidactGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto DidactGndAttkToIdle + +DidactDeath: + playsnd 566 # Protoss\ARBITER\PAbDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +DidactGndAttkInit: + setvertpos 0 +DidactGndAttkRpt: + playfram 0x11 + wait 1 + nobrkcodestart + playsnd 99 # Bullet\DragBull.wav + attackwith 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +DidactCastSpell: + nobrkcodestart + wait 1 + playsnd 548 # Protoss\ARBITER\PAbCag00.WAV + castspell + nobrkcodeend + gotorepeatattk + sigorder 2 + goto SkryrokorLocal00 + +DidactUnused2: + nobrkcodestart + wait 1 + playsnd 2309 # Didact Stasis Field channel 01 + sigorder 32 + wait 3 + imgul 364 0 0 # Stasis Field Hit + wait 7 + imgul 364 0 0 # Stasis Field Hit + wait 8 + imgul 364 0 0 # Stasis Field Hit + castspell + nobrkcodeend + sigorder 2 + goto DidactGndAttkToIdle + +DidactWalking: + playfram 0x00 + setvertpos 0 + imgol 132 0 0 # Didact Engines (thingy\pabGlow.grp) + goto SkryrokorLocal00 + +DidactWarpIn: + imgol 133 0 0 # Didact Warp Flash (protoss\didact.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 134 Archon Energy (protoss\archon.grp) +.headerstart +IsId 147 +Type 13 +Init ArchonEnergyInit +Death ArchonEnergyDeath +GndAttkInit ArchonEnergyGndAttkInit +AirAttkInit ArchonEnergyGndAttkInit +Unused1 ArchonEnergyUnused1 +GndAttkRpt ArchonEnergyGndAttkInit +AirAttkRpt ArchonEnergyGndAttkInit +CastSpell [NONE] +GndAttkToIdle ArchonEnergyGndAttkInit +AirAttkToIdle ArchonEnergyGndAttkInit +Unused2 [NONE] +Walking ArchonEnergyGndAttkInit +WalkingToIdle ArchonEnergyGndAttkInit +SpecialState1 ArchonEnergySpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ArchonEnergyInit: + playfram 18 + wait 1 + nobrkcodestart + wait 1 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + imgol 135 0 0 # Archon Being (protoss\archonT.grp) + imgol 136 0 0 # Archon Swirl (protoss\archonT2.grp) + sigorder 4 + nobrkcodeend + wait 2 +ArchonEnergyGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto ArchonEnergyGndAttkInit + +ArchonEnergyDeath: + playsnd 581 # Archon Death 01 + playsnd 7 # Misc\ExploLrg.wav + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +ArchonEnergyUnused1: + wait 1 + nobrkcodestart + playsnd 7 # Misc\ExploLrg.wav + sprol 739 0 0 # Explosion Blue Reversed + wait 3 + nobrkcodeend + goto ArchonEnergyInit + +ArchonEnergySpecialState1: + playsnd 617 # Protoss\TEMPLAR\PTeSum00.WAV + playfram 10 + wait 2 + playfram 11 + wait 2 +ArchonEnergyLocal00: + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 16 + wait 2 + playfram 15 + wait 2 + playfram 14 + wait 2 + playfram 13 + wait 2 + goto ArchonEnergyLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 135 Archon Being (protoss\archonT.grp) +.headerstart +IsId 148 +Type 12 +Init ArchonBeingInit +Death Generic_Wait1End +GndAttkInit ArchonBeingGndAttkInit +AirAttkInit ArchonBeingGndAttkInit +Unused1 [NONE] +GndAttkRpt ArchonBeingGndAttkInit +AirAttkRpt ArchonBeingGndAttkInit +CastSpell [NONE] +GndAttkToIdle ArchonBeingGndAttkToIdle +AirAttkToIdle ArchonBeingGndAttkToIdle +Unused2 [NONE] +Walking ArchonBeingGndAttkToIdle +WalkingToIdle ArchonBeingGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ArchonBeingInit: + setfldirect 15 +ArchonBeingGndAttkToIdle: + playfram 0xaa + wait 4 + playfram 0xbb + wait 4 + playfram 0xcc + wait 4 + playfram 0xdd + wait 4 + playfram 0xcc + wait 4 + playfram 0xbb + wait 4 + goto ArchonBeingGndAttkToIdle + +ArchonBeingGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + trgtrangecondjmp 48 ArchonBeingLocal00 + imgoluselo 549 0 0 # Archon Beam (thingy\emsBeam.grp) + playsnd 58 # Bullet\PArFir00.wav + attack + wait 1 + playfram 0x66 + wait 3 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + playfram 0x00 + wait 2 + nobrkcodeend + gotorepeatattk + goto ArchonBeingGndAttkToIdle + +ArchonBeingLocal00: + playsnd 58 # Bullet\PArFir00.wav + attack + wait 1 + playfram 0x66 + wait 3 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + playfram 0x00 + wait 2 + nobrkcodeend + gotorepeatattk + goto ArchonBeingGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 136 Archon Swirl (protoss\archonT2.grp) +.headerstart +IsId 149 +Type 1 +Init ArchonSwirlInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ArchonSwirlInit: + tmprmgraphicstart + wait 1 + waitrand 1 4 + tmprmgraphicend +ArchonSwirlLocal00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto ArchonSwirlLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 112 Solarion (protoss\carrier.grp) +.headerstart +IsId 151 +Type 21 +Init SolarionInit +Death SolarionDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 SolarionUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SolarionWalking +WalkingToIdle SolarionLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn SolarionWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +SolarionInit: + imgulnextid 0 42 + playfram 0x00 + goto SkryrokorLocal00 + +SolarionDeath: + playsndbtwn 595 596 # Protoss\Carrier\PCaDth00.WAV | Protoss\Carrier\PCaDth01.WAV + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 223 0 42 # Protoss Building Rubble Small + wait 1 + end + +SolarionLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto SolarionLocal00 + +SolarionUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + setfldirect 0 + playsndbtwn 1367 1368 # Solarion Revive 01, 02 + sprol 745 0 0 + playfram 0x00 + wait 3 + setfldirect 14 + tmprmgraphicend + nobrkcodeend + goto SkryrokorLocal00 + +SolarionWalking: + imgol 114 0 0 # Solarion Engines (thingy\pcaGlow.grp) + goto SkryrokorLocal00 + +SolarionWarpIn: + imgol 115 0 0 # Solarion Warp Flash (protoss\carrier.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 129 Dark Templar (Hero) (protoss\dtemplar.grp) +.headerstart +IsId 152 +Type 12 +Init DarkTemplar_Hero_Init +Death DarkTemplar_Hero_Death +GndAttkInit DarkTemplar_Hero_GndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt DarkTemplar_Hero_GndAttkInit +AirAttkRpt [NONE] +CastSpell DarkTemplar_Hero_CastSpell +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking DarkTemplar_Hero_Walking +WalkingToIdle DarkTemplar_Hero_Init +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DarkTemplar_Hero_Init: + playfram 0xdd + goto SkryrokorLocal00 + +DarkTemplar_Hero_Death: + playsnd 741 # Protoss\DARKTEMPLAR\PDTDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + end + +DarkTemplar_Hero_GndAttkInit: + playsnd 111 # Bullet\UZeFir00.wav + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + attackwith 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + nobrkcodeend + gotorepeatattk + goto DarkTemplar_Hero_Init + +DarkTemplar_Hero_CastSpell: + castspell + sigorder 2 + gotorepeatattk + goto DarkTemplar_Hero_Init + +DarkTemplar_Hero_Walking: + move 4 + wait 1 + playfram 0xee + move 4 + wait 1 + playfram 0xff + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x12 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0xdd + goto DarkTemplar_Hero_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 122 Dracadin (protoss\dracadin.grp) +.headerstart +IsId 153 +Type 21 +Init DracadinInit +Death DracadinDeath +GndAttkInit DracadinGndAttkInit +AirAttkInit DracadinGndAttkInit +Unused1 DracadinUnused1 +GndAttkRpt DracadinGndAttkRpt +AirAttkRpt DracadinGndAttkRpt +CastSpell [NONE] +GndAttkToIdle DracadinGndAttkToIdle +AirAttkToIdle DracadinGndAttkToIdle +Unused2 [NONE] +Walking DracadinWalking +WalkingToIdle DracadinWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn DracadinWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +DracadinInit: + imgul 123 0 0 # Dracadin Shadow (protoss\dracadin-shadow.grp) +DracadinWalkingToIdle: + playfram 0x00 + wait 1 +DracadinLocal00: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x00 + wait 2 + goto DracadinLocal00 + +DracadinDeath: + playsnd 493 # Protoss\DRAGOON\PDrDth00.WAV + imgol 1774 0 0 # Dracadin death explosion (cm\protoss\dracadin-explosion.grp) + setfldirect 0 + goto DracadinDeathFrames +DracadinDeathFrames: + playfram 768 + wait 2 + playfram 769 + wait 2 + playfram 770 + wait 2 + playfram 771 + wait 2 + playfram 772 + wait 2 + playfram 773 + wait 2 + playfram 774 + wait 2 + lowsprul 192 0 0 # Dracadin Remnants (protoss\pdrDeath.grp) + wait 1 + end + +DracadinUnused1: + wait 1 + nobrkcodestart + playsnd 1902 # Dracadin revive 01 + setfldirect 0 + playfram 773 + wait 2 + playfram 772 + wait 2 + playfram 771 + wait 2 + playfram 770 + wait 2 + playfram 769 + wait 2 + playfram 768 + wait 2 + setfldirect 12 + nobrkcodeend + goto DracadinWalkingToIdle + +DracadinGndAttkInit: + playfram 0x200 + wait 1 + playfram 0x240 + wait 1 + playfram 0x280 + wait 1 +DracadinGndAttkRpt: + playfram 0x2C0 + wait 1 + attackwith 1 + playsnd 99 # Bullet\DragBull.wav + playfram 0x2E0 + wait 1 + playfram 0x2C0 + wait 1 + playfram 0x2A0 + gotorepeatattk + ignorerest +DracadinGndAttkToIdle: + wait 1 + playfram 0x280 + wait 1 + playfram 0x260 + wait 1 + playfram 0x240 + wait 1 + playfram 0x220 + wait 1 + playfram 0x200 + goto DracadinWalkingToIdle + +DracadinWalking: + move 5 + wait 1 + playfram 0x100 + move 5 + wait 1 + playfram 0x120 + move 5 + wait 1 + playfram 0x140 + move 5 + wait 1 + playfram 0x160 + move 5 + wait 1 + playfram 0x180 + move 5 + wait 1 + playfram 0x1A0 + move 5 + wait 1 + playfram 0x1C0 + move 5 + wait 1 + playfram 0x1E0 + goto DracadinWalking + +DracadinWarpIn: + imgol 125 0 0 # Dracadin Warp Flash (protoss\dragoon.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 116 Steward (protoss\Intercep.grp) +.headerstart +IsId 155 +Type 12 +Init StewardInit +Death StewardDeath +GndAttkInit StewardGndAttkInit +AirAttkInit StewardGndAttkInit +Unused1 [NONE] +GndAttkRpt StewardGndAttkInit +AirAttkRpt StewardGndAttkInit +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle SkryrokorLocal00 +Unused2 [NONE] +Walking StewardWalking +WalkingToIdle SolarionLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StewardInit: + imgul 117 0 42 # Steward Shadow (protoss\Intercep.grp) + playfram 0x00 + goto SolarionLocal00 + +StewardDeath: + playsnd 8 # Misc\ExploMed.wav + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + end + +StewardGndAttkInit: + wait 1 + attackwith 1 + playfram 0x11 + wait 1 + playfram 0x00 + gotorepeatattk + goto SkryrokorLocal00 + +StewardWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 137 Scribe (protoss\probe.grp) +.headerstart +IsId 156 +Type 21 +Init ScribeInit +Death ScribeDeath +GndAttkInit ScribeGndAttkInit +AirAttkInit [NONE] +Unused1 ScribeUnused1 +GndAttkRpt ScribeGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking ScribeWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ScribeAlmostBuilt +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ScribeWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ScribeInit: + imgul 138 0 7 # Scribe Shadow (protoss\probe.grp) + playfram 0x00 + goto SkryrokorLocal00 + +ScribeDeath: + setfldirect 0 + playsnd 598 # Protoss\PROBE\PPrDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + playfram 17 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + lowsprul 691 0 0 # Scribe Remnants (cm\protoss\scribe-death.grp) + wait 1 + end + +ScribeUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1352 # Scribe Revive 01 + playfram 20 + wait 1 + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 17 + sprol 740 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 1 + playfram 0x00 + wait 1 + setfldirect 10 + nobrkcodeend + goto SkryrokorLocal00 + +ScribeGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x20 + attackwith 1 + playsndbtwn 2670 2672 # Scribe weaponfire 01, 02, 03 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +ScribeWalking: + setvertpos 0 + goto ScribeWalkingLoop + +ScribeWalkingLoop: + move 4 + wait 1 + goto ScribeWalkingLoop + +ScribeAlmostBuilt: + useweapon 63 # Particle Beam (Harvest) (Particle Beam) + playsnd 614 # Protoss\PROBE\PPrMin00.WAV + wait 9 + goto ScribeAlmostBuilt + +ScribeWarpIn: + imgol 139 0 0 # Scribe Warp Flash (protoss\probe.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 118 Envoy (protoss\shuttle.grp) +.headerstart +IsId 157 +Type 21 +Init EnvoyInit +Death EnvoyDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking EnvoyWalking +WalkingToIdle EnvoyWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn EnvoyWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +EnvoyInit: + imgul 119 0 42 # Envoy Shadow (protoss\shuttle.grp) +EnvoyWalkingToIdle: + playfram 0x00 + goto SolarionLocal00 + +EnvoyDeath: + playsnd 514 # Protoss\SHUTTLE\PShDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 921 0 42 # Envoy remains + wait 1 + end + +EnvoyWalking: + playfram 0x00 + setvertpos 0 + imgol 120 0 0 # Envoy Engines (thingy\pshGlow.grp) + goto SkryrokorLocal00 + +EnvoyWarpIn: + imgol 121 0 0 # Envoy Warp Flash (protoss\shuttle.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 126 Cantavis (protoss\templar.grp) +.headerstart +IsId 158 +Type 21 +Init CantavisInit +Death CantavisDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 CantavisUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell CantavisCastSpell +GndAttkToIdle CantavisGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 CantavisUnused2 +Walking CantavisWalking +WalkingToIdle CantavisWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn CantavisWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +CantavisInit: + imgul 127 0 0 # Cantavis Shadow (protoss\pteShad.grp) + playfram 0x66 + wait 1 +CantavisGndAttkToIdle: + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xaa + wait 2 + playfram 0xbb + wait 2 + playfram 0xcc + wait 2 + goto CantavisGndAttkToIdle + +CantavisDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + setfldirect 0 + playfram 289 + wait 2 + playfram 290 + wait 2 + playfram 291 + wait 2 + playfram 292 + wait 2 + playfram 293 + wait 2 + playfram 294 + wait 2 + playfram 295 + wait 2 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +CantavisUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1186 + playfram 295 + wait 2 + playfram 294 + wait 2 + playfram 293 + wait 2 + playfram 292 + wait 2 + playfram 291 + wait 2 + playfram 290 + wait 2 + playfram 289 + wait 2 + setfldirect 12 + nobrkcodeend + goto CantavisWalkingToIdle + +CantavisCastSpell: + playfram 0x00 + wait 1 + nobrkcodestart + sigorder 64 + playsnd 2547 # Psionic Storm cast 01 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + castspell + sigorder 2 + playfram 0x44 + wait 1 + nobrkcodeend + gotorepeatattk + goto CantavisGndAttkToIdle + +CantavisUnused2: + playfram 0x00 + nobrkcodestart + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + castspell + wait 1 + playfram 0x44 + wait 1 + sigorder 32 + nobrkcodeend + gotorepeatattk + goto CantavisGndAttkToIdle + +CantavisWalking: + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x55 + setvertpos 0 +CantavisLocal00: + wait 3 + spruluselo 320 0 0 # Cantavis Glow (thingy\pteglow.grp) + goto CantavisLocal00 + +CantavisWalkingToIdle: + playfram 0x110 + wait 1 + playfram 0xff + wait 1 + playfram 0xee + wait 1 + goto CantavisGndAttkToIdle + +CantavisWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 144 Accantor (protoss\trilob.grp) +.headerstart +IsId 159 +Type 21 +Init AccantorInit +Death AccantorDeath +GndAttkInit AccantorGndAttkInit +AirAttkInit AccantorGndAttkInit +Unused1 AccantorUnused1 +GndAttkRpt AccantorGndAttkInit +AirAttkRpt AccantorGndAttkInit +CastSpell [NONE] +GndAttkToIdle AccantorGndAttkToIdle +AirAttkToIdle AccantorGndAttkToIdle +Unused2 [NONE] +Walking AccantorWalking +WalkingToIdle AccantorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn AccantorWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AccantorInit: + imgul 145 0 0 # Accantor Shadow (protoss\ptrShad.grp) +AccantorWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +AccantorDeath: + playsnd 638 # Protoss\TRILOBYTE\PTrDth00.WAV + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +AccantorUnused1: + wait 1 + nobrkcodestart + playsnd 1698 # Accantor revive 01 + wait 8 + sprol 745 0 0 # Medium Blue Explosion Reversed + playfram 0x00 + wait 3 + setfldirect 14 + nobrkcodeend + goto AccantorWalkingToIdle + +AccantorGndAttkInit: + wait 1 + playsndbtwn 102 103 # Bullet\pTrFir00.wav | Bullet\pTrFir01.wav + attackwith 1 + wait 1 + gotorepeatattk + ignorerest +AccantorGndAttkToIdle: + goto AccantorWalkingToIdle + +AccantorWalking: + move 2 + wait 1 + playfram 0x11 + move 2 + wait 1 + playfram 0x22 + move 2 + wait 1 + playfram 0x33 + move 2 + wait 1 + playfram 0x44 + move 2 + wait 1 + playfram 0x55 + move 2 + wait 1 + playfram 0x66 + move 2 + wait 1 + playfram 0x77 + move 2 + wait 1 + playfram 0x88 + move 2 + wait 1 + playfram 0x00 + goto AccantorWalking + +AccantorWarpIn: + imgol 146 0 0 # Accantor Warp Flash (protoss\trilob.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 147 Plasma Shell (protoss\sapper.grp) +.headerstart +IsId 160 +Type 2 +Init PlasmaShellInit +Death PlasmaShellDeath +GndAttkInit PlasmaShellGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PlasmaShellInit: + playfram 0x00 + wait 1 + sigorder 1 +PlasmaShellGndAttkInit: + sprol 373 0 0 # Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) + wait 2 + goto PlasmaShellGndAttkInit + +PlasmaShellDeath: + imgol 444 0 0 # Plasma Shell Hit (thingy\psaExplo.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 142 Scout Engines (thingy\pscGlow.grp) +.headerstart +IsId 162 +Type 12 +Init ScoutEnginesInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit Generic_Wait1End +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle Generic_Wait1End +AirAttkToIdle Generic_Wait1End +Unused2 [NONE] +Walking ScoutEnginesInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ScoutEnginesInit: + wait 1 + engframe 0 + wait 1 + engframe 17 + goto ScoutEnginesInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 151 Zealot (protoss\zealot.grp) +.headerstart +IsId 163 +Type 21 +Init ZealotInit +Death ZealotDeath +GndAttkInit ZealotGndAttkInit +AirAttkInit [NONE] +Unused1 ZealotUnused1 +GndAttkRpt ZealotGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle ZealotGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking ZealotWalking +WalkingToIdle ZealotWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ZealotWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ZealotInit: + imgul 152 0 0 # Zealot Shadow (protoss\pzeShad.grp) +ZealotWalkingToIdle: + playfram 0x55 +ZealotLocal00: + wait 62 + randcondjmp 64 ZealotLocal01 + goto ZealotLocal00 + +ZealotLocal01: + playfram 0x00 + wait 1 + playfram 0x22 +ZealotLocal03: + wait 1 + waitrand 14 21 + randcondjmp 85 ZealotLocal04 +ZealotLocal05: + turnccwise 1 + wait 1 + randcondjmp 225 ZealotLocal05 + goto ZealotLocal06 + +ZealotLocal06: + randcondjmp 160 ZealotLocal03 + wait 1 + waitrand 21 44 + playfram 0x00 + wait 1 + goto ZealotWalkingToIdle + +ZealotLocal04: + turncwise 1 + wait 1 + randcondjmp 236 ZealotLocal04 + randcondjmp 160 ZealotLocal03 + waitrand 22 45 + playfram 0x00 + wait 1 + goto ZealotWalkingToIdle + +ZealotDeath: + playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV + setfldirect 0 + playfram 221 + wait 2 + playfram 222 + wait 2 + lowsprul 815 0 0 # Zealot Remains + playfram 223 + wait 2 + playfram 224 + wait 2 + playfram 225 + wait 2 + playfram 226 + wait 2 + playfram 227 + wait 2 + end + +ZealotUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1187 + 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 ZealotWalkingToIdle + +ZealotGndAttkInit: + playfram 0x00 + wait 1 +ZealotGndAttkRpt: + playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV | Protoss\ZEALOT\pzeAtt01.WAV + playfram 0x11 + wait 1 + nobrkcodestart + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + attackmelee 1 0 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + attackmelee 1 0 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + ignorerest +ZealotGndAttkToIdle: + goto ZealotWalkingToIdle + +ZealotWalking: + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + goto ZealotWalking + +ZealotWarpIn: + imgol 154 0 0 # Zealot Warp Flash (protoss\zealot.grp) + goto ZealotLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 153 Zealot Death (protoss\zealot.grp) +.headerstart +IsId 164 +Type 1 +Init ZealotDeathInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZealotDeathInit: + setfldirect 0 + playfram 0xdd + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 148 Witness (protoss\witness.grp) +.headerstart +IsId 165 +Type 21 +Init WitnessInit +Death WitnessDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking WitnessWalking +WalkingToIdle SolarionLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn WitnessWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +WitnessInit: + imgul 149 0 42 # Witness Shadow (protoss\witness.grp) + playfram 0x00 + goto SolarionLocal00 + +WitnessDeath: + playsndbtwn 651 652 # Protoss\Witness\PWiDth00.WAV | Protoss\Witness\PWiDth01.WAV + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 949 0 42 # Witness remains + wait 1 + end + +WitnessWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +WitnessWarpIn: + imgol 150 0 0 # Witness Warp Flash (protoss\witness.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 155 Templar Archives (protoss\archives.grp) +.headerstart +IsId 166 +Type 27 +Init TemplarArchivesInit +Death TemplarArchivesDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking TemplarArchivesIsWorking +WorkingToIdle TemplarArchivesWorkingToIdle +WarpIn TemplarArchivesWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +TemplarArchivesInit: + imgul 157 0 0 # Templar Archives Shadow (protoss\pacShad.grp) + playfram 1 + goto SkryrokorLocal00 + +TemplarArchivesDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +TemplarArchivesIsWorking: + wait 1 + goto TemplarArchivesIsWorking + +TemplarArchivesWorkingToIdle: + playfram 1 + goto SkryrokorLocal00 + +TemplarArchivesWarpIn: + imgol 156 0 0 # Templar Archives Warp Flash (protoss\archives.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 158 Aquifer (protoss\assim.grp) +.headerstart +IsId 167 +Type 27 +Init AquiferInit +Death AquiferDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built AquiferBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AquiferBuilt +WorkingToIdle AquiferBuilt +WarpIn AquiferWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +AquiferInit: + imgul 160 0 0 # Aquifer Shadow (protoss\pasShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +AquiferDeath: + playsnd 7 # Misc\ExploLrg.wav + sprol 222 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +AquiferBuilt: + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 3 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + creategasoverlays 3 + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + goto AquiferBuilt + +AquiferWarpIn: + imgol 159 0 0 # Aquifer Warp Flash (protoss\assim.grp) + goto AquiferBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 161 Observatory (protoss\beacon.grp) +.headerstart +IsId 168 +Type 27 +Init ObservatoryInit +Death ObservatoryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking ObservatoryIsWorking +WorkingToIdle ObservatoryWorkingToIdle +WarpIn ObservatoryWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +ObservatoryInit: + imgul 163 0 0 # Observatory Shadow (protoss\pbeShad.grp) + playfram 1 + goto SkryrokorLocal00 + +ObservatoryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +ObservatoryIsWorking: + playfram 2 + wait 3 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 3 + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto ObservatoryIsWorking + +ObservatoryWorkingToIdle: + playfram 1 + goto SkryrokorLocal00 + +ObservatoryWarpIn: + imgol 162 0 0 # Observatory Warp Flash (protoss\beacon.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +.headerstart +IsId 169 +Type 20 +Init Unknown169Init +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 Unknown169Init +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking Unknown169Init +WorkingToIdle Unknown169Init +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown169Init: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + goto Unknown169Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 164 Citadel of Adun (protoss\citadel.grp) +.headerstart +IsId 170 +Type 27 +Init CitadelOfAdunInit +Death CitadelOfAdunDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking CitadelOfAdunIsWorking +WorkingToIdle CitadelOfAdunWorkingToIdle +WarpIn CitadelOfAdunWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +CitadelOfAdunInit: + imgul 166 0 0 # Citadel of Adun Shadow (protoss\pciShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CitadelOfAdunDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +CitadelOfAdunIsWorking: + playfram 2 + wait 3 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 3 + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto CitadelOfAdunIsWorking + +CitadelOfAdunWorkingToIdle: + playfram 1 + goto SkryrokorLocal00 + +CitadelOfAdunWarpIn: + imgol 165 0 0 # Citadel of Adun Warp Flash (protoss\citadel.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 167 Forge (protoss\forge.grp) +.headerstart +IsId 171 +Type 27 +Init ForgeInit +Death ForgeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built ForgeBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ForgeIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn ForgeWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +ForgeInit: + imgul 170 0 0 # Forge Shadow (protoss\pfoShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +ForgeDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +ForgeBuilt: + goto SkryrokorLocal00 + +ForgeIsWorking: + wait 1 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 0x00 + wait 1 + goto ForgeIsWorking + +ForgeWarpIn: + imgol 169 0 0 # Forge Warp Flash (protoss\forge.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 168 Forge Overlay (protoss\forgeT.grp) +.headerstart +IsId 172 +Type 27 +Init ForgeOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking ForgeOverlayIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +ForgeOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +ForgeOverlayIsWorking: + playfram 0x00 + wait 3 + playfram 1 + wait 3 + playfram 2 + wait 3 + goto ForgeOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 171 Gateway (protoss\gateway.grp) +.headerstart +IsId 173 +Type 27 +Init GatewayInit +Death GatewayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GatewaySpecialState1 +SpecialState2 GatewaySpecialState2 +AlmostBuilt GatewayAlmostBuilt +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking GatewayIsWorking +WorkingToIdle GatewayWorkingToIdle +WarpIn GatewayAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable GatewayDisable +Burrow [NONE] +UnBurrow [NONE] +Enable GatewayEnable +.headerend +# ----------------------------------------------------------------------------- # + +GatewayInit: + imgul 173 0 0 # Gateway Shadow (protoss\pgaShad.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +GatewayDeath: + playfram 0x00 + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +GatewaySpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + wait 1 + goto GatewayLocal00 + +GatewayLocal00: + wait 255 + goto GatewayLocal00 + +GatewaySpecialState2: + wait 1 + goto GatewayWorkingToIdle + +GatewayWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +GatewayAlmostBuilt: + imgol 172 0 0 # Gateway Warp Flash (protoss\gateway.grp) + goto SkryrokorLocal00 + +GatewayIsWorking: + playfram 1 + wait 1 + playfram 2 + waitrand 1 2 + playfram 3 + waitrand 1 2 + playfram 2 + waitrand 1 2 + playfram 3 + waitrand 1 2 + playfram 2 + waitrand 1 2 + playfram 1 + waitrand 1 2 + playfram 2 + waitrand 1 2 + goto GatewayIsWorking + +GatewayDisable: + playfram 0x00 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 1 + goto SkryrokorLocal00 + +GatewayEnable: + playfram 5 + wait 2 + playfram 4 + wait 2 + goto GatewayWorkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 174 Cenotaph (protoss\gencore.grp) +.headerstart +IsId 174 +Type 27 +Init CenotaphInit +Death ForgeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built CenotaphBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking CenotaphIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn CenotaphWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +CenotaphInit: + imgul 177 0 0 # Cenotaph Shadow (protoss\pgcShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CenotaphBuilt: + goto SkryrokorLocal00 + +CenotaphIsWorking: + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 0x00 + goto CenotaphIsWorking + +CenotaphWarpIn: + imgol 175 0 0 # Cenotaph Warp Flash (protoss\gencore.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 176 Cenotaph Overlay (protoss\gencoreT.grp) +.headerstart +IsId 175 +Type 27 +Init CenotaphOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking CenotaphOverlayIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +CenotaphOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +CenotaphOverlayIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + goto CenotaphOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 178 Khaydarin Crystal Formation (neutral\Khyad01.grp) +.headerstart +IsId 176 +Type 20 +Init KhaydarinCrystalFormationInit +Death GatewayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KhaydarinCrystalFormationInit: + imgul 1252 0 0 # Khaydarin Formation Shadow (cm\neutral\khaydarin-formation-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 179 Nexus (protoss\nexus.grp) +.headerstart +IsId 177 +Type 27 +Init NexusInit +Death NexusDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built NexusBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn NexusWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +NexusInit: + imgul 182 0 0 # Nexus Shadow (protoss\pneShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +NexusDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +NexusBuilt: + imgol 181 0 0 # Nexus Overlay (protoss\pneGlow.grp) + goto SkryrokorLocal00 + +NexusWarpIn: + imgol 180 0 0 # Nexus Warp Flash (protoss\nexus.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 181 Nexus Overlay (protoss\pneGlow.grp) +.headerstart +IsId 178 +Type 24 +Init NexusOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking NexusOverlayIsWorking +WorkingToIdle NexusOverlayInit +WarpIn SkryrokorLocal00 +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NexusOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +NexusOverlayIsWorking: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + goto NexusOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 183 Warden (protoss\photon.grp) +.headerstart +IsId 179 +Type 27 +Init WardenInit +Death WardenDeath +GndAttkInit WardenGndAttkInit +AirAttkInit WardenGndAttkInit +Unused1 [NONE] +GndAttkRpt WardenGndAttkRpt +AirAttkRpt WardenGndAttkRpt +CastSpell [NONE] +GndAttkToIdle WardenGndAttkToIdle +AirAttkToIdle WardenGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn WardenWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable InfestedTerranWalkingToIdle +.headerend +# ----------------------------------------------------------------------------- # + +WardenInit: + imgul 184 0 0 # Warden Shadow (protoss\ppbShad.grp) +WardenLocal00: + playfram 0x00 + goto SkryrokorLocal00 + +WardenDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +WardenGndAttkInit: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 +WardenGndAttkRpt: + wait 1 + attack + playsndbtwn 2007 2009 # Warden weaponfire 01, 02, 03 + imgol 1163 0 -20 # Warden impact + gotorepeatattk + ignorerest +WardenGndAttkToIdle: + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + goto WardenLocal00 + +WardenWarpIn: + imgol 185 0 0 # Warden Warp Flash (protoss\photon.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 189 Pylon (protoss\pylon.grp) +.headerstart +IsId 181 +Type 21 +Init PylonInit +Death PylonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built PylonBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn PylonWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +PylonInit: + imgul 191 0 0 # Pylon Shadow (protoss\ppyShad.grp) +PylonBuilt: + playfram 0x00 + goto PylonLocal01 + +PylonLocal01: + 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 0x00 + wait 10 + goto PylonLocal01 + +PylonDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +PylonWarpIn: + imgol 190 0 0 # Pylon Warp Flash (protoss\pylon.grp) + goto PylonBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 192 Robotics Facility (protoss\robotic.grp) +.headerstart +IsId 182 +Type 27 +Init RoboticsFacilityInit +Death RoboticsFacilityDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking RoboticsFacilityIsWorking +WorkingToIdle RoboticsFacilityWorkingToIdle +WarpIn RoboticsFacilityWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable RoboticsFacilityDisable +Burrow [NONE] +UnBurrow [NONE] +Enable RoboticsFacilityEnable +.headerend +# ----------------------------------------------------------------------------- # + +RoboticsFacilityInit: + imgul 194 0 0 # Robotics Facility Shadow (protoss\proShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +RoboticsFacilityDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +RoboticsFacilityIsWorking: + 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 + goto RoboticsFacilityIsWorking + +RoboticsFacilityWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +RoboticsFacilityWarpIn: + imgol 193 0 0 # Robotics Facility Warp Flash (protoss\robotic.grp) + goto SkryrokorLocal00 + +RoboticsFacilityDisable: + playfram 11 + wait 2 + playfram 12 + goto SkryrokorLocal00 + +RoboticsFacilityEnable: + playfram 11 + wait 2 + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 195 Shield Battery (protoss\sbattery.grp) +.headerstart +IsId 183 +Type 27 +Init ShieldBatteryInit +Death ShieldBatteryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built ShieldBatteryBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn ShieldBatteryWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable ShieldBatteryBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ShieldBatteryInit: + imgul 198 0 0 # Shield Battery Shadow (protoss\pbaShad.grp) + playfram 0x00 # Frame set 0 + goto SkryrokorLocal00 + +ShieldBatteryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +ShieldBatteryBuilt: + imgol 196 0 0 # Shield Battery Overlay (protoss\pbaGlow.grp) + goto SkryrokorLocal00 + +ShieldBatteryWarpIn: + imgol 197 0 0 # Shileld Battery Warp Flash (protoss\sbattery.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 196 Shield Battery Overlay (protoss\pbaGlow.grp) +.headerstart +IsId 184 +Type 24 +Init ShieldBatteryOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking ShieldBatteryOverlayIsWorking +WorkingToIdle ShieldBatteryOverlayInit +WarpIn SkryrokorLocal00 +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ShieldBatteryOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +ShieldBatteryOverlayIsWorking: + playsnd 481 # Protoss\Bldg\PbaAct00.wav + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto ShieldBatteryOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 199 Stargate (protoss\stargate.grp) +.headerstart +IsId 185 +Type 27 +Init StargateInit +Death StargateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 StargateSpecialState1 +SpecialState2 StargateSpecialState2 +AlmostBuilt [NONE] +Built StargateBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn StargateWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable StargateBuilt +.headerend +# ----------------------------------------------------------------------------- # + +StargateInit: + imgul 202 0 0 # Stargate Shadow (protoss\psgShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +StargateDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +StargateSpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + wait 1 + goto StargateLocal00 + +StargateLocal00: + wait 255 + goto StargateLocal00 + +StargateSpecialState2: + wait 1 + goto StargateLocal01 + +StargateLocal01: + playfram 0x00 + goto StargateBuilt + +StargateBuilt: + imgol 200 0 0 # Stargate Overlay (protoss\psgGlow.grp) + goto SkryrokorLocal00 + +StargateWarpIn: + imgol 201 0 0 # Stargate Warp Flash (protoss\stargate.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 200 Stargate Overlay (protoss\psgGlow.grp) +.headerstart +IsId 186 +Type 27 +Init StargateOverlayInit +Death StargateOverlayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking StargateOverlayIsWorking +WorkingToIdle StargateOverlayWorkingToIdle +WarpIn SkryrokorLocal00 +Unused3 [NONE] +StarEditInit [NONE] +Disable StargateOverlayDisable +Burrow [NONE] +UnBurrow [NONE] +Enable StargateOverlayEnable +.headerend +# ----------------------------------------------------------------------------- # + +StargateOverlayInit: + playfram 0 + wait 2 +StargateOverlayWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +StargateOverlayIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + goto StargateOverlayIsWorking + +StargateOverlayEnable: + tmprmgraphicend + wait 2 + goto StargateOverlayWorkingToIdle + +StargateOverlayDisable: + playfram 8 + wait 2 + tmprmgraphicstart + goto SkryrokorLocal00 + +StargateOverlayDeath: + playfram 8 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 203 Stasis Cell/Prison (neutral\stasis.grp) +.headerstart +IsId 187 +Type 20 +Init StasisCell_PrisonInit +Death ForgeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built StasisCell_PrisonInit +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StasisCell_PrisonInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 204 Robotics Support Bay (protoss\stasis.grp) +.headerstart +IsId 188 +Type 27 +Init RoboticsSupportBayInit +Death RoboticsSupportBayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking RoboticsSupportBayIsWorking +WorkingToIdle RoboticsSupportBayWorkingToIdle +WarpIn RoboticsSupportBayWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +RoboticsSupportBayInit: + imgul 206 0 0 # Robotics Support Bay Shadow (protoss\pstShad.grp) + playfram 1 + goto SkryrokorLocal00 + +RoboticsSupportBayDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +RoboticsSupportBayIsWorking: + playfram 2 + wait 2 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto RoboticsSupportBayIsWorking + +RoboticsSupportBayWorkingToIdle: + playfram 1 # Frame set 0, direction 1 + goto SkryrokorLocal00 + +RoboticsSupportBayWarpIn: + imgol 205 0 0 # Robotics Support Bay Warp Flash (protoss\stasis.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 207 Protoss Temple (neutral\temple.grp) +.headerstart +IsId 189 +Type 20 +Init TempleInit +Death NexusDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TempleInit: + imgul 1228 0 0 # Protoss Temple Shadow (cm\neutral\temple-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 208 Fleet Beacon (protoss\warp.grp) +.headerstart +IsId 190 +Type 27 +Init FleetBeaconInit +Death FleetBeaconDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking FleetBeaconIsWorking +WorkingToIdle FleetBeaconWorkingToIdle +WarpIn FleetBeaconWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +FleetBeaconInit: + imgul 212 0 0 # Fleet Beacon Shadow (protoss\pwaShad.grp) + playfram 1 + goto SkryrokorLocal00 + +FleetBeaconDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +FleetBeaconIsWorking: + playfram 2 + wait 2 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto FleetBeaconIsWorking + +FleetBeaconWorkingToIdle: + playfram 1 + goto SkryrokorLocal00 + +FleetBeaconWarpIn: + imgol 209 0 0 # Fleet Beacon Warp Flash (protoss\warp.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 211 Warp Anchor (protoss\pb1Glow.grp) +.headerstart +IsId 191 +Type 15 +Init WarpAnchorInit +Death WarpAnchorDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WarpAnchorSpecialState1 +SpecialState2 WarpAnchorSpecialState1 +AlmostBuilt WarpAnchorSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +WarpAnchorInit: + playfram 0x02 + warpoverlay 0x02 + wait 2 + playfram 0x03 + warpoverlay 0x03 + wait 2 + playfram 0x04 + warpoverlay 0x04 + wait 2 + playfram 0x05 + warpoverlay 0x05 + wait 2 + playfram 0x06 + warpoverlay 0x06 + wait 2 + playfram 0x07 + warpoverlay 0x07 + wait 2 +WarpAnchorLocal00: + playfram 0x08 + warpoverlay 0x08 + wait 1 + playfram 0x09 + warpoverlay 0x09 + wait 1 + playfram 0x0A + warpoverlay 0x0A + wait 1 + playfram 0x0B + warpoverlay 0x0B + wait 1 + playfram 0x0C + warpoverlay 0x0C + wait 1 + playfram 0x0D + warpoverlay 0x0D + wait 1 + goto WarpAnchorLocal00 + +WarpAnchorDeath: + playfram 0x07 + warpoverlay 0x07 + wait 2 + playfram 0x06 + warpoverlay 0x06 + wait 2 + playfram 0x05 + warpoverlay 0x05 + wait 2 + playfram 0x04 + warpoverlay 0x04 + wait 2 + playfram 0x03 + warpoverlay 0x03 + wait 2 + playfram 0x02 + warpoverlay 0x02 + wait 2 + end + +WarpAnchorSpecialState1: + playfram 0x00 + warpoverlay 0x00 + wait 2 + playfram 0x01 + warpoverlay 0x01 + wait 2 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 115 Carrier Warp Flash (protoss\carrier.grp) +# 121 Envoy Warp Flash (protoss\shuttle.grp) +# 125 Dracadin Warp Flash (protoss\dragoon.grp) +# 128 Cantavis Warp Flash (protoss\templar.grp) +# 133 Didact Warp Flash (protoss\didact.grp) +# 139 Scribe Warp Flash (protoss\probe.grp) +# 143 Scout Warp Flash (protoss\scout.grp) +# 146 Accantor Warp Flash (protoss\trilob.grp) +# 150 Witness Warp Flash (protoss\witness.grp) +# 154 Zealot Warp Flash (protoss\zealot.grp) +# 156 Templar Archives Warp Flash (protoss\archives.grp) +# 159 Aquifer Warp Flash (protoss\assim.grp) +# 162 Observatory Warp Flash (protoss\beacon.grp) +# 165 Citadel of Adun Warp Flash (protoss\citadel.grp) +# 169 Forge Warp Flash (protoss\forge.grp) +# 172 Gateway Warp Flash (protoss\gateway.grp) +# 175 Cenotaph Warp Flash (protoss\gencore.grp) +# 180 Nexus Warp Flash (protoss\nexus.grp) +# 185 Warden Warp Flash (protoss\photon.grp) +# 187 Didact Tribunal Warp Flash (protoss\prism.grp) +# 190 Pylon Warp Flash (protoss\pylon.grp) +# 193 Robotics Facility Warp Flash (protoss\robotic.grp) +# 197 Shileld Battery Warp Flash (protoss\sbattery.grp) +# 201 Stargate Warp Flash (protoss\stargate.grp) +# 205 Robotics Support Bay Warp Flash (protoss\stasis.grp) +# 209 Fleet Beacon Warp Flash (protoss\warp.grp) +.headerstart +IsId 192 +Type 1 +Init WarpFlashHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +WarpFlashHeaderInit: + playfram 0x00 + wait 1 + followmaingraphic + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 210 Warp Texture (protoss\texture.grp) +.headerstart +IsId 193 +Type 1 +Init WarpTextureInit +Death WarpTextureDeath +.headerend +# ----------------------------------------------------------------------------- # + +WarpTextureInit: + warpoverlay 0x00 + wait 1 + warpoverlay 1 + wait 1 + warpoverlay 2 + wait 1 + warpoverlay 3 + wait 1 + warpoverlay 4 + wait 1 + warpoverlay 5 + wait 1 + warpoverlay 6 + wait 1 + warpoverlay 7 + wait 1 + warpoverlay 8 + wait 1 + warpoverlay 9 + wait 1 + warpoverlay 10 + wait 1 + warpoverlay 11 + wait 1 + warpoverlay 12 + wait 1 + warpoverlay 13 + wait 1 + warpoverlay 14 + wait 1 + warpoverlay 15 + wait 1 + warpoverlay 16 + wait 1 + warpoverlay 0x11 + wait 1 + warpoverlay 18 + wait 1 + warpoverlay 19 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +WarpTextureDeath: + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 549 Archon Beam (thingy\emsBeam.grp) +.headerstart +IsId 229 +Type 1 +Init ArchonOverlayInit +Death ArchonOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +ArchonOverlayInit: + nobrkcodestart + tmprmgraphicstart + trgtrangecondjmp 70 ArchonOverlayLocal00 + playfram 0x00 + wait 1 + tmprmgraphicend + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + goto ArchonOverlayDeath + +ArchonOverlayDeath: + nobrkcodeend + wait 1 + end + +ArchonOverlayLocal00: + playfram 0x22 + wait 1 + tmprmgraphicend + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + nobrkcodeend + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 520 Particle Beam Hit (bullet\ephFire.grp) +.headerstart +IsId 230 +Type 2 +Init ParticleBeamHitInit +Death ParticleBeamHitDeath +GndAttkInit ParticleBeamHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ParticleBeamHitInit: + wait 1 + sigorder 1 + wait 1 +ParticleBeamHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 519 Dual Photon Blasters Hit (bullet\pspark.grp) +.headerstart +IsId 231 +Type 2 +Init DualPhotonBlasterHitInit +Death DualPhotonBlasterHitDeath +GndAttkInit DualPhotonBlasterHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DualPhotonBlasterHitInit: + wait 1 + sigorder 1 + wait 1 +DualPhotonBlasterHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 521 Anti-Matter Missile (bullet\hks.grp) +.headerstart +IsId 232 +Type 2 +Init AntiMatterMissileInit +Death AntiMatterMissileDeath +GndAttkInit AntiMatterMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AntiMatterMissileInit: + playfram 0x00 + wait 1 + sigorder 1 +AntiMatterMissileGndAttkInit: + wait 2 + sprol 373 0 0 # Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) + goto AntiMatterMissileGndAttkInit + +AntiMatterMissileDeath: + imgol 442 0 0 # Anti-Matter Missile Hit (thingy\HKexplod.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 522 Pulse Cannon (bullet\blastcan.grp) +.headerstart +IsId 233 +Type 2 +Init PulseCannonInit +Death PulseCannonDeath +GndAttkInit PulseCannonGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PulseCannonInit: + playsnd 65 # Bullet\BlastCan.wav + wait 1 + sigorder 1 + wait 1 +PulseCannonGndAttkInit: + playfram 0x00 + wait 1 + goto PulseCannonGndAttkInit + +PulseCannonDeath: + playsnd 9 # Misc\ExploSm.wav + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 523 Phase Disruptor (bullet\dragbull.grp) +.headerstart +IsId 234 +Type 2 +Init PhaseDisruptorInit +Death PhaseDisruptorDeath +GndAttkInit PhaseDisruptorGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhaseDisruptorInit: + wait 1 + sigorder 1 + wait 1 +PhaseDisruptorGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + goto PhaseDisruptorGndAttkInit + +PhaseDisruptorDeath: + imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 524 STA/STS Warden Overlay (bullet\epbBul.grp) +.headerstart +IsId 235 +Type 2 +Init STA_STSWardenOverlayInit +Death STA_STSWardenOverlayDeath +GndAttkInit STA_STSWardenOverlayGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +STA_STSWardenOverlayInit: + playsnd 99 # Bullet\DragBull.wav + wait 1 + sigorder 1 + wait 1 +STA_STSWardenOverlayGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto STA_STSWardenOverlayGndAttkInit + +STA_STSWardenOverlayDeath: + imgol 1163 0 0 # Warden Hit (thingy\phohit.grp) + domissiledmg + playsndbtwn 1385 1386 # Warden weapon hit 01, 02 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 525 Psionic Storm (thingy\psiStorm.grp) +.headerstart +IsId 236 +Type 14 +Init PsionicStormInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 PsionicStormSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PsionicStormInit: + playfram 0x00 + tmprmgraphicstart + wait 5 + goto PsionicStormSpecialState2 + +PsionicStormSpecialState2: + tmprmgraphicend +PsionicStormLocal00: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + goto PsionicStormLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 545 Hallucination Hit (thingy\halmind.grp) +# 546 Scanner Sweep Hit (thingy\eveCast.grp) +.headerstart +IsId 253 +Type 1 +Init HallucinationHitInit +Death HallucinationHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +HallucinationHitInit: + 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 1 +HallucinationHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 548 Psionic Shockwave Hit (thingy\emsHit.grp) +.headerstart +IsId 268 +Type 2 +Init PsionicShockwaveHitInit +Death PsionicShockwaveHitDeath +GndAttkInit PsionicShockwaveHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PsionicShockwaveHitInit: + wait 1 + sigorder 1 + wait 1 +PsionicShockwaveHitDeath: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + domissiledmg + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 424 Shield Overlay (thingy\pshield.grp) +.headerstart +IsId 276 +Type 1 +Init ShieldOverlayInit +Death ShieldOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +ShieldOverlayInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 +ShieldOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 425 Energy Pulse Underlay (thingy\explo2.grp) +.headerstart +IsId 277 +Type 1 +Init EnergyPulseUnderlayInit +Death EnergyPulseUnderlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +EnergyPulseUnderlayInit: + playsnd 636 # Protoss\TEMPLAR\PTeMov00.WAV + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +EnergyPulseUnderlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 427 Phase Disruptor Hit (thingy\HKexplod.grp) +# 442 Anti-Matter Missile Hit (thingy\HKexplod.grp) +.headerstart +IsId 285 +Type 1 +Init PhaseDisruptor_AntiMatterMissileHitInit +Death PhaseDisruptor_AntiMatterMissileHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +PhaseDisruptor_AntiMatterMissileHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +PhaseDisruptor_AntiMatterMissileHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 443 Plasma Shell/Anti-Matter Missile Overlay (thingy\HKTrail.grp) +.headerstart +IsId 286 +Type 1 +Init PlasmaShell_AntiMatterMissileOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlasmaShell_AntiMatterMissileOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 444 Plasma Shell Hit (thingy\psaExplo.grp) +.headerstart +IsId 287 +Type 1 +Init PlasmaShellHitInit +Death PlasmaShellHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +PlasmaShellHitInit: + playsnd 100 # Bullet\psaHit00.wav + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +PlasmaShellHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 114 Solarion Engines (thingy\pcaGlow.grp) +# 120 Envoy Engines (thingy\pshGlow.grp) +.headerstart +IsId 290 +Type 12 +Init SolarionEnginesInit +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 SolarionEnginesInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SolarionEnginesInit: + wait 1 + followmaingraphic + goto SolarionEnginesInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 132 Didact Engines (thingy\pabGlow.grp) +# 220 Minotaur Engines (thingy\tbaGlow.grp) +# 225 Trojan Engines (thingy\tdrGlow.grp) +# 249 Mason Engines (thingy\tscGlow.grp) +# 941 Valkyrie Engines (thingy\tbmGlow.grp) +# 942 Valkyrie Engines2 (Unused) (thingy\tbmGlow.grp) +# 943 Valkyrie Afterburners (Unused) (thingy\tbmAfter.grp) +# 1029 Centaur Engines (cm\terran\centaur-engine.grp) +# 1555 Vulture Engines +.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 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 391 Recall Field (thingy\recall.grp) +.headerstart +IsId 305 +Type 1 +Init RecallFieldInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +RecallFieldInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 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 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 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 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 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 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 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 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 1 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 365 Stasis Field (Small) (thingy\esfSmall.grp) +# 366 Stasis Field (Medium) (thingy\esfSmall.grp) +# 367 Stasis Field (Large) (thingy\esfLarge.grp) +.headerstart +IsId 306 +Type 1 +Init StasisFieldOverlayInit +Death StasisFieldOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +StasisFieldOverlayInit: + playfram 0x00 + tmprmgraphicstart + wait 1 + waitrand 2 7 + tmprmgraphicend + 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 +StasisFieldOverlayLocal00: + waitrand 1 3 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + goto StasisFieldOverlayLocal00 + +StasisFieldOverlayDeath: + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 364 Stasis Field Hit (thingy\esfHit.grp) +.headerstart +IsId 307 +Type 1 +Init StasisFieldHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +StasisFieldHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 370 Recharge Shields (Large) (thingy\sbaLarge.grp) +.headerstart +IsId 308 +Type 1 +Init RechargeShields_Large_Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +RechargeShields_Large_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 1 + wait 2 + playfram 1 + wait 2 + playfram 1 + wait 2 + playfram 1 + wait 2 + playfram 1 + wait 2 + playfram 1 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 368 Recharge Shields (Small) (thingy\sbaSmall.grp) +# 1548 Recharge Shields (Medium) (cm\protoss\recharge-shields-medium.grp) +# 370 Recharge Shields (Large) (thingy\sbaLarge.grp) +# 1549 Recharge Shields (XLarge) (cm\protoss\recharge-shields-xlarge.grp) +.headerstart +IsId 309 +Type 1 +Init RechargeShieldsInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +RechargeShieldsInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + tmprmgraphicstart + wait 2 + tmprmgraphicend + goto RechargeShieldsInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 449 Cantavis Glow (thingy\pteglow.grp) +.headerstart +IsId 310 +Type 1 +Init CantavisGlowInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +CantavisGlowInit: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 547 Archon Birth (Unused) (thingy\emsHit.grp) +.headerstart +IsId 316 +Type 1 +Init Unknown316Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Unknown316Init: + playfram 0x00 + wait 1 + imguluselo 552 2 0 # Psionic Storm Part3 (thingy\elect02a.grp) + imguluselo 550 2 1 # Psionic Storm Part1 (thingy\elect02a.grp) + imgoluselo 553 2 2 # Psionic Storm Part4 (thingy\elect02.grp) + imgoluselo 551 2 3 # Psionic Storm Part2 (thingy\elect02.grp) + wait 1 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + 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 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 550 Psionic Storm Part1 (thingy\elect02a.grp) +# 551 Psionic Storm Part2 (thingy\elect02.grp) +.headerstart +IsId 317 +Type 1 +Init PsionicStormPartVariant1Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PsionicStormPartVariant1Init: + playfram 0 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 0 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 0 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 552 Psionic Storm Part3 (thingy\elect02a.grp) +# 553 Psionic Storm Part4 (thingy\elect02.grp) +.headerstart +IsId 318 +Type 1 +Init PsionicStormPartVariant2Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PsionicStormPartVariant2Init: + playfram 0x00 + setflipstate 1 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + 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 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 557 Hallucination Death1 (thingy\ehaMed.grp) +# 558 Hallucination Death2 (thingy\ehaMed.grp) +# 559 Hallucination Death3 (thingy\ehaMed.grp) +.headerstart +IsId 321 +Type 1 +Init HallucinationDeathInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +HallucinationDeathInit: + playfram 0x00 + wait 3 + playfram 1 + wait 3 + playfram 2 + wait 3 + playfram 3 + wait 3 + playfram 4 + wait 3 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 3 + playfram 10 + wait 3 + playfram 11 + wait 3 + playfram 12 + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 584 Psi Field1 (Right Upper) (thingy\Juice01.grp) +.headerstart +IsId 333 +Type 1 +Init PsiFieldType1Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PsiFieldType1Init: + playfram 0x00 + imgol 586 -126 -77 # Psi Field2 (Right Upper) (thingy\Juice01.grp) + imgol 585 126 77 # Psi Field1 (Right Lower) (thingy\Juice02.grp) + imgol 587 -126 77 # Psi Field2 (Right Lower) (thingy\Juice02.grp) + setpos 126 -77 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 586 Psi Field2 (Right Upper) (thingy\Juice01.grp) +# 587 Psi Field2 (Right Lower) (thingy\Juice02.grp) +# 840 Unknown840 (thingy\tileset\ice\HDRadr02.grp) +# 842 6/1 Ice (thingy\tileset\ice\JGant1.grp) +# 906 6/20 Desert (thingy\tileset\desert\HDMachn2.grp) +.headerstart +IsId 334 +Type 1 +Init PsiFieldType2Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PsiFieldType2Init: + playfram 0x00 + setflipstate 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 946 Cleric Remnants (terran\tmeDeath.grp) +# 1362 Scribe Remnants (cm\protoss\scribe-death.grp) +# 1542 Evigrilisk Remains (cm\zerg\evigrilisk-remains.grp) +# 1899 Ancile Remains (cm\terran\ancile-death.grp) +.headerstart +IsId 361 +Type 1 +Init GenericRemnantsFourInit +Death GenericRemnantsFourDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFourInit: + playfram 0x00 + wait 239 +GenericRemnantsFourDeath: + 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: +# 925 Mind Tyrant Energy (protoss\darchn.grp) +.headerstart +IsId 365 +Type 13 +Init MindTyrantEnergyInit +Death MindTyrantEnergyDeath +GndAttkInit MindTyrantEnergyGndAttkInit +AirAttkInit MindTyrantEnergyGndAttkInit +Unused1 MindTyrantEnergyUnused1 +GndAttkRpt MindTyrantEnergyGndAttkInit +AirAttkRpt MindTyrantEnergyGndAttkInit +CastSpell MindTyrantEnergyCastSpell +GndAttkToIdle MindTyrantEnergyGndAttkInit +AirAttkToIdle MindTyrantEnergyGndAttkInit +Unused2 MindTyrantEnergyUnused2 +Walking MindTyrantEnergyGndAttkInit +WalkingToIdle MindTyrantEnergyGndAttkInit +SpecialState1 MindTyrantEnergySpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +MindTyrantEnergyInit: + playfram 18 + wait 1 + nobrkcodestart + wait 1 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + imgol 926 0 0 # Mind Tyrant Being (protoss\darchnT.grp) + imgol 927 0 0 # Mind Tyrant Swirl (protoss\darchnT2.grp) + sigorder 4 + nobrkcodeend + wait 2 +MindTyrantEnergyGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 7 + wait 1 + playfram 5 + wait 1 + playfram 3 + wait 1 + playfram 1 + wait 1 + goto MindTyrantEnergyGndAttkInit + +MindTyrantEnergyDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 928 0 0 # Mind Tyrant Death (protoss\PdaDeath.grp) + wait 3 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +MindTyrantEnergyUnused1: + wait 1 + nobrkcodestart + playsnd 7 # Misc\ExploLrg.wav + sprol 741 0 0 # Mind Tyrant Death (protoss\PdaDeath.grp) + wait 3 + nobrkcodeend + goto MindTyrantEnergyInit + +MindTyrantEnergyCastSpell: + wait 1 + castspell + sigorder 2 + gotorepeatattk + goto MindTyrantEnergyGndAttkInit + +MindTyrantEnergyUnused2: + playsnd 1275 # Mind Tyrant Tyranny Channel + wait 2 + sigorder 2 + gotorepeatattk + goto MindTyrantEnergyGndAttkInit + +MindTyrantEnergySpecialState1: + playsnd 617 # Protoss\TEMPLAR\PTeSum00.WAV + playfram 10 + wait 2 + playfram 11 + wait 2 +MindTyrantEnergyLocal00: + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 16 + wait 2 + playfram 15 + wait 2 + playfram 14 + wait 2 + playfram 13 + wait 2 + goto MindTyrantEnergyLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 926 Mind Tyrant Being (protoss\darchnT.grp) +.headerstart +IsId 366 +Type 12 +Init MindTyrantBeingInit +Death Generic_Wait1End +GndAttkInit MindTyrantBeingGndAttkInit +AirAttkInit MindTyrantBeingGndAttkInit +Unused1 [NONE] +GndAttkRpt MindTyrantBeingGndAttkInit +AirAttkRpt MindTyrantBeingGndAttkInit +CastSpell MindTyrantBeingCastSpell +GndAttkToIdle MindTyrantBeingGndAttkToIdle +AirAttkToIdle MindTyrantBeingGndAttkToIdle +Unused2 [NONE] +Walking MindTyrantBeingGndAttkToIdle +WalkingToIdle MindTyrantBeingGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MindTyrantBeingInit: + setfldirect 15 +MindTyrantBeingGndAttkToIdle: + playfram 0x00 + wait 4 + playfram 0x11 + wait 4 + playfram 0x22 + wait 4 + playfram 0x33 + wait 4 + playfram 0x44 + wait 4 + playfram 0x55 + wait 4 + playfram 0x66 + wait 4 + playfram 0x77 + wait 4 + playfram 0x88 + wait 4 + playfram 0x99 + wait 4 + playfram 0x88 + wait 4 + playfram 0x77 + wait 4 + playfram 0x66 + wait 4 + playfram 0x55 + wait 4 + playfram 0x44 + wait 4 + playfram 0x33 + wait 4 + playfram 0x22 + wait 4 + playfram 0x11 + wait 4 + goto MindTyrantBeingGndAttkToIdle + +MindTyrantBeingGndAttkInit: + playfram 0xaa + wait 1 + nobrkcodestart + trgtrangecondjmp 48 MindTyrantBeingLocal00 + imgoluselo 549 0 0 # Archon Beam (thingy\emsBeam.grp) + playsnd 58 # Bullet\PArFir00.wav + attack + wait 1 + nobrkcodeend + gotorepeatattk + goto MindTyrantBeingGndAttkToIdle + +MindTyrantBeingLocal00: + playsnd 58 # Bullet\PArFir00.wav + attack + wait 1 + nobrkcodeend + gotorepeatattk + goto MindTyrantBeingGndAttkToIdle + +MindTyrantBeingCastSpell: + nobrkcodestart + castspell + sigorder 2 + nobrkcodeend + gotorepeatattk + goto MindTyrantBeingGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 927 Mind Tyrant Swirl (protoss\darchnT2.grp) +.headerstart +IsId 367 +Type 1 +Init MindTyrantSwirlInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MindTyrantSwirlInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +MindTyrantSwirlLocal00: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto MindTyrantSwirlLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 928 Mind Tyrant Death (protoss\PdaDeath.grp) +.headerstart +IsId 368 +Type 0 +Init MindTyrantDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MindTyrantDeathInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 929 Lanifect (cm\protoss\lanifect.grp) +.headerstart +IsId 369 +Type 21 +Init LanifectInit +Death LanifectDeath +GndAttkInit LanifectAirAttkInit +AirAttkInit LanifectAirAttkInit +Unused1 [NONE] +GndAttkRpt LanifectAirAttkInit +AirAttkRpt LanifectAirAttkInit +CastSpell LanifectCastSpell +GndAttkToIdle LanifectGndAttkToIdle +AirAttkToIdle LanifectGndAttkToIdle +Unused2 [NONE] +Walking LanifectWalking +WalkingToIdle LanifectGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +LanifectInit: + imgul 930 0 42 # Lanifect Shadow (cm\protoss\lanifect.grp) +LanifectGndAttkToIdle: + playfram 0x00 + goto SolarionLocal00 + +LanifectDeath: + playsnd 1351 # Lanifect death 01 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 887 0 42 # Lanifect Remains + wait 1 + end + +LanifectAirAttkInit: + nobrkcodestart + playfram 0x20 + wait 1 + attackwith 2 + playsnd 1060 # Protoss\Corsair\PCorlasr2.wav + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto LanifectGndAttkToIdle + +LanifectCastSpell: + playfram 0xA0 + nobrkcodestart + wait 1 + playfram 0xC0 + wait 1 + playsnd 1059 # Protoss\Corsair\PCorWeb1.wav + castspell + nobrkcodeend + gotorepeatattk + sigorder 2 + goto LanifectGndAttkToIdle + +LanifectWalking: + playfram 0x00 + setvertpos 0 + imgol 931 0 0 # Lanifect Engines (cm\protoss\lanifect-engines.grp) + goto SkryrokorLocal00 + +LanifectWarpIn: + imgol 143 0 0 # Scout Warp Flash (protoss\scout.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 931 Lanifect Engines (thingy\pcsGlow.grp) +# 1471 Magnetar Engines (cm\terran\magnetar-engine.grp) +.headerstart +IsId 370 +Type 12 +Init LanifectEnginesInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit Generic_Wait1End +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell Generic_Wait1End +GndAttkToIdle Generic_Wait1End +AirAttkToIdle Generic_Wait1End +Unused2 [NONE] +Walking LanifectEnginesInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LanifectEnginesInit: + engframe 0 + wait 1 + engframe 17 + wait 1 + goto LanifectEnginesInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 932 Neutron Flare Overlay (Unused) (thingy\elbFireC.grp) +.headerstart +IsId 371 +Type 1 +Init Unknown371Init +Death Unknown371Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown371Init: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 1 +Unknown371Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 933 Cabalist (protoss\dtemplar.grp) +.headerstart +IsId 372 +Type 12 +Init CabalistInit +Death CabalistDeath +GndAttkInit CabalistGndAttkInit +AirAttkInit [NONE] +Unused1 CabalistUnused1 +GndAttkRpt CabalistGndAttkInit +AirAttkRpt [NONE] +CastSpell CabalistCastSpell +GndAttkToIdle CabalistGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking CabalistWalking +WalkingToIdle CabalistGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CabalistInit: + imgul 1617 0 0 # Cabalist Shadow (cm\protoss\cabalist-shadow.grp) + playfram 0xdd +CabalistGndAttkToIdle: + playfram 0xdd + goto SkryrokorLocal00 + +CabalistDeath: + playsnd 1920 # Cabalist death 01 + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +CabalistUnused1: + wait 1 + nobrkcodestart + playsnd 1921 # Cabalist revive 01 + imgol 1445 0 0 # Zealot death reversed + wait 11 + setfldirect 12 + nobrkcodeend + goto CabalistGndAttkToIdle + +CabalistGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + attackmelee 1 111 # Bullet\UZeFir00.wav + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto CabalistGndAttkToIdle + +CabalistCastSpell: + castspell + sigorder 2 + gotorepeatattk + goto CabalistGndAttkToIdle + +CabalistWalking: + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff + move 5 + wait 1 + playfram 0x110 + move 5 + wait 1 + playfram 0x121 + goto CabalistWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 964 Neutron Flare (thingy\PcsSplsh.grp) +.headerstart +IsId 373 +Type 2 +Init NeutronFlareInit +Death NeutronFlareDeath +GndAttkInit NeutronFlareDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NeutronFlareInit: + wait 1 + sigorder 1 + wait 1 +NeutronFlareDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 951 Disruption Web (thingy\Disrupt.grp) +.headerstart +IsId 374 +Type 1 +Init DisruptionWebInit +Death DisruptionWebDeath +.headerend +# ----------------------------------------------------------------------------- # + +DisruptionWebInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 +DisruptionWebLocal00: + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 3 + goto DisruptionWebLocal00 + +DisruptionWebDeath: + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1380 Exemplar (cm\protoss\exemplar.grp) +.headerstart +IsId 376 +Type 21 +Init ExemplarInit +Death ExemplarDeath +GndAttkInit ExemplarGndAttkInit +AirAttkInit ExemplarGndAttkInit +Unused1 [NONE] +GndAttkRpt ExemplarGndAttkInit +AirAttkRpt ExemplarGndAttkInit +CastSpell [NONE] +GndAttkToIdle ExemplarGndAttkToIdle +AirAttkToIdle ExemplarGndAttkToIdle +Unused2 [NONE] +Walking ExemplarWalking +WalkingToIdle ExemplarWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ExemplarInit: + imgul 1381 0 42 # Exemplar Shadow (cm\protoss\exemplar.grp) +ExemplarGndAttkToIdle: + playfram 0x00 + goto ExemplarWalkingToIdle + +ExemplarWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto ExemplarWalkingToIdle + +ExemplarDeath: + playsnd 2860 # Exemplar death 01 + imgol 1565 0 0 # Protoss Explosion (Medium) + wait 5 + imgol 1563 -8 0 # Exemplar Death + imgol 1563 0 -8 # Exemplar Death + wait 2 + imgol 1563 6 -4 # Exemplar Death + imgol 1563 -4 6 # Exemplar Death + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +ExemplarGndAttkInit: + nobrkcodestart + playsndbtwn 1222 1226 # Exemplar weaponfire 01, 02, 03, 04, 05 + playfram 0x11 + attackwith 1 + wait 2 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +ExemplarWalking: + playfram 0x00 + setvertpos 0 + imgol 1202 0 0 # Exemplar Engines (cm\protoss\exemplar-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 973 Mind Control Hit (Small) (thingy\PDaMyoSm.grp) +# 974 Mind Control Hit (Medium) (thingy\PDaMyoMd.grp) +# 975 Mind Control Hit (Large) (thingy\PDaMyoLg.grp) +.headerstart +IsId 390 +Type 1 +Init MindControlHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MindControlHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 0x11 + wait 1 + playfram 18 + wait 1 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 979 Feedback (Small) (thingy\PDaPsySm.grp) +# 980 Feedback (Medium) (thingy\PDaPsyMd.grp) +# 981 Feedback Hit (Large) (thingy\PDaPsyLg.grp) +.headerstart +IsId 392 +Type 1 +Init FeedbackInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +FeedbackInit: + playfram 0 + wait 1 + playfram 1 + wait 1 + 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 0x11 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 982 Maelstrom Overlay (Small) (thingy\PDaParSm.grp) +# 983 Maelstrom Overlay (Medium) (thingy\PDaParMd.grp) +# 984 Maelstrom Overlay (Large) (thingy\PDaParLg.grp) +.headerstart +IsId 393 +Type 1 +Init MaelstromOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MaelstromOverlayInit: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + goto MaelstromOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 934 Warp Gate (protoss\XwarpGat.grp) +.headerstart +IsId 406 +Type 20 +Init WarpGateInit +Death WarpGateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt WarpGateAlmostBuilt +Built WarpGateBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking WarpGateIsWorking +WorkingToIdle WarpGateIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WarpGateInit: + imgul 935 0 0 # Warp Gate Shadow (protoss\pwgShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +WarpGateDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +WarpGateAlmostBuilt: + playfram 0x00 + goto WarpGateBuilt + +WarpGateBuilt: + imgol 936 0 0 + goto SkryrokorLocal00 + +WarpGateIsWorking: + playfram 0x00 + goto WarpGateIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 936 Warp Gate Overlay (protoss\XwarpFir.grp) +.headerstart +IsId 409 +Type 24 +Init WarpGateOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking WarpGateOverlayInit +WorkingToIdle WarpGateOverlayInit +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WarpGateOverlayInit: + 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 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + goto WarpGateOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 937 Xel'Naga Temple (protoss\XelTempl.grp) +.headerstart +IsId 410 +Type 20 +Init XelNagaTempleInit +Death XelNagaTempleDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt InfestedTerranWalkingToIdle +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking InfestedTerranWalkingToIdle +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +XelNagaTempleInit: + imgul 938 0 0 # Xel'Naga Temple Shadow (protoss\pxtShad.grp) + goto InfestedTerranWalkingToIdle + +XelNagaTempleDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 998 Maelstrom Hit (thingy\MaelHit.grp) +.headerstart +IsId 411 +Type 1 +Init MaelstromHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MaelstromHitInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1021 Aurora (cm\protoss\aurora.grp) +.headerstart +IsId 418 +Type 21 +Init AuroraInit +Death AuroraDeath +GndAttkInit AuroraGndAttkInit +AirAttkInit AuroraGndAttkInit +Unused1 [NONE] +GndAttkRpt AuroraGndAttkInit +AirAttkRpt AuroraGndAttkInit +CastSpell [NONE] +GndAttkToIdle AuroraGndAttkToIdle +AirAttkToIdle AuroraGndAttkToIdle +Unused2 [NONE] +Walking AuroraWalking +WalkingToIdle AuroraWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AuroraInit: + imgul 1022 0 42 # Aurora Shadow (cm\protoss\aurora.grp) +AuroraGndAttkToIdle: + playfram 0x00 + goto AuroraWalkingToIdle + +AuroraWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto AuroraWalkingToIdle + +AuroraDeath: + playsnd 533 # Protoss\Aurora\PScDth00.WAV + imgol 1164 0 0 # Beta Protoss Explosion (small) (thingy\pexplode.grp) + wait 3 + lowsprul 847 0 42 # Protoss Unit Rubble Small + wait 1 + end + +AuroraGndAttkInit: + playfram 0x20 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + gotorepeatattk + goto SkryrokorLocal00 + +AuroraWalking: + playfram 0x00 + setvertpos 0 + imgol 1199 0 0 # Aurora Engines (cm\protoss\aurora-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1023 Panoptus (protoss\panoptus.grp) +.headerstart +IsId 419 +Type 21 +Init PanoptusInit +Death PanoptusDeath +GndAttkInit PanoptusGndAttkInit +AirAttkInit PanoptusGndAttkInit +Unused1 [NONE] +GndAttkRpt PanoptusGndAttkInit +AirAttkRpt PanoptusGndAttkInit +CastSpell [NONE] +GndAttkToIdle PanoptusGndAttkToIdle +AirAttkToIdle PanoptusGndAttkToIdle +Unused2 [NONE] +Walking PanoptusWalking +WalkingToIdle PanoptusWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +PanoptusInit: + imgul 1024 0 42 # Panoptus Shadow (cm\protoss\panoptus.grp) +PanoptusGndAttkToIdle: + playfram 0x00 + goto PanoptusWalkingToIdle + +PanoptusWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto PanoptusWalkingToIdle + +PanoptusDeath: + playsnd 533 # Protoss\Panoptus\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +PanoptusGndAttkInit: + playfram 0x20 + playsndbtwn 2020 2023 # Panoptus weaponfire 01, 02, 03, 04 + attack + wait 2 + playfram 0x00 + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +PanoptusWalking: + playfram 0x00 + setvertpos 0 + imgol 142 0 0 # Panoptus Engines (thingy\pscGlow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1050 Ancestral Archives (cm\protoss\ancestral-archives.grp) +.headerstart +IsId 435 +Type 27 +Init AncestralArchivesInit +Death AncestralArchivesDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built AncestralArchivesBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AncestralArchivesIsWorking +WorkingToIdle AncestralArchivesLocal00 +WarpIn AncestralArchivesWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable AncestralArchivesDisabled +Burrow [NONE] +UnBurrow [NONE] +Enable AncestralArchivesLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +AncestralArchivesInit: + imgul 1051 0 0 # Ancestral Archives Shadow (cm\protoss\ancestral-archives-shadow.grp) +AncestralArchivesLocal00: + playfram 0x00 + goto SkryrokorLocal00 + +AncestralArchivesDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +AncestralArchivesBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +AncestralArchivesWarpIn: + imgol 1052 0 0 # Ancestral Archives Warp Flash (cm\protoss\ancestral-archives.grp) + goto SkryrokorLocal00 + +AncestralArchivesIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0 + goto AncestralArchivesIsWorking + +AncestralArchivesDisabled: + playfram 3 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1071 Simulacrum (protoss\simulacrum.grp) +.headerstart +IsId 443 +Type 21 +Init SimulacrumInit +Death SimulacrumDeath +GndAttkInit SimulacrumGndAttkInit +AirAttkInit SimulacrumGndAttkInit +Unused1 [NONE] +GndAttkRpt SimulacrumGndAttkInit +AirAttkRpt SimulacrumGndAttkInit +CastSpell [NONE] +GndAttkToIdle SimulacrumWalkingToIdle +AirAttkToIdle SimulacrumWalkingToIdle +Unused2 [NONE] +Walking SimulacrumWalking +WalkingToIdle SimulacrumWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn SimulacrumWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +SimulacrumInit: + imgul 1072 0 0 # Simulacrum Shadow (protoss\pdrShad.grp) +SimulacrumWalkingToIdle: + playfram 0x33 + goto SkryrokorLocal00 + +SimulacrumDeath: + playsndbtwn 1256 1258 # Simulacrum death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +SimulacrumGndAttkInit: + playfram 0x33 + wait 1 + nobrkcodestart + playsndbtwn 1427 1434 # Simulacrum weapon fire 01, 02, 03, 04, 05, 06, 07, 08 + attackwith 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SimulacrumWalkingToIdle + +SimulacrumWalking: + move 4 + wait 1 + playfram 0x44 + move 5 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 5 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + goto SimulacrumWalking + +SimulacrumWarpIn: + imgol 125 0 0 # Simulacrum Warp Flash (protoss\simulacrum.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1098 Empyrean (cm\protoss\empyrean.grp) +.headerstart +IsId 453 +Type 21 +Init EmpyreanInit +Death EmpyreanDeath +GndAttkInit EmpyreanGndAttkInit +AirAttkInit EmpyreanGndAttkInit +Unused1 [NONE] +GndAttkRpt EmpyreanGndAttkInit +AirAttkRpt EmpyreanGndAttkInit +CastSpell [NONE] +GndAttkToIdle EmpyreanGndAttkToIdle +AirAttkToIdle EmpyreanGndAttkToIdle +Unused2 [NONE] +Walking EmpyreanWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn EmpyreanWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +EmpyreanInit: + imgul 1099 0 42 # Empyrean Shadow (protoss\empyrean.grp) +EmpyreanGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +EmpyreanDeath: + playsndbtwn 3050 3052 # Empyrean death 01, 02, 03 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 223 0 42 # Protoss Building Rubble Small + wait 1 + end + +EmpyreanGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1323 1325 # Empyrean attack 01, 02, 03 + attackwith 1 + wait 4 + attackwith 1 + wait 4 + attackwith 1 + wait 4 + attackwith 1 + nobrkcodeend + gotorepeatattk + goto EmpyreanGndAttkToIdle + +EmpyreanWalking: + setvertpos 0 + imgol 1203 0 0 # Empyrean Engines (cm\protoss\empyrean-engine.grp) + goto SkryrokorLocal00 + +EmpyreanWarpIn: + imgol 143 0 0 # Empyrean Warp Flash (protoss\empyrean.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1102 Phase Link (cm\effect\phaselink-small.grp) +# 1103 Phase Link (cm\effect\phaselink-medium.grp) +# 1104 Phase Link (cm\effect\phaselink-large.grp) +.headerstart +IsId 455 +Type 1 +Init PhaseLinkInit +Death PhaseLinkDeath +.headerend +# ----------------------------------------------------------------------------- # + +PhaseLinkInit: + playfram 0x00 + wait 2 +PhaseLinkLocal00: + playfram 1 + 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 1 +PhaseLinkDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1105 Exemplar Laser Impact (cm\protoss\exemplar-impact.grp) +.headerstart +IsId 456 +Type 1 +Init ExemplarLaserImpactInit +Death ExemplarLaserImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +ExemplarLaserImpactInit: + playfram 0x00 + wait 1 +ExemplarLaserImpactLocal00: + playfram 1 + 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 +ExemplarLaserImpactDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1106 Augur Death (cm\protoss\augur-death.grp) +.headerstart +IsId 457 +Type 1 +Init AugurDeathInit +Death AugurDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +AugurDeathInit: + playfram 0x00 + wait 1 +AugurDeathLocal00: + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + goto AugurDeathDeath + +AugurDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 151 Zealot (Starbound) (faction-p\zealot-starbound.grp) +.headerstart +IsId 797 +Type 21 +Init ZealotInit +Death ZealotDeath +GndAttkInit ZealotGndAttkInit +AirAttkInit [NONE] +Unused1 ZealotUnused1 +GndAttkRpt ZealotGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle ZealotGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking ZealotWalking +WalkingToIdle ZealotWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ZealotWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ZealotStarboundGndAttkInit: + playfram 0x00 + wait 1 + goto ZealotWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1973 Cedent (cm\protoss\cedent.grp) +.headerstart +IsId 804 +Type 27 +Init CedentInit +Death AquiferDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 CedentSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built AquiferBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AquiferBuilt +WorkingToIdle AquiferBuilt +WarpIn CedentWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +CedentInit: + imgul 1974 0 0 # Cedent Shadow (cm\protoss\cedent-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CedentWarpIn: + imgol 1975 0 0 # Cedent Warp Flash (cm\protoss\cedent.grp) +CedentSpecialState1: + wait 1 + creategasoverlays 0 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + creategasoverlays 0 + waitrand 5 50 + waitrand 5 50 + creategasoverlays 2 + waitrand 5 50 + goto CedentSpecialState1 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1794 Extatus (cm\faction-p\extatus.grp) +.headerstart +IsId 808 +Type 21 +Init ExtatusInit +Death AuroraDeath +GndAttkInit AuroraGndAttkInit +AirAttkInit AuroraGndAttkInit +Unused1 [NONE] +GndAttkRpt AuroraGndAttkInit +AirAttkRpt AuroraGndAttkInit +CastSpell [NONE] +GndAttkToIdle AuroraGndAttkToIdle +AirAttkToIdle AuroraGndAttkToIdle +Unused2 [NONE] +Walking ExtatusWalking +WalkingToIdle AuroraWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ExtatusInit: + imgul 1795 0 42 # Extatus Shadow (cm\faction-p\extatus.grp) + goto AuroraGndAttkToIdle + +ExtatusWalking: + playfram 0x00 + setvertpos 0 + imgol 1199 0 0 # Extatus Engines (cm\faction-p\extatus-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1987 Unar Orbital (cm\protoss\unar-orbital.grp) +.headerstart +IsId 810 +Type 2 +Init PhaseDisruptorInit +Death UnarOrbitalDeath +GndAttkInit PhaseDisruptorGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +UnarOrbitalDeath: + imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2001 Dracadin (Order of the Sacred Saber) (faction-p\dracadin-order.grp) +.headerstart +IsId 813 +Type 21 +Init DracadinOrderInit +Death DracadinDeath +GndAttkInit DracadinGndAttkInit +AirAttkInit DracadinGndAttkInit +Unused1 DracadinUnused1 +GndAttkRpt DracadinGndAttkRpt +AirAttkRpt DracadinGndAttkRpt +CastSpell [NONE] +GndAttkToIdle DracadinGndAttkToIdle +AirAttkToIdle DracadinGndAttkToIdle +Unused2 [NONE] +Walking DracadinWalking +WalkingToIdle DracadinWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn DracadinWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +DracadinOrderInit: + imgul 2002 0 0 # Dracadin Order Shadow (faction-p\dracadin-order-shadow.grp) + goto DracadinWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1115 Star Sovereign (cm\protoss\starsovereign.grp) +.headerstart +IsId 462 +Type 21 +Init StarSovereignInit +Death StarSovereignDeath +GndAttkInit StarSovereignGndAttkInit +AirAttkInit StarSovereignGndAttkInit +Unused1 StarSovereignUnused1 +GndAttkRpt StarSovereignGndAttkInit +AirAttkRpt StarSovereignGndAttkInit +CastSpell StarSovereignCastSpell +GndAttkToIdle StarSovereignGndAttkToIdle +AirAttkToIdle StarSovereignGndAttkToIdle +Unused2 [NONE] +Walking StarSovereignWalking +WalkingToIdle StarSovereignWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn StarSovereignWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +StarSovereignInit: + imgul 1116 0 42 # Star Sovereign Shadow (cm\protoss\starsovereign.grp) +StarSovereignGndAttkToIdle: + playfram 0x00 + goto StarSovereignWalkingToIdle + +StarSovereignWalkingToIdle: + setvertpos 0 + goto SkryrokorLocal00 + +StarSovereignDeath: + playsndbtwn 1393 1395 # Star Sovereign death 01, 02, 03 + imgol 1567 0 0 # Star Sovereign Death + wait 2 + imgol 1566 24 24 # Protoss Explosion (Large) + wait 3 + imgol 1566 -24 -24 # Protoss Explosion (Large) + wait 1 + imgol 1565 0 0 # Protoss Explosion (Medium) + wait 2 + imgol 1565 24 -24 # Protoss Explosion (Medium) + wait 3 + imgol 1565 -24 24 # Protoss Explosion (Medium) + wait 1 + imgol 1566 0 0 # Protoss Explosion (Large) + wait 3 + lowsprul 224 0 42 # Protoss Building Rubble Large + wait 1 + end + +StarSovereignUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsndbtwn 1701 1703 # Star Sovereign revive 01, 02, 03 + sprol 745 -24 24 + wait 2 + sprol 745 -24 24 + wait 3 + sprol 745 24 -24 + wait 1 + sprol 745 0 0 + wait 2 + sprol 745 -24 -24 + wait 3 + sprol 745 24 24 + wait 1 + sprol 745 0 0 + wait 3 + setfldirect 13 + tmprmgraphicend + nobrkcodeend + goto StarSovereignWalkingToIdle + +StarSovereignGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x20 + playsndbtwn 1227 1230 # Star Sovereign weapon fire 01, 02, 03, 04 + attackwith 1 + attackwith 1 + wait 2 + playfram 0x00 + gotorepeatattk + goto SkryrokorLocal00 + +StarSovereignCastSpell: + wait 1 + nobrkcodestart + wait 20 + imgul 1251 0 30 # Grief of All Gods channel + wait 100 + imgul 1254 0 60 # Grief of All Gods Blast + call StarSovereignLocal01 + call StarSovereignLocal00 + call StarSovereignLocal00 + call StarSovereignLocal00 + call StarSovereignLocal02 + call StarSovereignLocal02 + call StarSovereignLocal02 + call StarSovereignLocal02 + call StarSovereignLocal02 + sprul 635 0 60 + wait 36 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +StarSovereignLocal00: + imgul 1253 0 60 +StarSovereignLocal01: + wait 6 + goto StarSovereignLocal03 + +StarSovereignLocal02: + imgul 1253 0 60 + wait 6 + sigorder 64 +StarSovereignLocal03: + sigorder 8 + wait 6 + sigorder 16 + wait 6 + sigorder 32 + wait 6 + sigorder 64 + sigorder 8 + wait 6 + sigorder 16 + wait 6 + sigorder 32 + return + +StarSovereignWalking: + setvertpos 0 +# imgol 1205 0 0 # Star Sovereign Engines (cm\protoss\starsovereign-engine.grp) + goto SkryrokorLocal00 + +StarSovereignWarpIn: + imgol 143 0 0 # Star Sovereign Warp Flash (protoss\starsovereign.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1120 Exemplar Projectile (cm\protoss\exemplar-weapon.grp) +.headerstart +IsId 465 +Type 2 +Init ExemplarTorpedoInit +Death ExemplarTorpedoDeath +GndAttkInit ExemplarTorpedoGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ExemplarTorpedoInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +ExemplarTorpedoGndAttkInit: + playfram 0x00 + wait 2 + goto ExemplarTorpedoLocal01 + +ExemplarTorpedoLocal01: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x00 + wait 2 + goto ExemplarTorpedoLocal01 + +ExemplarTorpedoDeath: + imgol 1105 0 0 # Exemplar weapon impact + playsndbtwn 3057 3059 # Exemplar weaponhit 01, 02, 03 + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1122 Argosy (cm\protoss\argosy.grp) +.headerstart +IsId 467 +Type 27 +Init ArgosyInit +Death ArgosyDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ArgosySpecialState1 +SpecialState2 ArgosySpecialState2 +AlmostBuilt ArgosyAlmostBuilt +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking ArgosyIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn ArgosyAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable InfestedTerranWalkingToIdle +Burrow [NONE] +UnBurrow [NONE] +Enable InfestedTerranWalkingToIdle +.headerend +# ----------------------------------------------------------------------------- # + +ArgosyInit: + imgul 1123 0 0 # Argosy Shadow (cm\protoss\argosy-shad.grp) + goto InfestedTerranWalkingToIdle + +ArgosyDeath: + playfram 0x00 + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +ArgosySpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + goto SkryrokorLocal00 + +ArgosySpecialState2: + wait 1 + goto InfestedTerranWalkingToIdle + +ArgosyAlmostBuilt: + imgol 1124 0 0 # Argosy Warp Flash (cm\protoss\argosy.grp) + goto SkryrokorLocal00 + +ArgosyIsWorking: + 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 0x00 + wait 2 + goto ArgosyIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1122 Crucible (cm\protoss\crucible.grp) +.headerstart +IsId 470 +Type 27 +Init CrucibleInit +Death CrucibleDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 CrucibleSpecialState1 +SpecialState2 CrucibleSpecialState2 +AlmostBuilt CrucibleAlmostBuilt +Built CrucibleBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking CrucibleIsWorking +WorkingToIdle CrucibleWorkingToIdle +WarpIn CrucibleAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable InfestedTerranWalkingToIdle +Burrow [NONE] +UnBurrow [NONE] +Enable CrucibleEnable +.headerend +# ----------------------------------------------------------------------------- # + +CrucibleInit: + imgul 1130 0 0 # Crucible Shadow (cm\protoss\crucible-shad.grp) + playfram 0x00 + wait 1 + goto CrucibleBuilt + +CrucibleBuilt: + wait 1 + goto CrucibleIsWorking + +CrucibleIsWorking: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 12 + wait 2 + playfram 11 + wait 2 + playfram 10 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto CrucibleIsWorking + +CrucibleDeath: + playfram 0x00 + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +CrucibleSpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + goto SkryrokorLocal00 + +CrucibleSpecialState2: + wait 1 + goto CrucibleWorkingToIdle + +CrucibleWorkingToIdle: + playfram 0x00 + wait 1 + goto CrucibleBuilt + +CrucibleAlmostBuilt: + imgol 1131 0 0 # Crucible Warp Flash (cm\protoss\crucible.grp) + goto CrucibleBuilt + +CrucibleEnable: + playfram 0x00 + wait 2 + goto CrucibleWorkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1135 Gladius (cm\protoss\gladius.grp) +.headerstart +IsId 472 +Type 21 +Init GladiusInit +Death GladiusDeath +GndAttkInit GladiusGndAttkInit +AirAttkInit GladiusGndAttkInit +Unused1 [NONE] +GndAttkRpt GladiusGndAttkInit +AirAttkRpt GladiusGndAttkInit +CastSpell [NONE] +GndAttkToIdle GladiusGndAttkToIdle +AirAttkToIdle GladiusGndAttkToIdle +Unused2 [NONE] +Walking GladiusWalking +WalkingToIdle GladiusWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +GladiusInit: + imgul 1136 0 42 # Gladius Shadow (cm\protoss\gladius.grp) +GladiusGndAttkToIdle: + playfram 0x00 + goto GladiusWalkingToIdle + +GladiusWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto GladiusWalkingToIdle + +GladiusDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +GladiusGndAttkInit: + nobrkcodestart + playsndbtwn 1926 1928 # Gladius weaponfire 01, 02, 03 + playfram 0x20 + attackwith 1 + wait 2 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +GladiusWalking: + setvertpos 0 + imgol 1204 0 0 # Gladius Engines (cm\protoss\gladius-engine.grp) + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1137 Magister (cm\protoss\magister.grp) +.headerstart +IsId 473 +Type 21 +Init MagisterInit +Death MagisterDeath +GndAttkInit MagisterGndAttkInit +AirAttkInit MagisterGndAttkInit +Unused1 [NONE] +GndAttkRpt MagisterGndAttkInit +AirAttkRpt MagisterGndAttkInit +CastSpell [NONE] +GndAttkToIdle MagisterGndAttkToIdle +AirAttkToIdle MagisterGndAttkToIdle +Unused2 [NONE] +Walking MagisterWalking +WalkingToIdle MagisterWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +MagisterInit: + imgul 1138 0 42 # Magister Shadow (cm\protoss\magister.grp) +MagisterGndAttkToIdle: + playfram 0x00 + goto MagisterWalkingToIdle + +MagisterWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto MagisterWalkingToIdle + +MagisterDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +MagisterGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x20 + wait 1 + playsndbtwn 1313 1315 # Magister attack 01, 02, 03 + attackwith 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +MagisterWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1139 Vassal (cm\protoss\vassal.grp) +.headerstart +IsId 474 +Type 21 +Init VassalInit +Death VassalDeath +GndAttkInit VassalGndAttkInit +AirAttkInit VassalGndAttkInit +Unused1 [NONE] +GndAttkRpt VassalGndAttkInit +AirAttkRpt VassalGndAttkInit +CastSpell [NONE] +GndAttkToIdle VassalGndAttkToIdle +AirAttkToIdle VassalGndAttkToIdle +Unused2 [NONE] +Walking VassalWalking +WalkingToIdle VassalWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +VassalInit: + imgul 1140 0 42 # Vassal Shadow (cm\protoss\vassal.grp) +VassalGndAttkToIdle: + playfram 0x00 + goto VassalWalkingToIdle + +VassalWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto VassalWalkingToIdle + +VassalDeath: + playsndbtwn 3060 3062 # Vassal death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 847 0 42 # Protoss Unit Rubble Small + wait 1 + end + +VassalGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x20 + playsndbtwn 1217 1221 # Vassal weaponfire 01, 02, 03, 04, 05 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +VassalWalking: + setvertpos 0 + playfram 0x00 + imgol 1206 0 0 # Vassal Engines (cm\protoss\vassal-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1159 Sanctum of Sorrow (cm\protoss\sanctumofsorrow.grp) +.headerstart +IsId 486 +Type 27 +Init SanctumofSorrowInit +Death SanctumofSorrowDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SanctumofSorrowBuilt +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking SanctumofSorrowIsWorking +WorkingToIdle SanctumofSorrowBuilt +WarpIn SanctumofSorrowWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SanctumofSorrowDisable +Burrow [NONE] +UnBurrow [NONE] +Enable SanctumofSorrowBuilt +.headerend +# ----------------------------------------------------------------------------- # + +SanctumofSorrowInit: + playfram 0x00 + imgul 1160 0 0 # Sanctum of Sorrow Shadow (cm\protoss\sanctumofsorrow-shad.grp) + goto SkryrokorLocal00 + +SanctumofSorrowDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +SanctumofSorrowBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +SanctumofSorrowIsWorking: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0 + goto SanctumofSorrowIsWorking + +SanctumofSorrowWarpIn: + imgol 1161 0 0 # Sanctum of Sorrow Warp Flash (cm\protoss\sanctumofsorrow.grp) + goto SkryrokorLocal00 + +SanctumofSorrowDisable: + playfram 3 + wait 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1163 Warden Hit (thingy\phohit.grp) +.headerstart +IsId 487 +Type 1 +Init WardenHitInit +Death WardenHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +WardenHitInit: + playfram 0x00 + wait 1 + playfram 2 + wait 1 + playfram 4 + wait 1 + playfram 6 + wait 1 + playfram 8 +WardenHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1164 Beta Protoss Explosion (small) (thingy\pexplode.grp) +.headerstart +IsId 488 +Type 1 +Init ProtossExplosionSmallInit +Death ProtossExplosionSmallDeath +.headerend +# ----------------------------------------------------------------------------- # + +ProtossExplosionSmallInit: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 1 +ProtossExplosionSmallDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1165 Aurora Last Orders Impact (thingy\tBangS.grp) +.headerstart +IsId 489 +Type 1 +Init LastOrdersImpactInit +Death LastOrdersImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +LastOrdersImpactInit: + 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 1 +LastOrdersImpactDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1171 Atreus (cm\protoss\atreus.grp) +.headerstart +IsId 492 +Type 21 +Init AtreusInit +Death AtreusDeath +GndAttkInit AtreusGndAttkInit +AirAttkInit AtreusGndAttkInit +Unused1 [NONE] +GndAttkRpt AtreusGndAttkInit +AirAttkRpt AtreusGndAttkInit +CastSpell [NONE] +GndAttkToIdle AtreusGndAttkToIdle +AirAttkToIdle AtreusGndAttkToIdle +Unused2 [NONE] +Walking AtreusWalking +WalkingToIdle AtreusGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn AtreusWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AtreusInit: + imgul 1173 0 0 # Atreus Shadow (cm\protoss\atreus-shad.grp) + goto AtreusGndAttkToIdle + +AtreusGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +AtreusDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 846 0 7 # Protoss Unit Rubble Medium + wait 1 + end + +AtreusGndAttkInit: + playfram 0x00 +AtreusGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x220 + playsndbtwn 1788 1790 # Atreus weapon fire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto AtreusGndAttkToIdle + +AtreusWalking: + 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 + move 4 + wait 1 + playfram 0x200 + goto AtreusWalking + +AtreusWarpIn: + imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1174 Amaranth (cm\protoss\amaranth.grp) +.headerstart +IsId 493 +Type 21 +Init AmaranthInit +Death AmaranthDeath +GndAttkInit AmaranthGndAttkInit +AirAttkInit AmaranthGndAttkInit +Unused1 [NONE] +GndAttkRpt AmaranthGndAttkRpt +AirAttkRpt AmaranthGndAttkRpt +CastSpell AmaranthCastSpell +GndAttkToIdle AmaranthGndAttkToIdle +AirAttkToIdle AmaranthGndAttkToIdle +Unused2 [NONE] +Walking AmaranthWalking +WalkingToIdle AmaranthWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn AmaranthWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AmaranthInit: + imgul 1175 0 -3 # Amaranth Shadow (cm\protoss\amaranth-shad.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +AmaranthGndAttkToIdle: + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +AmaranthDeath: + playsnd 741 # Protoss\DARKTEMPLAR\PDTDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +AmaranthGndAttkInit: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + goto AmaranthGndAttkRpt +AmaranthGndAttkRpt: + nobrkcodestart + playfram 0x44 + wait 1 + playfram 0x55 + playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 + attackmelee 4 3063 3064 3065 3066 # Amaranth weaponhit 01, 02, 03, 04 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + attackmelee 4 3063 3064 3065 3066 # Amaranth weaponhit 01, 02, 03, 04 + wait 1 + playfram 0x88 + nobrkcodeend + wait 1 + playfram 0x11 + wait 1 + gotorepeatattk + goto AmaranthGndAttkToIdle + +AmaranthCastSpell: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + nobrkcodestart + playfram 0x44 + wait 1 + playfram 0x55 + playsnd 111 + castspell + sigorder 2 + attackwith 1 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + nobrkcodeend + wait 1 + playfram 0x11 + wait 1 + gotorepeatattk + goto SkryrokorLocal00 + +AmaranthWalking: + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + 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 5 + wait 1 + playfram 0x121 + goto AmaranthWalking + +AmaranthWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +AmaranthWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1170 Ecclesiast (cm\protoss\ecclesiast.grp) +.headerstart +IsId 497 +Type 21 +Init EcclesiastInit +Death EcclesiastDeath +GndAttkInit EcclesiastGndAttkInit +AirAttkInit EcclesiastGndAttkInit +Unused1 EcclesiastUnused1 +GndAttkRpt EcclesiastGndAttkRpt +AirAttkRpt EcclesiastGndAttkRpt +CastSpell [NONE] +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle +Unused2 [NONE] +Walking EcclesiastWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn EcclesiastWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +EcclesiastInit: + imgul 1172 0 0 # Ecclesiast Shadow (cm\protoss\ecclesiast-shad.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +EcclesiastGndAttkToIdle: + playfram 0x180 + wait 1 + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + playfram 0x120 + wait 1 + goto InfestedTerranWalkingToIdle + +EcclesiastDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 3 + lowsprul 818 0 0 # Ecclesiast Remains + wait 1 + end + +EcclesiastUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1186 # Cantavis revive 01 + imgol 1445 0 0 # Zealot death reversed + wait 12 + setfldirect 12 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +EcclesiastGndAttkInit: + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + goto EcclesiastGndAttkRpt +EcclesiastGndAttkRpt: + wait 1 + nobrkcodestart + attackwith 1 + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto EcclesiastGndAttkToIdle + +EcclesiastWalking: + move 5 + wait 1 + playfram 0x100 + move 5 + wait 1 + playfram 0x20 + move 5 + wait 1 + playfram 0x40 + move 5 + wait 1 + playfram 0x60 + move 5 + wait 1 + playfram 0x80 + move 5 + wait 1 + playfram 0xA0 + move 5 + wait 1 + playfram 0xC0 + move 5 + wait 1 + playfram 0xE0 + goto EcclesiastWalking + +EcclesiastWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1182 Idol (cm\protoss\idol.grp) +.headerstart +IsId 498 +Type 12 +Init IdolInit +Death IdolDeath +GndAttkInit IdolGndAttkInit +AirAttkInit IdolGndAttkInit +Unused1 [NONE] +GndAttkRpt IdolGndAttkRpt +AirAttkRpt IdolGndAttkRpt +CastSpell [NONE] +GndAttkToIdle IdolGndAttkToIdle +AirAttkToIdle IdolGndAttkToIdle +Unused2 [NONE] +Walking IdolWalking +WalkingToIdle IdolGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IdolInit: + imgul 1183 0 0 # Idol Shadow (cm\protoss\idol-shad.grp) + playfram 0x77 + goto SkryrokorLocal00 + +IdolGndAttkToIdle: + playfram 0x88 + wait 1 + playfram 0x77 + goto SkryrokorLocal00 + +IdolDeath: + playsndbtwn 3053 3056 # Idol death 01, 02, 03, 04 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 947 0 0 # Idol remains (cm\protoss\idol-death.grp) + wait 1 + end + +IdolGndAttkInit: + playfram 0x88 + wait 1 + playfram 0x99 +IdolGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0xbb + attack + playsndbtwn 1268 1272 # Idol weaponfire 01, 02, 03, 04, 05 + wait 1 + playfram 0x99 + wait 3 + playfram 0xbb + attack + playsndbtwn 1268 1272 # Idol weaponfire 01, 02, 03, 04, 05 + wait 1 + playfram 0x99 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto IdolGndAttkToIdle + +IdolWalking: + move 5 + wait 1 + playfram 0x00 + 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 + goto IdolWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1184 Golem (golem.grp) +.headerstart +IsId 499 +Type 12 +Init GolemInit +Death GolemDeath +GndAttkInit GolemGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt GolemGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle LegionnaireGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking LegionnaireWalking +WalkingToIdle GolemWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GolemInit: + imgul 1185 0 0 # Golem Shadow (golem-shad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +GolemDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 946 0 0 # Golem remains (cm\protoss\golem-death.grp) + wait 1 + end + +GolemGndAttkInit: + playfram 0x100 +GolemGndAttkRpt: + playfram 0x100 + wait 1 + nobrkcodestart + playsndbtwn 1937 1938 # Golem weaponfire 01, 02 + attackwith 1 + playfram 0x120 + wait 1 + playfram 0x140 + attackwith 1 + playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV + wait 1 + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + playfram 0x120 + playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV + nobrkcodeend + gotorepeatattk + ignorerest + goto LegionnaireGndAttkToIdle + +GolemWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1186 Barghest (cm\protoss\barghest.grp) +.headerstart +IsId 500 +Type 12 +Init BarghestInit +Death BarghestDeath +GndAttkInit BarghestGndAttkInit +AirAttkInit BarghestGndAttkInit +Unused1 [NONE] +GndAttkRpt BarghestGndAttkInit +AirAttkRpt BarghestGndAttkInit +CastSpell [NONE] +GndAttkToIdle BarghestGndAttkToIdle +AirAttkToIdle BarghestGndAttkToIdle +Unused2 [NONE] +Walking BarghestWalking +WalkingToIdle BarghestGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BarghestInit: + imgul 1187 0 42 # Barghest Shadow (cm\protoss\barghest.grp) + playfram 0x00 + wait 2 +BarghestGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x120 + wait 2 + playfram 0x00 + wait 2 + goto BarghestGndAttkToIdle + +BarghestDeath: + playsndbtwn 1239 1241 # Barghest death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 847 0 42 # Protoss Unit Rubble Small + wait 1 + end + +BarghestGndAttkInit: + wait 1 + playsndbtwn 1460 1464 # Barghest weaponfire 01, 02, 03, 04, 05 + attackwith 1 + gotorepeatattk + goto BarghestGndAttkToIdle + +BarghestWalking: + 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 0x00 + wait 1 + goto BarghestWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1188 Synthetic Synod (cm\protoss\synthetic-synod.grp) +.headerstart +IsId 501 +Type 27 +Init SyntheticSynodInit +Death SyntheticSynodDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SyntheticSynodSpecialState1 +SpecialState2 SyntheticSynodSpecialState2 +AlmostBuilt SyntheticSynodAlmostBuilt +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SyntheticSynodIsWorking +WorkingToIdle SyntheticSynodWorkingToIdle +WarpIn SyntheticSynodAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable SyntheticSynodDisable +Burrow [NONE] +UnBurrow [NONE] +Enable SyntheticSynodEnable +.headerend +# ----------------------------------------------------------------------------- # + +SyntheticSynodInit: + imgul 1189 0 0 # Synthetic Synod Shadow (cm\protoss\synthetic-synod-shadow.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +SyntheticSynodDeath: + playfram 0x00 + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +SyntheticSynodSpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + goto SkryrokorLocal00 + +SyntheticSynodSpecialState2: + wait 1 + goto SyntheticSynodWorkingToIdle + +SyntheticSynodWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +SyntheticSynodAlmostBuilt: + imgol 1190 0 0 # Synthetic Synod Warp Flash (cm\protoss\synthetic-synod.grp) + goto SkryrokorLocal00 + +SyntheticSynodIsWorking: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + goto SyntheticSynodIsWorking + +SyntheticSynodDisable: + playfram 0x00 + goto SkryrokorLocal00 + +SyntheticSynodEnable: + playfram 0x00 + wait 2 + goto SyntheticSynodWorkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1191 Pariah (cm\protoss\pariah.grp) +.headerstart +IsId 502 +Type 21 +Init PariahInit +Death PariahDeath +GndAttkInit PariahGndAttkInit +AirAttkInit PariahGndAttkInit +Unused1 [NONE] +GndAttkRpt PariahGndAttkInit +AirAttkRpt PariahGndAttkInit +CastSpell [NONE] +GndAttkToIdle PariahGndAttkToIdle +AirAttkToIdle PariahGndAttkToIdle +Unused2 [NONE] +Walking PariahWalking +WalkingToIdle PariahWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn PariahWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +PariahInit: + imgul 1192 0 2 # Pariah Shadow (cm\protoss\pariah-shadow.grp) +PariahWalkingToIdle: + playfram 0xdd + goto SkryrokorLocal00 + +PariahDeath: + playsndbtwn 1242 1245 # Pariah death 01, 02, 03 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 2 + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 3 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +PariahGndAttkInit: + playfram 0xdd + wait 1 + nobrkcodestart + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + playsndbtwn 1447 1449 # Pariah weapon fire 01, 02, 03 + imgoluselo 1195 0 0 # Blue projection blade + attkshiftproj 24 + wait 1 + attkshiftproj 48 + wait 1 + playfram 0x121 + attkshiftproj 72 + sigorder 32 + wait 1 + playfram 0x132 + attkshiftproj 100 + wait 1 + playfram 0x143 + wait 1 + imgoluselo 1195 0 0 # Blue projection blade + attkshiftproj 24 + wait 1 + attkshiftproj 48 + sigorder 32 + wait 1 + playfram 0x154 + attkshiftproj 72 + wait 1 + playfram 0xdd + attkshiftproj 100 + sigorder 32 + wait 1 + nobrkcodeend + gotorepeatattk + goto PariahGndAttkToIdle + +PariahGndAttkToIdle: + sigorder 32 + goto PariahWalkingToIdle + +PariahWalking: + move 6 + wait 1 + playfram 0x00 + move 6 + wait 1 + playfram 0x11 + move 6 + wait 1 + playfram 0x22 + move 6 + wait 1 + playfram 0x33 + move 6 + wait 1 + playfram 0x44 + move 6 + wait 1 + playfram 0x55 + move 6 + wait 1 + playfram 0x66 + move 6 + wait 1 + playfram 0x77 + goto PariahWalking + +PariahWarpIn: + imgol 125 0 0 # Pariah Warp Flash (protoss\pariah.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1195 Pariah Attack Overlay (cm\protoss\pariah-attack.grp) +.headerstart +IsId 504 +Type 1 +Init PariahAttackOverlayInit +Death PariahAttackOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +PariahAttackOverlayInit: + goto PariahAttackOverlayLocal00 + +PariahAttackOverlayLocal00: + 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 PariahAttackOverlayDeath + +PariahAttackOverlayDeath: + nobrkcodeend + gotorepeatattk + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1196 Gladius Weapon (cm\protoss\gladius-weapon.grp) +.headerstart +IsId 505 +Type 13 +Init GladiusWeaponInit +Death GladiusWeaponDeath +GndAttkInit GladiusWeaponGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GladiusWeaponSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +GladiusWeaponInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +GladiusWeaponGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + goto GladiusWeaponGndAttkInit + +GladiusWeaponDeath: + sprol 606 0 0 # Warden Hit (thingy\phohit.grp) + playsnd 2848 # Panoptus weaponhit 01 + domissiledmg + wait 1 + end + +GladiusWeaponSpecialState1: + sprol 606 0 0 # Warden Hit (thingy\phohit.grp) + playsnd 2848 # Panoptus weaponhit 01 + domissiledmg + goto GladiusWeaponGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1002 Pennant (cm\protoss\pennant.grp) +.headerstart +IsId 507 +Type 27 +Init PennantInit +Death PennantDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 PennantSpecialState1 +SpecialState2 PennantSpecialState2 +AlmostBuilt PennantAlmostBuilt +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking PennantIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn PennantAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable InfestedTerranWalkingToIdle +Burrow [NONE] +UnBurrow [NONE] +Enable PennantEnable +.headerend +# ----------------------------------------------------------------------------- # + +PennantInit: + imgul 1209 0 0 # Pennant Shadow (cm\protoss\pennant-shad.grp) + goto InfestedTerranWalkingToIdle + +PennantDeath: + playfram 0x00 + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +PennantSpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + goto SkryrokorLocal00 + +PennantSpecialState2: + wait 1 + goto InfestedTerranWalkingToIdle + +PennantAlmostBuilt: + imgol 1210 0 0 # Pennant Warp Flash (cm\protoss\pennant.grp) + goto SkryrokorLocal00 + +PennantIsWorking: + 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 + goto PennantIsWorking + +PennantEnable: + playfram 0x00 + wait 2 + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1212 Maelstrom Projectile (cm\protoss\maelstrom-weapon.grp) +.headerstart +IsId 509 +Type 2 +Init MaelstromProjectileInit +Death MaelstromProjectileDeath +GndAttkInit MaelstromProjectileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MaelstromProjectileInit: + playsnd 99 # Bullet\DragBull.wav + wait 1 + sigorder 1 + wait 1 +MaelstromProjectileGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + goto MaelstromProjectileGndAttkInit + +MaelstromProjectileDeath: + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1217 Manifold (cm\protoss\manifold.grp) +.headerstart +IsId 512 +Type 21 +Init ManifoldInit +Death ManifoldDeath +GndAttkInit ManifoldGndAttkInit +AirAttkInit ManifoldGndAttkInit +Unused1 [NONE] +GndAttkRpt ManifoldGndAttkInit +AirAttkRpt ManifoldGndAttkInit +CastSpell [NONE] +GndAttkToIdle ManifoldGndAttkToIdle +AirAttkToIdle ManifoldGndAttkToIdle +Unused2 [NONE] +Walking ManifoldWalking +WalkingToIdle ManifoldWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ManifoldWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ManifoldInit: + imgul 1218 0 -1 # Manifold Shadow (cm\protoss\manifold-shad.grp) + playfram 0x00 + wait 1 + goto DidactGndAttkToIdle + +ManifoldGndAttkToIdle: + playfram 0x00 + wait 1 + goto DidactGndAttkToIdle + +ManifoldDeath: + playsndbtwn 3138 3140 # Manifold death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 945 0 0 # Manifold remains (cm\protoss\manifold-death.grp) + wait 1 + end + +ManifoldGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x20 + attackwith 1 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + ignorerest + goto ManifoldGndAttkToIdle + +ManifoldWalking: + playfram 0x00 + goto ManifoldGndAttkToIdle + +ManifoldWalkingToIdle: + playfram 0x00 + goto ManifoldGndAttkToIdle + +ManifoldWarpIn: + imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto ManifoldGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1219 Architect (cm\protoss\architect.grp) +.headerstart +IsId 513 +Type 21 +Init ArchitectInit +Death ArchitectDeath +GndAttkInit ArchitectGndAttkInit +AirAttkInit ArchitectGndAttkInit +Unused1 [NONE] +GndAttkRpt ArchitectGndAttkInit +AirAttkRpt ArchitectGndAttkInit +CastSpell [NONE] +GndAttkToIdle ArchitectGndAttkToIdle +AirAttkToIdle ArchitectGndAttkToIdle +Unused2 [NONE] +Walking ArchitectWalking +WalkingToIdle ArchitectWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ArchitectInit: + imgul 1220 0 0 # Architect Shadow (cm\protoss\architect.grp) +ArchitectGndAttkToIdle: + playfram 0x00 + goto ArchitectWalkingToIdle + +ArchitectWalkingToIdle: + setvertpos 0 + goto SkryrokorLocal00 + +ArchitectDeath: + playsnd 1334 # Architect death 01 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble Small + wait 1 + end + +ArchitectGndAttkInit: + nobrkcodestart + playsnd 1557 # Architect charge 01 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 8 + playsndbtwn 1413 1415 # Architect weapon fire 01, 02, 03 + playfram 0x20 + attackwith 1 + wait 2 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +ArchitectWalking: + setvertpos 0 + imgol 1221 0 0 # Architect Engines (cm\protoss\architect-engine.grp) + goto ArchitectWalking2 + +ArchitectWalking2: + move 4 + wait 1 + goto ArchitectWalking2 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1244 Recall Field Final (thingy\recall.grp) +.headerstart +IsId 523 +Type 1 +Init RecallFieldFinInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +RecallFieldFinInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 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 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1251 Planet Cracker Cast Effect (cm\effect\planetcracker-init.grp) +.headerstart +IsId 527 +Type 1 +Init PlanetCrackerCastEffectInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlanetCrackerCastEffectInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + playfram 62 + wait 1 + playfram 63 + wait 1 + playfram 64 + wait 1 + playfram 65 + wait 1 + playfram 66 + wait 1 + playfram 67 + wait 1 + playfram 68 + wait 1 + playfram 69 + wait 1 + playfram 70 + wait 1 + playfram 71 + wait 1 + playfram 72 + wait 1 + playfram 73 + wait 1 + playfram 74 + wait 1 + playfram 75 + wait 1 + playfram 76 + wait 1 + playfram 77 + wait 1 + playfram 78 + wait 1 + playfram 79 + wait 1 + playfram 80 + wait 1 + playfram 81 + wait 1 + playfram 82 + wait 1 + playfram 83 + wait 1 + playfram 84 + wait 1 + playfram 85 + wait 1 + playfram 86 + wait 1 + playfram 87 + wait 1 + playfram 88 + wait 1 + playfram 89 + wait 1 + playfram 90 + wait 1 + playfram 91 + wait 1 + playfram 92 + wait 1 + playfram 93 + wait 1 + playfram 94 + wait 1 + playfram 95 + wait 1 + playfram 96 + wait 1 + playfram 97 + wait 1 + playfram 98 + wait 1 + playfram 99 + wait 1 + playfram 100 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1252 Planet Cracker Beam (cm\effect\planetcracker-beam.grp) +.headerstart +IsId 528 +Type 1 +Init PlanetCrackerBeamInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlanetCrackerBeamInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + imgol 1105 0 30 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1253 Planet Cracker Blast Loop (cm\effect\planetcracker-blastloop.grp) +.headerstart +IsId 529 +Type 1 +Init PlanetCrackerBlastLoopInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlanetCrackerBlastLoopInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + playfram 62 + wait 1 + playfram 63 + wait 1 + playfram 64 + wait 1 + playfram 65 + wait 1 + playfram 66 + wait 1 + playfram 67 + wait 1 + playfram 68 + wait 1 + playfram 69 + wait 1 + playfram 70 + wait 1 + playfram 71 + wait 1 + playfram 72 + wait 1 + playfram 73 + wait 1 + playfram 74 + wait 1 + playfram 75 + wait 1 + playfram 76 + wait 1 + playfram 77 + wait 1 + playfram 78 + wait 1 + playfram 79 + wait 1 + playfram 80 + wait 1 + playfram 81 + wait 1 + playfram 82 + wait 1 + playfram 83 + wait 1 + playfram 84 + wait 1 + playfram 85 + wait 1 + playfram 86 + wait 1 + playfram 87 + wait 1 + playfram 88 + wait 1 + playfram 89 + wait 1 + playfram 90 + wait 1 + playfram 91 + wait 1 + playfram 92 + wait 1 + playfram 93 + wait 1 + playfram 94 + wait 1 + playfram 95 + wait 1 + playfram 96 + wait 1 + playfram 97 + wait 1 + playfram 98 + wait 1 + playfram 99 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1254 Planet Cracker Blast (cm\effect\planetcracker-blast.grp) +.headerstart +IsId 530 +Type 1 +Init PlanetCrackerBlastInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlanetCrackerBlastInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + playfram 62 + wait 1 + playfram 63 + wait 1 + playfram 64 + wait 1 + playfram 65 + wait 1 + playfram 66 + wait 1 + playfram 67 + wait 1 + playfram 68 + wait 1 + playfram 69 + wait 1 + playfram 70 + wait 1 + playfram 71 + wait 1 + playfram 72 + wait 1 + playfram 73 + wait 1 + playfram 74 + wait 1 + playfram 75 + wait 1 + playfram 76 + wait 1 + playfram 77 + wait 1 + playfram 78 + wait 1 + playfram 79 + wait 1 + playfram 80 + wait 1 + playfram 81 + wait 1 + playfram 82 + wait 1 + playfram 83 + wait 1 + playfram 84 + wait 1 + playfram 85 + wait 1 + playfram 86 + wait 1 + playfram 87 + wait 1 + playfram 88 + wait 1 + playfram 89 + wait 1 + playfram 90 + wait 1 + playfram 91 + wait 1 + playfram 92 + wait 1 + playfram 93 + wait 1 + playfram 94 + wait 1 + playfram 95 + wait 1 + playfram 96 + wait 1 + playfram 97 + wait 1 + playfram 98 + wait 1 + playfram 99 + wait 1 + playfram 100 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1327 Protoss Warp Fade (cm\effect\protoss-warp-fade.grp) +.headerstart +IsId 561 +Type 1 +Init ProtossWarpFadeInit +Death ProtossWarpFadeDeath +.headerend +# ----------------------------------------------------------------------------- # + +ProtossWarpFadeInit: + playfram 1 + wait 1 + playfram 2 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 +ProtossWarpFadeDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1335 Astral Blaster Hit (thingy\phohit.grp) +.headerstart +IsId 565 +Type 2 +Init AstralBlasterHitInit +Death AstralBlasterHitDeath +GndAttkInit AstralBlasterHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AstralBlasterHitInit: + wait 1 + sigorder 1 + wait 1 +AstralBlasterHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1336 Hierophant (cm\protoss\hierophant.grp) +.headerstart +IsId 568 +Type 21 +Init HierophantInit +Death HierophantDeath +GndAttkInit HierophantGndAttkInit +AirAttkInit HierophantGndAttkInit +Unused1 HierophantUnused1 +GndAttkRpt HierophantGndAttkRpt +AirAttkRpt HierophantGndAttkRpt +CastSpell [NONE] +GndAttkToIdle HierophantGndAttkToIdle +AirAttkToIdle HierophantGndAttkToIdle +Unused2 [NONE] +Walking HierophantWalking +WalkingToIdle HierophantWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn HierophantWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +HierophantInit: + imgul 1337 0 0 # Hierophant Shadow (cm\protoss\hierophant-shad.grp) +HierophantWalkingToIdle: + playfram 0x00 + wait 1 + goto DracadinLocal00 + +HierophantDeath: + playsnd 1335 # Hierophant death 01 + imgol 1774 0 0 # Dracadin death explosion (cm\protoss\dracadin-explosion.grp) + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + setfldirect 0 + playfram 832 + wait 2 + playfram 833 + wait 2 + playfram 834 + wait 2 + playfram 835 + wait 2 + playfram 836 + wait 2 + lowsprul 925 0 0 # Hierophant remains + wait 1 + end + +HierophantUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1704 # Hierophant Revive 01 + sprol 746 0 0 # Zealot Death Reversed (protoss\zealot.grp) + wait 2 + playfram 773 + wait 2 + playfram 772 + wait 2 + playfram 771 + wait 2 + playfram 770 + wait 2 + playfram 769 + wait 2 + playfram 768 + wait 2 + setfldirect 12 + nobrkcodeend + goto HierophantWalkingToIdle + +HierophantGndAttkInit: + playfram 0x220 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 +HierophantGndAttkRpt: + playfram 0x2A0 + wait 1 + playfram 0x2C0 + wait 1 + attackwith 1 + playfram 0x2E0 + wait 1 + playfram 0x2C0 + gotorepeatattk + ignorerest +HierophantGndAttkToIdle: + wait 1 + playfram 0x2A0 + wait 1 + playfram 0x280 + wait 1 + playfram 0x260 + wait 1 + playfram 0x240 + wait 1 + playfram 0x220 + goto HierophantWalkingToIdle + +HierophantWalking: + move 6 + wait 1 + playfram 0x100 + move 6 + wait 1 + playfram 0x120 + move 6 + wait 1 + playfram 0x140 + move 6 + wait 1 + playfram 0x160 + move 6 + wait 1 + playfram 0x180 + move 6 + wait 1 + playfram 0x1A0 + move 6 + wait 1 + playfram 0x1C0 + move 6 + wait 1 + playfram 0x1E0 + goto HierophantWalking + +HierophantWarpIn: + imgol 125 0 0 # Dracadin Warp Flash (protoss\dragoon.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1268 Clarion (cm\protoss\clarion.grp) +.headerstart +IsId 569 +Type 21 +Init ClarionInit +Death ClarionDeath +GndAttkInit ClarionGndAttkToIdle +AirAttkInit ClarionGndAttkToIdle +Unused1 [NONE] +GndAttkRpt ClarionGndAttkToIdle +AirAttkRpt ClarionGndAttkToIdle +CastSpell [NONE] +GndAttkToIdle ClarionGndAttkToIdle +AirAttkToIdle ClarionGndAttkToIdle +Unused2 [NONE] +Walking ClarionWalking +WalkingToIdle ClarionGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ClarionWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ClarionInit: + imgul 1269 0 42 # Clarion Shadow (cm\protoss\clarion.grp) + playfram 0x00 + goto ClarionGndAttkToIdle + +ClarionGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x120 + wait 2 + playfram 0x140 + wait 2 + playfram 0x160 + wait 2 + playfram 0x180 + wait 2 + playfram 0x1A0 + wait 2 + playfram 0x1C0 + wait 2 + playfram 0x1E0 + wait 2 + goto ClarionGndAttkToIdle + +ClarionDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 847 0 42 # Protoss Unit Rubble Small + wait 1 + end + +ClarionWalking: + playfram 0x00 + wait 1 + 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 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + goto ClarionWalking + +ClarionWarpIn: + imgol 133 0 0 # Didact Warp Flash (protoss\didact.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1338 Legionnaire (cm\protoss\legionnaire.grp) +.headerstart +IsId 570 +Type 21 +Init LegionnaireInit +Death LegionnaireDeath +GndAttkInit LegionnaireGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt LegionnaireGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle LegionnaireGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking LegionnaireWalking +WalkingToIdle GolemWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LegionnaireWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +LegionnaireInit: + imgul 1339 0 0 # Legionnaire Shadow (cm\protoss\legionnaire-shad.grp) + goto GolemWalkingToIdle + +LegionnaireDeath: + playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 4 + lowsprul 819 0 0 # Legionnaire Remains + wait 3 + end + +LegionnaireGndAttkInit: + playfram 0x100 +LegionnaireGndAttkRpt: + playfram 0x100 + nobrkcodestart + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + attackmelee 1 1897 # Legionnaire weapon hit 01 + wait 1 + playfram 0x160 + wait 1 + nobrkcodeend + playfram 0x120 + wait 1 + gotorepeatattk + ignorerest +LegionnaireGndAttkToIdle: + playfram 0x100 + wait 1 + goto GolemWalkingToIdle + +LegionnaireWalking: + 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 + goto LegionnaireWalking + +LegionnaireWarpIn: + imgol 154 0 0 # Zealot Warp Flash (protoss\zealot.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1367 Legionnaire Teleport Effect (cm\effect\legionnaire-teleport.grp) +.headerstart +IsId 578 +Type 1 +Init LegionnaireTeleportInit +Death LegionnaireTeleportDeath +.headerend +# ----------------------------------------------------------------------------- # + +LegionnaireTeleportInit: + playsndbtwn 1289 1292 # Legionnaire teleport 01, 02, 03, 04 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 +LegionnaireTeleportDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1368 Warp Flash Fade (cm\protoss\texture-fade.grp) +.headerstart +IsId 584 +Type 1 +Init WarpTextureFadeInit +Death WarpTextureFadeDeath +.headerend +# ----------------------------------------------------------------------------- # + +WarpTextureFadeInit: + warpoverlay 0x00 + wait 1 + warpoverlay 1 + wait 1 + warpoverlay 2 + wait 1 + warpoverlay 3 + wait 1 + warpoverlay 4 + wait 1 + warpoverlay 5 + wait 1 + warpoverlay 6 + wait 1 + warpoverlay 7 + wait 1 + warpoverlay 8 + wait 1 + warpoverlay 9 + wait 1 + warpoverlay 10 + wait 1 + warpoverlay 11 + wait 1 + warpoverlay 12 + wait 1 + warpoverlay 13 + wait 1 + warpoverlay 14 + wait 1 + warpoverlay 15 + wait 1 + warpoverlay 16 + wait 1 + warpoverlay 17 + wait 1 + warpoverlay 18 + wait 1 + warpoverlay 19 + wait 1 + warpoverlay 20 + wait 1 + warpoverlay 21 + wait 1 + warpoverlay 22 + wait 1 + warpoverlay 23 + wait 1 + warpoverlay 24 +WarpTextureFadeDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1373 Demiurge (cm\protoss\demiurge.grp) +.headerstart +IsId 585 +Type 21 +Init DemiurgeInit +Death DemiurgeDeath +GndAttkInit DemiurgeGndAttkInit +AirAttkInit DemiurgeGndAttkInit +Unused1 [NONE] +GndAttkRpt DemiurgeGndAttkInit +AirAttkRpt DemiurgeGndAttkInit +CastSpell [NONE] +GndAttkToIdle DemiurgeGndAttkToIdle +AirAttkToIdle DemiurgeGndAttkToIdle +Unused2 [NONE] +Walking PariahWalking +WalkingToIdle PariahWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn PariahWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +DemiurgeInit: + imgul 1374 0 2 # Demiurge Shadow (cm\protoss\demiurge-shadow.grp) + goto PariahWalkingToIdle + +DemiurgeDeath: + playsndbtwn 1439 1442 # Demiurge death 01, 02, 03, 04 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 2 + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble Small + wait 1 + end + +DemiurgeGndAttkInit: + playfram 0xdd + wait 1 + nobrkcodestart + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + attack + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + playfram 0x154 + wait 1 + playfram 0xdd + nobrkcodeend + gotorepeatattk + goto DemiurgeGndAttkToIdle + +DemiurgeGndAttkToIdle: + wait 1 + goto PariahWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1170 Charlatan (cm\protoss\charlatan.grp) +.headerstart +IsId 587 +Type 21 +Init CharlatanInit +Death EcclesiastDeath +GndAttkInit EcclesiastGndAttkInit +AirAttkInit EcclesiastGndAttkInit +Unused1 EcclesiastUnused1 +GndAttkRpt EcclesiastGndAttkRpt +AirAttkRpt EcclesiastGndAttkRpt +CastSpell [NONE] +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle +Unused2 [NONE] +Walking EcclesiastWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn EcclesiastWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +CharlatanInit: + imgul 1172 0 0 # Charlatan Shadow (cm\protoss\charlatan-shad.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1383 Neutron Flare (Silent) (thingy\PcsSplsh.grp) +.headerstart +IsId 589 +Type 2 +Init NeutronFlareSilentInit +Death NeutronFlareSilentDeath +GndAttkInit NeutronFlareSilentDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NeutronFlareSilentInit: + wait 1 + sigorder 1 + wait 1 +NeutronFlareSilentDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1384 Hallucination projectile (cm\protoss\cantavis-hallucination-projectile.grp) +.headerstart +IsId 590 +Type 2 +Init HallucinationProjectileInit +Death HallucinationProjectileDeath +GndAttkInit HallucinationProjectileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HallucinationProjectileInit: + playsnd 636 # Templar unused move + wait 1 + sigorder 1 + wait 1 +HallucinationProjectileGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto HallucinationProjectileGndAttkInit + +HallucinationProjectileDeath: + imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) + playsnd 2848 # Panoptus weaponhit 01 + domissiledmg + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 12 + wait 1 + playfram 13 + wait 1 + playfram 14 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1385 Hallucination field (cm\protoss\cantavis-hallucination-field.grp) +.headerstart +IsId 591 +Type 1 +Init HallucinationFieldInit +Death HallucinationFieldDeath +.headerend +# ----------------------------------------------------------------------------- # + +HallucinationFieldInit: + playfram 0x00 +HallucinationFieldLocal00: + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 +HallucinationFieldLocal01: + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + goto HallucinationFieldLocal00 + +HallucinationFieldDeath: + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 12 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1418 Anthelion (cm\protoss\anthelion.grp) +.headerstart +IsId 609 +Type 21 +Init AnthelionInit +Death AnthelionDeath +GndAttkInit AnthelionGndAttkInit +AirAttkInit AnthelionGndAttkInit +Unused1 [NONE] +GndAttkRpt AnthelionGndAttkInit +AirAttkRpt AnthelionGndAttkInit +CastSpell [NONE] +GndAttkToIdle AnthelionGndAttkToIdle +AirAttkToIdle AnthelionGndAttkToIdle +Unused2 [NONE] +Walking AnthelionWalking +WalkingToIdle AnthelionWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn AnthelionWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AnthelionInit: + imgul 1419 0 42 # Anthelion Shadow (cm\protoss\anthelion.grp) +AnthelionGndAttkToIdle: + playfram 0x00 # Frame set 0 + setvertpos 0 + goto AnthelionWalkingToIdle + +AnthelionWalkingToIdle: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 0x00 + wait 2 + goto AnthelionGndAttkToIdle + +AnthelionDeath: + playsndbtwn 1393 1395 # Anthelion death 01, 02, 03 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 2 + imgol 214 24 24 + wait 3 + imgol 214 -24 -24 + wait 1 + imgol 214 0 0 + wait 2 + imgol 214 24 -24 + wait 3 + imgol 214 -24 24 + wait 1 + imgol 214 0 0 + wait 3 + lowsprul 224 0 42 # Protoss Building Rubble Large + wait 1 + end + +AnthelionGndAttkInit: + attackwith 1 + attackwith 1 + wait 2 + gotorepeatattk + goto AnthelionGndAttkToIdle + +AnthelionLocal00: + wait 125 + goto AnthelionGndAttkToIdle + +AnthelionWalking: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 0x00 + wait 1 + goto AnthelionWalking + +AnthelionWarpIn: + imgol 143 0 0 # Anthelion Warp Flash + goto AnthelionLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1424 Prostration Stage (cm\protoss\prostrationstage.grp) +.headerstart +IsId 613 +Type 27 +Init ProstrationStageInit +Death ProstrationStageDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built InfestedTerranWalkingToIdle +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking ProstrationStageIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn ProstrationStageWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable ProstrationStageDisable +Burrow [NONE] +UnBurrow [NONE] +Enable InfestedTerranWalkingToIdle +.headerend +# ----------------------------------------------------------------------------- # + +ProstrationStageInit: + playfram 0x00 + imgul 1425 0 0 # Prostration Stage Shadow (cm\protoss\prostrationstage-shad.grp) + goto SkryrokorLocal00 + +ProstrationStageDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +ProstrationStageIsWorking: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 8 + goto ProstrationStageIsWorking + +ProstrationStageWarpIn: + imgol 1426 0 0 # Prostration Stage Warp Flash (cm\protoss\prostrationstage.grp) + goto SkryrokorLocal00 + +ProstrationStageDisable: + playfram 18 + wait 2 + playfram 19 + wait 2 + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1427 Rogue Gallery (cm\protoss\roguegallery.grp) +.headerstart +IsId 614 +Type 27 +Init RogueGalleryInit +Death RogueGalleryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built InfestedTerranWalkingToIdle +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking RogueGalleryIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn RogueGalleryWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +RogueGalleryInit: + playfram 0x00 + imgul 1428 0 0 # Rogue Gallery Shadow (cm\protoss\roguegallery-shad.grp) + goto SkryrokorLocal00 + +RogueGalleryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +RogueGalleryIsWorking: + 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 0x00 + wait 2 + goto RogueGalleryIsWorking + +RogueGalleryWarpIn: + imgol 1429 0 0 # Rogue Gallery Warp Flash (cm\protoss\roguegallery.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1433 Monument of Sin (cm\protoss\monumentofsin.grp) +.headerstart +IsId 616 +Type 27 +Init MonumentOfSinInit +Death NexusDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built InfestedTerranWalkingToIdle +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking MonumentOfSinIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn MonumentOfSinWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +MonumentOfSinInit: + imgul 1434 0 0 # Monument of Sin Shadow (cm\protoss\monumentofsin-shad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +MonumentOfSinIsWorking: + playfram 1 + wait 1 + 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 0 + wait 1 + goto MonumentOfSinIsWorking + +MonumentOfSinWarpIn: + imgol 1435 0 0 # Monument of Sin Warp Flash (cm\protoss\monumentofsin.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1098 Empress (cm\shared\empress.grp) +.headerstart +IsId 617 +Type 21 +Init EmpressInit +Death EmpressDeath +GndAttkInit EmpressGndAttkInit +AirAttkInit EmpressGndAttkInit +Unused1 [NONE] +GndAttkRpt EmpressGndAttkInit +AirAttkRpt EmpressGndAttkInit +CastSpell [NONE] +GndAttkToIdle EmpressGndAttkToIdle +AirAttkToIdle EmpressGndAttkToIdle +Unused2 [NONE] +Walking EmpressWalking +WalkingToIdle EmpressWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn EmpressWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +EmpressInit: + imgul 1437 0 42 # Empress Shadow (cm\shared\empress.grp) +EmpressGndAttkToIdle: + playfram 0x00 +EmpressWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto EmpressWalkingToIdle + +EmpressDeath: + playsnd 533 + imgol 214 0 0 # Explosion1 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +EmpressGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1781 1783 # Empress weapon fire 01, 02, 03 + attackwith 1 + wait 2 + nobrkcodeend + gotorepeatattk + goto EmpressGndAttkToIdle + +EmpressWalking: + setvertpos 0 + #imgol 1203 0 0 # Empress Engines (cm\shared\empress-engine.grp) + goto SkryrokorLocal00 + +EmpressWarpIn: + imgol 143 0 0 # Empress Warp Flash (shared\empress.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1445 Zealot Death Reversed (protoss\zealot.grp) +.headerstart +IsId 622 +Type 1 +Init ZealotDeathReversedInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1199 Aurora Engines (cm\protoss\aurora-engine.grp) +# 1202 Exemplar Engines (cm\protoss\exemplar-engine.grp) +# 1204 Gladius Engines (cm\protoss\gladius-engine.grp) +# 1301 Epigraph Engines (cm\protoss\epigraph-engine.grp) +.headerstart +IsId 623 +Type 15 +Init Engines_MultiGlowHeaderInit +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_MultiGlowHeaderInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Engines_MultiGlowHeaderInit: + engframe 0 + wait 1 + engframe 17 + wait 1 + goto Engines_MultiGlowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1383 Neutron Flare (Orange, Damageless) (thingy\PcsSplsh.grp) +.headerstart +IsId 624 +Type 1 +Init NeutronFlareDamagelessInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +NeutronFlareDamagelessInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1455 Anthelion Teleport (Departure) (cm\protoss\anthelion-teleport-depart.grp) +.headerstart +IsId 631 +Type 0 +Init AnthelionTeleportDepartInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnthelionTeleportDepartInit: + playfram 0x00 + wait 2 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1456 Anthelion Teleport (Arrival) (cm\protoss\anthelion-teleport-arrive.grp) +.headerstart +IsId 632 +Type 0 +Init AnthelionTeleportArriveInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnthelionTeleportArriveInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1492 Demiurge Worship Proc (Small) (cm\protoss\demiurge-worship-proc-small.grp) +# 1493 Demiurge Worship Proc (Medium) (cm\protoss\demiurge-worship-proc-medium.grp) +# 1494 Demiurge Worship Proc (Large) (cm\protoss\demiurge-worship-proc-large.grp) +# 1881 Demiurge Worship Proc (XLarge) (cm\protoss\demiurge-worship-proc-xlarge.grp) +.headerstart +IsId 645 +Type 1 +Init WorshipOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +WorshipOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1500 Blackjack Remains (cm\terran\blackjack-corpse.grp) +# 1635 Mason Remnants (cm\terran\mason-remnants.grp) +# 1642 Vulture Remains (cm\terran\vulture-remains.grp) +# 1643 Quazilisk Remains (cm\zerg\quazilisk-remains.grp) +# 1644 Zealot Remains (cm\protoss\zealot-remains.grp) +# 1645 Cyclops Remains (cm\terran\cyclops-remains.grp) +# 1647 Goliath Remains (cm\terran\goliath-remains.grp) +# 1648 Ecclesiast Remains (cm\protoss\ecclesiast-remains.grp) +# 1648 Lanifect Remains (cm\protoss\lanifect-death.grp) +# 1904 Trojan Remains (cm\terran\trojan-death.grp) +# 1905 Envoy Remains (cm\protoss\envoy-death.grp) +# 1906 Ovileth Remains (cm\zerg\ovileth-death.grp) +# 1907 Phalanx (Tank) Remains (cm\terran\phalanx-tank-death.grp) +# 1908 Phalanx (Siege) Remains (cm\terran\phalanx-siege-death.grp) +# 1909 Hierophant Remains (cm\protoss\hierophant-death.grp) +# 1914 Simulacrum Remains (cm\protoss\simulacrum-death.grp) +# 1915 Vassal Remains (cm\protoss\vassal-death.grp) +# 1916 Nathrokor Remains (cm\zerg\nathrokor-death.grp) +.headerstart +IsId 650 +Type 1 +Init GenericRemnantsFiveInit +Death GenericRemnantsFiveDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFiveInit: + playfram 0x00 + wait 239 +GenericRemnantsFiveDeath: + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + playfram 4 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1502 Gods Made Flesh Overlay (Small) (cm\protoss\demiurge-gods-made-flesh-small.grp) +# 1503 Gods Made Flesh Overlay (Medium) (cm\protoss\demiurge-gods-made-flesh-medium.grp) +# 1504 Gods Made Flesh Overlay (Large) (cm\protoss\demiurge-gods-made-flesh-large.grp) +.headerstart +IsId 651 +Type 1 +Init GodsMadeFleshOverlayInit +Death GodsMadeFleshOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +GodsMadeFleshOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 +GodsMadeFleshOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1515 Artisan (cm\protoss\artisan.grp) +.headerstart +IsId 654 +Type 21 +Init ArtisanInit +Death ArtisanDeath +GndAttkInit ArtisanGndAttkInit +AirAttkInit ArtisanGndAttkInit +Unused1 ArtisanUnused1 +GndAttkRpt ArtisanGndAttkInit +AirAttkRpt ArtisanGndAttkInit +CastSpell [NONE] +GndAttkToIdle ArtisanWalkingToIdle +AirAttkToIdle ArtisanWalkingToIdle +Unused2 [NONE] +Walking ArtisanWalking +WalkingToIdle ArtisanWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ArtisanAlmostBuilt +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn ArtisanWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +ArtisanInit: + imgul 1516 0 42 # Artisan Shadow (cm\protoss\artisan.grp) + playfram 0x00 + goto ArtisanLocal00 +ArtisanLocal00: + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0x00 + goto ArtisanLocal00 + +ArtisanDeath: + setfldirect 0 + playsnd 598 # Protoss\PROBE\PPrDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 948 0 42 # Artisan remains + wait 1 + end + +ArtisanUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1352 # Artisan Revive 01 +# playfram 20 + wait 1 +# playfram 19 + wait 1 +# playfram 18 + wait 1 +# playfram 17 + sprol 740 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 1 + playfram 0x00 + wait 1 + setfldirect 10 + nobrkcodeend + goto ArtisanLocal00 + +ArtisanGndAttkInit: + wait 1 + attackwith 1 + playsndbtwn 2752 2753 # Artisan weaponfire 01, 02 + gotorepeatattk + goto ArtisanLocal00 + +ArtisanWalking: + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0x00 + goto ArtisanWalking + +ArtisanWalkingToIdle: + goto ArtisanLocal00 + +ArtisanAlmostBuilt: + useweapon 63 # Particle Beam (Harvest) + playsnd 614 # Protoss\PROBE\PPrMin00.WAV + playfram 0x20 + wait 1 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0x00 + wait 1 + goto ArtisanAlmostBuilt + +ArtisanWarpIn: + imgol 139 0 0 # Artisan Warp Flash (protoss\probe.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1519 (cm\protoss\tyranny-stun.grp) +.headerstart +IsId 655 +Type 1 +Init TyrannyStunInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +TyrannyStunInit: + playfram 0 + wait 2 +TyrannyStunLocal00: + 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 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0 + wait 2 + goto TyrannyStunLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1457 Simulacrum Autovitality Proc +.headerstart +IsId 668 +Type 1 +Init UnitBrightenEffectHeaderInit +Death UnitBrightenEffectHeaderDeath +.headerend +# ----------------------------------------------------------------------------- # + +UnitBrightenEffectHeaderInit: + playfram 0x00 + wait 1 + followmaingraphic +UnitBrightenEffectHeaderDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1550 Idol Weapon Hit +.headerstart +IsId 670 +Type 2 +Init IdolWeaponHitInit +Death IdolWeaponHitDeath +GndAttkInit IdolWeaponHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IdolWeaponHitInit: + wait 1 + sigorder 1 + wait 1 +IdolWeaponHitDeath: + domissiledmg + randcondjmp 36 IdolWeaponHitLocal01 + randcondjmp 36 IdolWeaponHitLocal02 + randcondjmp 36 IdolWeaponHitLocal03 + randcondjmp 36 IdolWeaponHitLocal04 + randcondjmp 36 IdolWeaponHitLocal05 + randcondjmp 36 IdolWeaponHitLocal06 + wait 1 + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +IdolWeaponHitLocal01: + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + end + +IdolWeaponHitLocal02: + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + end + +IdolWeaponHitLocal03: + playfram 12 + wait 1 + playfram 13 + wait 1 + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 14 + wait 1 + playfram 13 + wait 1 + playfram 12 + wait 1 + end + +IdolWeaponHitLocal04: + playfram 16 + wait 1 + playfram 17 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 17 + wait 1 + playfram 16 + wait 1 + end + +IdolWeaponHitLocal05: + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 22 + wait 1 + playfram 21 + wait 1 + playfram 20 + wait 1 + end + +IdolWeaponHitLocal06: + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 26 + wait 1 + playfram 25 + wait 1 + playfram 24 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1365 Warp Anchor Underlay +.headerstart +IsId 672 +Type 1 +Init WarpAnchorUnderlayInit +Death WarpAnchorDeath +.headerend +# ----------------------------------------------------------------------------- # + +WarpAnchorUnderlayInit: + playfram 2 + goto ShadowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1556 Blade Vortex Debuff (Small) +# 1557 Blade Vortex Debuff (Medium) +# 1558 Blade Vortex Debuff (Large) +.headerstart +IsId 673 +Type 1 +Init BladeVortexDebuffInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +BladeVortexDebuffInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 +BladeVortexDebuffLocal00: + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + goto BladeVortexDebuffLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1559 Stellar Enforcement Debuff (Small) +# 1560 Stellar Enforcement Debuff (Medium) +# 1561 Stellar Enforcement Debuff (Large) +# 1562 Stellar Enforcement Debuff (X-Large) +.headerstart +IsId 674 +Type 1 +Init StellarEnforcementDebuffInit +Death StellarEnforcementDebuffDeath +.headerend +# ----------------------------------------------------------------------------- # + +StellarEnforcementDebuffInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 +StellarEnforcementDebuffDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1563 Exemplar Death +.headerstart +IsId 675 +Type 1 +Init ExemplarDeathInit +Death ExemplarDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +ExemplarDeathInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 +ExemplarDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1564 Protoss Explosion (Small) +# 1565 Protoss Explosion (Medium) +# 1566 Protoss Explosion (Large) +.headerstart +IsId 676 +Type 1 +Init ProtossExplosionInit +Death ProtossExplosionDeath +.headerend +# ----------------------------------------------------------------------------- # + +ProtossExplosionInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 +ProtossExplosionDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1567 Star Sovereign Death +.headerstart +IsId 677 +Type 1 +Init StarSovereignDeathInit +Death StarSovereignDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +StarSovereignDeathInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 +StarSovereignDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1004 Matrix (cm\protoss\matrix.grp) +.headerstart +IsId 678 +Type 27 +Init MatrixInit +Death MatrixDeath +GndAttkInit MatrixGndAttkInit +AirAttkInit MatrixGndAttkInit +Unused1 [NONE] +GndAttkRpt MatrixGndAttkRpt +AirAttkRpt MatrixGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MatrixBuilt +AirAttkToIdle MatrixBuilt +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built MatrixBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking MatrixBuilt +WorkingToIdle MatrixBuilt +WarpIn MatrixWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable MatrixEnable +.headerend +# ----------------------------------------------------------------------------- # + +MatrixInit: + imgul 1010 0 0 # Matrix Shadow (cm\protoss\matrix-shadow.grp) + goto MatrixBuilt + +MatrixBuilt: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 0x00 + wait 1 + goto MatrixBuilt + +MatrixDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 223 0 0 # Protoss Building Rubble (Small) (thingy\PRubbleS.grp) + wait 1 + end + +MatrixGndAttkInit: + playfram 6 +MatrixGndAttkRpt: + wait 1 + attack + playsndbtwn 1157 1159 # Matrix weaponfire 01, 02, 03 + imgol 1163 0 -52 # Matrix impact + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + gotorepeatattk + ignorerest + goto MatrixBuilt + +MatrixEnable: + playfram 0x00 + goto MatrixBuilt + +MatrixWarpIn: + imgol 1012 0 0 # Matrix Warp Flash (cm\protoss\matrix.grp) + goto MatrixBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1276 Vagrant (cm\protoss\vagrant.grp) +.headerstart +IsId 689 +Type 21 +Init VagrantInit +Death VagrantDeath +GndAttkInit VagrantGndAttkInit +AirAttkInit VagrantGndAttkInit +Unused1 EcclesiastUnused1 +GndAttkRpt VagrantGndAttkRpt +AirAttkRpt VagrantGndAttkRpt +CastSpell [NONE] +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle +Unused2 [NONE] +Walking EcclesiastWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn VagrantWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +VagrantInit: + imgul 1277 0 -2 # Vagrant Shadow (cm\protoss\vagrant-shad.grp) + goto InfestedTerranWalkingToIdle + +VagrantDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +VagrantGndAttkInit: + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + goto VagrantGndAttkRpt +VagrantGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2126 2130 # Vagrant attack 01, 02, 03, 04, 05 + attackwith 1 + playfram 0x180 + wait 1 + playfram 0x160 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto EcclesiastGndAttkToIdle + +VagrantWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1284 Herald (cm\protoss\herald.grp) +.headerstart +IsId 690 +Type 21 +Init HeraldInit +Death HeraldDeath +GndAttkInit HeraldGndAttkInit +AirAttkInit HeraldGndAttkInit +Unused1 HeraldUnused1 +GndAttkRpt HeraldGndAttkInit +AirAttkRpt HeraldGndAttkInit +CastSpell [NONE] +GndAttkToIdle HeraldGndAttkToIdle +AirAttkToIdle HeraldGndAttkToIdle +Unused2 [NONE] +Walking HeraldWalking +WalkingToIdle HeraldWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn HeraldWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +HeraldInit: + imgul 1285 0 0 # Herald Shadow (cm\protoss\herald-shadow.grp) +HeraldLocal42: + playfram 0x00 + wait 1 + goto HeraldLocal00 + +HeraldLocal00: + 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 + playfram 0x00 + wait 1 + randcondjmp 24 HeraldLocal01 + goto HeraldLocal00 + +HeraldLocal01: + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x200 + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x2A0 + wait 1 + playfram 0x00 + wait 1 + goto HeraldLocal00 + +HeraldDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + playsnd 533 # Protoss\Panoptus\PScDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 1 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +HeraldUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1186 # Cantavis revive 01 + imgol 1445 0 0 # Zealot 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 HeraldLocal42 + +HeraldGndAttkInit: + playfram 0x2C0 + wait 1 + nobrkcodestart +# playfram 0x2E0 +# wait 1 + playfram 0x300 + wait 1 +# playfram 0x320 +# wait 1 + playfram 0x340 + wait 1 +# playfram 0x360 +# wait 1 + playfram 0x380 + wait 1 +# playfram 0x3A0 +# wait 1 + playfram 0x3C0 + wait 1 + playfram 0x3E0 + playsndbtwn 2158 2160 # Herald attack 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x400 + wait 1 + playfram 0x420 + wait 1 + playfram 0x440 + nobrkcodeend + gotorepeatattk + ignorerest + wait 1 + playfram 0x00 + wait 1 + goto HeraldGndAttkToIdle + +HeraldGndAttkToIdle: + playfram 0x00 + wait 1 + goto HeraldLocal00 + +HeraldWalking: + 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 + playfram 0x00 + wait 1 + goto HeraldWalking + +HeraldWalkingToIdle: + playfram 0x00 + goto HeraldLocal00 + +HeraldWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1288 Epigraph (cm\protoss\epigraph.grp) +.headerstart +IsId 691 +Type 21 +Init EpigraphInit +Death EpigraphDeath +GndAttkInit EpigraphGndAttkInit +AirAttkInit EpigraphGndAttkInit +Unused1 [NONE] +GndAttkRpt EpigraphGndAttkInit +AirAttkRpt EpigraphGndAttkInit +CastSpell [NONE] +GndAttkToIdle EpigraphGndAttkToIdle +AirAttkToIdle EpigraphGndAttkToIdle +Unused2 [NONE] +Walking EpigraphWalking +WalkingToIdle EpigraphWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +EpigraphInit: + imgul 1289 0 42 # Epigraph Shadow (cm\protoss\epigraph.grp) +EpigraphGndAttkToIdle: + playfram 0x00 + goto EpigraphWalkingToIdle + +EpigraphWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto EpigraphWalkingToIdle + +EpigraphDeath: + playsnd 533 # Protoss\Scout\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 223 0 42 # Protoss Building Rubble Small + wait 1 + end + +EpigraphGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 + playfram 0x20 + attackwith 1 + wait 1 + playfram 0x00 + wait 3 + playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 + playfram 0x40 + attackwith 1 + wait 1 + playfram 0x00 + wait 3 + playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 + playfram 0x60 + attackwith 1 + wait 1 + playfram 0x00 + wait 3 + playsndbtwn 2528 2530 # Epigraph weaponfire 01, 02, 03 + playfram 0x80 + attackwith 1 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto EpigraphLocal00 + +EpigraphLocal00: + wait 125 + goto EpigraphLocal00 + +EpigraphWalking: + setvertpos 0 + imgol 1301 0 0 # Epigraph Engines (cm\protoss\epigraph-engine.grp) + playfram 0x00 + goto EpigraphLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1639 Unitary Union (cm\protoss\unitary-union.grp) +.headerstart +IsId 712 +Type 27 +Init UnitaryUnionInit +Death GatewayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built InfestedTerranWalkingToIdle +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking UnitaryUnionIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn UnitaryUnionWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +UnitaryUnionInit: + imgul 1640 0 0 # Unitary Union Shadow (cm\protoss\unitary-union-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +UnitaryUnionIsWorking: + playfram 1 + wait 1 + 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 0 + wait 1 + goto UnitaryUnionIsWorking + +UnitaryUnionWarpIn: + imgol 1641 0 0 # Unitary Union Warp Flash (cm\protoss\unitary-union.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1660 Servitor (cm\protoss\servitor.grp) +.headerstart +IsId 718 +Type 12 +Init ServitorInit +Death ServitorDeath +GndAttkInit ServitorGndAttkInit +AirAttkInit ServitorGndAttkInit +Unused1 ServitorUnused1 +GndAttkRpt ServitorGndAttkInit +AirAttkRpt ServitorGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking ServitorWalking +WalkingToIdle ServitorWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ServitorInit: + imgul 1661 0 7 # Servitor shadow (cm\protoss\servitor.grp) + goto InfestedTerranWalkingToIdle + +ServitorWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto ServitorWalkingToIdle + +ServitorDeath: + playsnd 533 # Protoss\Aurora\PScDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 +# lowsprul 816 0 0 # Servitor Remains + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +ServitorUnused1: + wait 1 + nobrkcodestart + playsnd 1698 # Accantor revive 01 + sprol 745 0 0 # Medium Blue Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto ServitorWalkingToIdle + +ServitorGndAttkInit: + playfram 0x11 + playsndbtwn 2167 2171 # Servitor weaponfire 01, 02, 03, 04, 05 + attackwith 1 + wait 2 + playfram 0x00 + wait 2 + gotorepeatattk + goto InfestedTerranWalkingToIdle + +ServitorWalking: + setvertpos 0 + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1660 Positron (cm\protoss\positron.grp) +.headerstart +IsId 719 +Type 12 +Init PositronInit +Death PositronDeath +GndAttkInit PositronGndAttkInit +AirAttkInit PositronGndAttkInit +Unused1 PositronUnused1 +GndAttkRpt PositronGndAttkInit +AirAttkRpt PositronGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking PositronWalking +WalkingToIdle PositronWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PositronInit: + imgul 1661 0 10 # Positron shadow (cm\protoss\positron.grp) + goto InfestedTerranWalkingToIdle + +PositronWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto PositronWalkingToIdle + +PositronDeath: + playsnd 566 # Protoss\ARBITER\PAbDth00.WAV + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 846 0 0 # Protoss Unit Rubble Medium +# lowsprul 816 0 0 # Positron Remains + wait 1 + end + +PositronUnused1: + wait 1 + nobrkcodestart + playsnd 1698 # Accantor revive 01 + sprol 745 0 0 # Medium Blue Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto PositronWalkingToIdle + +PositronGndAttkInit: + playfram 0x11 + playsndbtwn 2172 2173 # Positron weaponfire 01, 02 + attackwith 1 + wait 2 + playfram 0x00 + wait 2 + gotorepeatattk + goto InfestedTerranWalkingToIdle + +PositronWalking: + setvertpos 0 + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1664 Anti-Matter Missile Hit (Damaging) (thingy\HKexplod.grp) +.headerstart +IsId 720 +Type 1 +Init AntiMatterMissileHitDamagingInit +Death AntiMatterMissileHitDamagingDeath +.headerend +# ----------------------------------------------------------------------------- # + +AntiMatterMissileHitDamagingInit: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 +AntiMatterMissileHitDamagingDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1665 Sycophant (cm\protoss\sycophant.grp) +.headerstart +IsId 721 +Type 21 +Init SycophantInit +Death SycophantDeath +GndAttkInit SycophantGndAttkInit +AirAttkInit [NONE] +Unused1 SycophantUnused1 +GndAttkRpt SycophantGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SycophantGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SycophantWalking +WalkingToIdle SycophantWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn SycophantWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +SycophantInit: + imgul 1666 0 0 # Sycophant shadow (cm\protoss\sycophant-shadow.grp) +SycophantWalkingToIdle: + playfram 0x00 +SycophantLocal00: + wait 62 + randcondjmp 25 SycophantLocal01 + goto SycophantLocal00 + +SycophantLocal01: + 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 + goto SycophantWalkingToIdle + +SycophantDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + lowsprul 847 0 0 # Protoss Unit Rubble Small + wait 1 + end + +SycophantUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1187 + imgol 1445 0 0 # Zealot 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 SycophantWalkingToIdle + +SycophantGndAttkInit: + playfram 0x00 + wait 1 +SycophantGndAttkRpt: + playsndrand 2 2198 2199 # Sycophant weaponfire 01, 02 + playfram 0x220 + wait 1 + nobrkcodestart + playfram 0x240 + attackwith 1 + playsnd 664 # Protoss\ZEALOT\pzeHit00.WAV + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x220 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +SycophantGndAttkToIdle: + goto SycophantWalkingToIdle + +SycophantWalking: + 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 + move 4 + wait 1 + playfram 0x200 + goto SycophantWalking + +SycophantWarpIn: + imgol 154 0 0 # Sycophant Warp Flash (protoss\zealot.grp) + goto SycophantLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1636 Ardent Authority (cm\protoss\ardent-authority.grp) +.headerstart +IsId 725 +Type 27 +Init ArdentAuthorityInit +Death ArdentAuthorityDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built ArdentAuthorityBuilt +Landing ArdentAuthorityLanding +LiftOff ArdentAuthorityLanding +IsWorking ArdentAuthorityIsWorking +WorkingToIdle ArdentAuthorityBuilt +WarpIn ArdentAuthorityWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable ArdentAuthorityDisable +Burrow [NONE] +UnBurrow [NONE] +Enable ArdentAuthorityEnable +.headerend +# ----------------------------------------------------------------------------- # + +ArdentAuthorityInit: + playfram 0x00 + imgul 1637 0 0 # Ardent Authority Shadow (cm\protoss\ardent-authority-shadow.grp) + goto ArdentAuthorityLanding + +ArdentAuthorityLanding: + wait 125 + goto ArdentAuthorityLanding + +ArdentAuthorityDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +ArdentAuthorityBuilt: + playfram 0x00 + goto ArdentAuthorityLanding + +ArdentAuthorityIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0 + goto ArdentAuthorityIsWorking + +ArdentAuthorityWarpIn: + imgol 1638 0 0 # Ardent Authority Warp Flash (cm\protoss\ardent-authority.grp) + goto ArdentAuthorityLanding + +ArdentAuthorityDisable: + playfram 3 + wait 1 + goto ArdentAuthorityBuilt + +ArdentAuthorityEnable: + playfram 0x00 + wait 1 + goto ArdentAuthorityBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1700 Optecton (cm\protoss\optecton.grp) +.headerstart +IsId 728 +Type 21 +Init OptectonInit +Death StarSovereignDeath +GndAttkInit OptectonGndAttkInit +AirAttkInit OptectonGndAttkInit +Unused1 [NONE] +GndAttkRpt OptectonGndAttkInit +AirAttkRpt OptectonGndAttkInit +CastSpell [NONE] +GndAttkToIdle OptectonGndAttkToIdle +AirAttkToIdle OptectonGndAttkToIdle +Unused2 [NONE] +Walking OptectonWalking +WalkingToIdle OptectonWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn OptectonWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +OptectonInit: + imgul 1625 0 0 # Optecton Shadow (cm\protoss\optecton-shad.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +OptectonGndAttkToIdle: + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +OptectonGndAttkInit: + playfram 0x00 +OptectonGndAttkRpt: + wait 1 + nobrkcodestart + wait 1 + playsnd 1557 # Architect charge 01 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 8 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x220 + imgoluselo 1855 0 0 # Optecton muzzle flash + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x240 + wait 3 + playfram 0x260 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto OptectonGndAttkToIdle + +OptectonWalking: + 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 + move 4 + wait 1 + playfram 0x200 + goto OptectonWalking + +OptectonWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +OptectonWarpIn: + imgol 125 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1276 Patriarch (cm\protoss\patriarch.grp) +.headerstart +IsId 729 +Type 21 +Init PatriarchInit +Death PatriarchDeath +GndAttkInit PatriarchGndAttkInit +AirAttkInit PatriarchGndAttkInit +Unused1 PatriarchUnused1 +GndAttkRpt PatriarchGndAttkInit +AirAttkRpt PatriarchGndAttkInit +CastSpell [NONE] +GndAttkToIdle PatriarchGndAttkToIdle +AirAttkToIdle PatriarchGndAttkToIdle +Unused2 [NONE] +Walking PatriarchWalking +WalkingToIdle PatriarchWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn PatriarchWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +PatriarchInit: + imgul 1627 0 0 # Patriarch Shadow (cm\protoss\patriarch-shadow.grp) + playfram 0x00 + wait 2 + goto PatriarchLocal00 + +PatriarchLocal00: + wait 62 + randcondjmp 25 PatriarchLocal01 + goto PatriarchLocal00 + +PatriarchLocal01: + 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 0x00 + goto PatriarchLocal00 + +PatriarchLocal42: + playfram 0x00 + goto PatriarchLocal00 + +PatriarchDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 1 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +PatriarchUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1186 # Cantavis revive 01 + imgol 1445 0 0 # Zealot 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 PatriarchLocal42 + +PatriarchGndAttkInit: + playfram 0x154 + wait 1 + nobrkcodestart + playfram 0x165 + playsndbtwn 2554 2556 # Patriarch attack 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x176 + wait 1 + playfram 0x187 + wait 1 + playfram 0x198 + wait 1 + playfram 0x1A9 + wait 1 + playfram 0x1BA + wait 1 + playfram 0x1CB + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto PatriarchGndAttkToIdle + +PatriarchGndAttkToIdle: + playfram 0x00 + wait 1 + goto PatriarchLocal00 + +PatriarchWalking: + move 5 + wait 1 + playfram 0x77 + move 5 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + 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 + goto PatriarchWalking + +PatriarchWalkingToIdle: + playfram 0x00 + goto PatriarchLocal00 + +PatriarchWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 245 Wraith Engine (terran\wraith-engine.grp) +# 1199 Aurora Engines (cm\protoss\aurora-engine.grp) +# 1206 Vassal Engines (cm\protoss\vassal-engine.grp) +.headerstart +IsId 730 +Type 15 +Init Engines_MultiGlowHeader_OmniInit +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_MultiGlowHeader_OmniInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Engines_MultiGlowHeader_OmniInit: + engframe 0 + wait 1 + engframe 32 + wait 1 + goto Engines_MultiGlowHeader_OmniInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1731 Analogue (cm\protoss\analogue.grp) +.headerstart +IsId 741 +Type 12 +Init AnalogueInit +Death AnalogueDeath +GndAttkInit AnalogueGndAttkInit +AirAttkInit AnalogueGndAttkInit +Unused1 [NONE] +GndAttkRpt AnalogueGndAttkInit +AirAttkRpt AnalogueGndAttkInit +CastSpell [NONE] +GndAttkToIdle AnalogueGndAttkToIdle +AirAttkToIdle AnalogueGndAttkToIdle +Unused2 [NONE] +Walking AnalogueWalking +WalkingToIdle AnalogueGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnalogueInit: + imgul 1732 0 7 # Analogue Shadow (cm\protoss\analogue-shadow.grp) + playfram 0x00 + wait 2 +AnalogueGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x00 + wait 2 + goto AnalogueGndAttkToIdle + +AnalogueDeath: + playsndbtwn 1239 1241 # Barghest death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 1 + lowsprul 846 0 0 # Protoss Unit Rubble Medium + wait 1 + end + +AnalogueGndAttkInit: + attack + gotorepeatattk + goto AnalogueGndAttkToIdle + +AnalogueWalking: + 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 0x00 + wait 1 + goto AnalogueWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1738 Phantom Strike Proc (thingy\halmind.grp) +.headerstart +IsId 744 +Type 1 +Init PhantomStrikeProcInit +Death PhantomStrikeProcDeath +.headerend +# ----------------------------------------------------------------------------- # + +PhantomStrikeProcInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 +PhantomStrikeProcDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1714 Engram (cm\protoss\engram.grp) +.headerstart +IsId 752 +Type 27 +Init EngramInit +Death NexusDeath +GndAttkInit EngramGndAttkInit +AirAttkInit EngramGndAttkInit +Unused1 [NONE] +GndAttkRpt EngramGndAttkInit +AirAttkRpt EngramGndAttkInit +CastSpell [NONE] +GndAttkToIdle EngramGndAttkToIdle +AirAttkToIdle EngramGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn EngramWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +EngramInit: + imgul 1715 0 0 # Engram Shadow (cm\protoss\engram-shad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +EngramGndAttkInit: + wait 1 + attack + playsndbtwn 2310 2313 # Optecton weapon fire 01, 02, 03, 04 + imgol 1163 0 -20 # Warden impact + gotorepeatattk + ignorerest +EngramGndAttkToIdle: + goto SkryrokorLocal00 + +EngramWarpIn: + imgol 1748 0 0 # Engram Warp Flash (cm\protoss\engram.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1170 Potentate (cm\protoss\potentate.grp) +.headerstart +IsId 759 +Type 21 +Init PotentateInit +Death PotentateDeath +GndAttkInit PotentateGndAttkInit +AirAttkInit PotentateGndAttkInit +Unused1 EcclesiastUnused1 +GndAttkRpt PotentateGndAttkRpt +AirAttkRpt PotentateGndAttkRpt +CastSpell [NONE] +GndAttkToIdle EcclesiastGndAttkToIdle +AirAttkToIdle EcclesiastGndAttkToIdle +Unused2 [NONE] +Walking EcclesiastWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 PotentateMeleeAttkRpt +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn PotentateWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +PotentateInit: + imgul 1172 0 0 # Potentate Shadow (cm\protoss\potentate-shad.grp) + goto InfestedTerranWalkingToIdle + +PotentateDeath: + playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV + imgol 153 0 0 # Zealot Death (protoss\zealot.grp) + wait 3 + lowsprul 818 0 0 # Potentate Remains + wait 1 + end + +PotentateGndAttkInit: + sigorder 32 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + goto PotentateGndAttkRpt +PotentateGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2523 2524 # Potentate attack 01, 02 + attackwith 2 + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + sigorder 32 + nobrkcodeend + gotorepeatattk + ignorerest + goto EcclesiastGndAttkToIdle + +PotentateMeleeAttkRpt: + playfram 0x1C0 + wait 1 + nobrkcodestart + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x200 + playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 + attackmelee 1 664 # Protoss\ZEALOT\pzeHit00.WAV + wait 1 + nobrkcodeend + playfram 0x220 + wait 1 + playfram 0x00 + gotorepeatattk + ignorerest + goto InfestedTerranWalkingToIdle + +PotentateWarpIn: + imgol 128 0 0 # Cantavis Warp Flash (protoss\templar.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1792 Adherent (cm\faction-p\adherent.grp) +.headerstart +IsId 768 +Type 21 +Init AdherentInit +Death LegionnaireDeath +GndAttkInit AdherentGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt AdherentGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle LegionnaireGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking LegionnaireWalking +WalkingToIdle GolemWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LegionnaireWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AdherentInit: + imgul 1793 0 0 # Adherent Shadow (cm\faction-p\adherent-shadow.grp) + goto GolemWalkingToIdle + +AdherentGndAttkInit: + playfram 0x100 + nobrkcodestart + wait 2 + playsndbtwn 1231 1234 # Amaranth weaponfire 01, 02, 03, 04 + playfram 0x120 + wait 1 + playfram 0x140 + attackmelee 1 1897 # Legionnaire weapon hit 01 + wait 1 + playfram 0x160 + wait 1 + nobrkcodeend + playfram 0x120 + wait 1 + gotorepeatattk + ignorerest + goto LegionnaireGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1851 Grand Library (cm\protoss\grand-library.grp) +.headerstart +IsId 778 +Type 27 +Init GrandLibraryInit +Death GrandLibraryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GrandLibrarySpecialState1 +SpecialState2 GrandLibrarySpecialState2 +AlmostBuilt GrandLibraryAlmostBuilt +Built SkryrokorLocal00 +Landing [NONE] +LiftOff [NONE] +IsWorking GrandLibraryIsWorking +WorkingToIdle GrandLibraryWorkingToIdle +WarpIn GrandLibraryAlmostBuilt +Unused3 [NONE] +StarEditInit [NONE] +Disable GrandLibraryDisable +Burrow [NONE] +UnBurrow [NONE] +Enable GrandLibraryEnable +.headerend +# ----------------------------------------------------------------------------- # + +GrandLibraryInit: + imgul 1852 0 0 # GrandLibrary Shadow (cm\protoss\grand-library-shadow.grp) + playfram 0x00 + wait 2 + goto SkryrokorLocal00 + +GrandLibraryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 215 0 0 # Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 224 0 0 # Protoss Building Rubble (Large) (thingy\PRubbleL.grp) + wait 1 + end + +GrandLibrarySpecialState1: + playsnd 528 # Protoss\SHUTTLE\pshBld00.wav + wait 1 + goto GrandLibraryLocal00 + +GrandLibraryLocal00: + wait 255 + goto GrandLibraryLocal00 + +GrandLibrarySpecialState2: + wait 1 + goto GrandLibraryWorkingToIdle + +GrandLibraryWorkingToIdle: + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 0 + goto SkryrokorLocal00 + +GrandLibraryAlmostBuilt: + imgol 1853 0 0 # Grand Library Warp Flash (cm\protoss\grand-library.grp) + goto SkryrokorLocal00 + +GrandLibraryIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + goto GrandLibraryLoop + +GrandLibraryLoop: + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 10 + wait 2 + playfram 9 + wait 2 + goto GrandLibraryLoop + +GrandLibraryDisable: + playfram 0x00 + wait 1 + playfram 15 + wait 2 + playfram 16 + wait 1 + goto SkryrokorLocal00 + +GrandLibraryEnable: + playfram 15 + wait 2 + playfram 0 + wait 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1854 Gladius Charge (cm\protoss\gladius-charge.grp) +.headerstart +IsId 779 +Type 1 +Init GladiusChargeInit +Death GladiusChargeDeath +.headerend +# ----------------------------------------------------------------------------- # + +GladiusChargeInit: + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + goto GladiusChargeInit +GladiusChargeDeath: + playfram 0 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1855 Optecton Muzzle Flash (cm\protoss\optecton-muzzle.grp) +.headerstart +IsId 780 +Type 1 +Init MuzzleFlashSingleInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MuzzleFlashSingleInit: + playfram 0x00 + wait 1 + end +# ----------------------------------------------------------------------------- # +# 1860 Ascension Small (cm\protoss\ascension-small.grp) +# 1861 Ascension Medium (cm\protoss\ascension-medium.grp) +# 1862 Ascension Large (cm\protoss\ascension-large.grp) +# 1863 Ascension XLarge (cm\protoss\ascension-xlarge.grp) +.headerstart +IsId 781 +Type 1 +Init AscensionProcInit +Death AscensionProcDeath +.headerend +# ----------------------------------------------------------------------------- # + +AscensionProcInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 +AscensionProcLoop: + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + goto AscensionProcLoop +AscensionProcDeath: + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1864 Astral Rule Small (cm\protoss\astral-rule-small.grp) +# 1865 Astral Rule Medium (cm\protoss\astral-rule-medium.grp) +# 1866 Astral Rule Large (cm\protoss\astral-rule-large.grp) +# 1867 Astral Rule XLarge (cm\protoss\astral-rule-xlarge.grp) +.headerstart +IsId 782 +Type 1 +Init AstralRuleInit +Death AstralRuleDeath +.headerend +# ----------------------------------------------------------------------------- # + +AstralRuleInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +AstralRuleLocal00: + 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 18 + wait 1 + playfram 19 + goto AstralRuleLocal00 + +AstralRuleDeath: + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1868 Magister Weapon Impact (cm\protoss\magister-weaponhit.grp) +.headerstart +IsId 783 +Type 2 +Init MagisterWeaponhitInit +Death MagisterWeaponhitDeath +GndAttkInit MagisterWeaponhitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MagisterWeaponhitInit: + wait 1 + sigorder 1 + wait 1 +MagisterWeaponhitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 2 + wait 1 + playfram 4 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1876 Positron Projectile (cm\protoss\positron-projectile.grp) +.headerstart +IsId 786 +Type 2 +Init PositronProjectileInit +Death PositronProjectileDeath +GndAttkInit PositronProjectileLoop +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PositronProjectileInit: + playfram 25 + wait 1 + sigorder 1 + wait 1 + playfram 26 + wait 1 + playfram 27 +PositronProjectileLoop: + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + goto PositronProjectileLoop + +PositronProjectileDeath: + playsnd 2848 # Panoptus weaponhit 01 + domissiledmg + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1877 Demiurge Worship Overlay Small (cm\protoss\demiurge-worship-overlay-small.grp) +# 1878 Demiurge Worship Overlay Medium (cm\protoss\demiurge-worship-overlay-medium.grp) +# 1879 Demiurge Worship Overlay Large (cm\protoss\demiurge-worship-overlay-large.grp) +# 1880 Demiurge Worship Overlay XLarge (cm\protoss\demiurge-worship-overlay-xlarge.grp) +.headerstart +IsId 787 +Type 1 +Init DemiurgeWorshipProcInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DemiurgeWorshipProcInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1882 Mind Tyrant Tyranny Cast Overlay (cm\protoss\mind-tyrant-tyranny-cast-overlay.grp) +.headerstart +IsId 788 +Type 1 +Init MindTyrantTyrannyCastOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MindTyrantTyrannyCastOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + end + + + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1856 Avenge Small (cm\protoss\avenge-small.grp) +# 1857 Avenge Medium (cm\protoss\avenge-medium.grp) +# 1858 Avenge Large (cm\protoss\avenge-large.grp) +# 1859 Avenge XLarge (cm\protoss\avenge-xlarge.grp) +.headerstart +IsId 790 +Type 1 +Init AvengeProcInit +Death AvengeProcDeath +.headerend +# ----------------------------------------------------------------------------- # + +AvengeProcInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +AvengeProcLoop: + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + playfram 62 + wait 1 + playfram 63 + wait 1 + playfram 64 + wait 1 + playfram 65 + wait 1 + playfram 66 + wait 1 + playfram 67 + wait 1 + playfram 68 + wait 1 + playfram 69 + wait 1 + playfram 70 + wait 1 + playfram 71 + wait 1 + playfram 72 + wait 1 + playfram 73 + wait 1 + playfram 74 + wait 1 + playfram 75 + wait 1 + playfram 76 + wait 1 + playfram 77 + wait 1 + playfram 78 + wait 1 + playfram 79 + wait 1 + playfram 80 + wait 1 + playfram 81 + wait 1 + playfram 82 + wait 1 + playfram 83 + wait 1 + playfram 84 + wait 1 + playfram 85 + wait 1 + playfram 86 + wait 1 + playfram 87 + wait 1 + playfram 88 + wait 1 + playfram 89 + wait 1 + playfram 90 + wait 1 + playfram 91 + wait 1 + playfram 92 + wait 1 + playfram 93 + wait 1 + playfram 94 + goto AvengeProcLoop + +AvengeProcDeath: + playfram 95 + wait 1 + playfram 97 + wait 1 + playfram 99 + wait 1 + playfram 101 + wait 1 + playfram 102 + wait 1 + playfram 103 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1946 Vibrance (cm\protoss\vibrance.grp) +.headerstart +IsId 798 +Type 12 +Init VibranceInit +Death AnalogueDeath +GndAttkInit VibranceGndAttkInit +AirAttkInit VibranceGndAttkInit +Unused1 [NONE] +GndAttkRpt VibranceGndAttkInit +AirAttkRpt VibranceGndAttkInit +CastSpell [NONE] +GndAttkToIdle VibranceGndAttkToIdle +AirAttkToIdle VibranceGndAttkToIdle +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle VibranceGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VibranceInit: + imgul 1947 0 7 # Vibrance Shadow (cm\protoss\vibrance.grp) +VibranceGndAttkToIdle: + playfram 0x00 + wait 1 + goto SkryrokorLocal00 + +VibranceGndAttkInit: + attack + gotorepeatattk + goto VibranceGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1958 Cicatus (cm\faction-p\cicatus.grp) +.headerstart +IsId 800 +Type 21 +Init CicatusInit +Death LegionnaireDeath +GndAttkInit LegionnaireGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt LegionnaireGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle LegionnaireGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking LegionnaireWalking +WalkingToIdle GolemWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LegionnaireWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +CicatusInit: + imgul 1959 0 0 # Cicatus Shadow (cm\faction-p\cicatus-shadow.grp) + goto GolemWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1978 Oscilliant (cm\protoss\oscilliant.grp) +.headerstart +IsId 806 +Type 12 +Init OscilliantInit +Death AtreusDeath +GndAttkInit OscilliantGndAttkInit +AirAttkInit OscilliantGndAttkInit +Unused1 [NONE] +GndAttkRpt OscilliantGndAttkRpt +AirAttkRpt OscilliantGndAttkRpt +CastSpell [NONE] +GndAttkToIdle OscilliantGndAttkToIdle +AirAttkToIdle OscilliantGndAttkToIdle +Unused2 [NONE] +Walking OscilliantWalking +WalkingToIdle OscilliantGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OscilliantInit: + imgul 1979 0 0 # Oscilliant Shadow (cm\protoss\oscilliant-shad.grp) +OscilliantGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +OscilliantGndAttkInit: + playfram 0xdd + wait 1 +OscilliantGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0xff + attack + wait 1 + playfram 0x110 + wait 6 + playfram 0xff + attack + wait 1 + playfram 0x110 + wait 6 + playfram 0xff + attack + wait 1 + playfram 0x110 + wait 6 + playfram 0xff + attack + wait 1 + playfram 0x110 + wait 6 + playfram 0xff + attack + wait 1 + playfram 0x110 + wait 1 + playfram 0xff + wait 1 + playfram 0xee + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto OscilliantGndAttkToIdle + +OscilliantWalking: + move 5 + wait 1 + playfram 0x55 + move 5 + wait 1 + playfram 0x66 + move 5 + wait 1 + playfram 0x77 + move 5 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + goto OscilliantWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1981 Renesair (cm\faction-p\renesair.grp) +.headerstart +IsId 807 +Type 21 +Init RenesairInit +Death RenesairDeath +GndAttkInit VassalGndAttkInit +AirAttkInit VassalGndAttkInit +Unused1 [NONE] +GndAttkRpt VassalGndAttkInit +AirAttkRpt VassalGndAttkInit +CastSpell [NONE] +GndAttkToIdle VassalGndAttkToIdle +AirAttkToIdle VassalGndAttkToIdle +Unused2 [NONE] +Walking RenesairWalking +WalkingToIdle VassalWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +RenesairInit: + imgul 1982 0 42 # Renesair Shadow (cm\faction-p\renesair.grp) + goto VassalGndAttkToIdle + +RenesairDeath: + playsndbtwn 3060 3062 # Vassal death 01, 02, 03 + imgol 213 0 0 # Explosion1 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 973 0 42 # Renesair remains + wait 1 + end + +RenesairWalking: + setvertpos 0 + playfram 0x00 + imgol 1983 0 0 # Renesair Engines (cm\faction-p\renesair-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1985 Unar (cm\protoss\unar.grp) +.headerstart +IsId 809 +Type 21 +Init UnarInit +Death UnarDeath +GndAttkInit UnarGndAttkInit +AirAttkInit UnarGndAttkInit +Unused1 [NONE] +GndAttkRpt UnarGndAttkInit +AirAttkRpt UnarGndAttkInit +CastSpell [NONE] +GndAttkToIdle UnarGndAttkToIdle +AirAttkToIdle UnarGndAttkToIdle +Unused2 [NONE] +Walking UnarWalking +WalkingToIdle ArchitectWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn LanifectWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +UnarInit: + imgul 1986 0 0 # Unar Shadow (cm\protoss\unar-shadow.grp) +UnarGndAttkToIdle: + playfram 0x00 + goto ArchitectWalkingToIdle + +UnarDeath: + playsnd 2860 # Exemplar death 01 + imgol 1565 0 0 # Protoss Explosion (Medium) + wait 5 + imgol 1563 -8 0 # Exemplar Death + imgol 1563 0 -8 # Exemplar Death + wait 2 + imgol 1563 6 -4 # Exemplar Death + imgol 1563 -4 6 # Exemplar Death + wait 3 + lowsprul 846 0 42 # Protoss Unit Rubble Medium + wait 1 + end + +UnarGndAttkInit: + nobrkcodestart + playsndbtwn 3338 3340 # Unar weapon charge 01, 02, 03 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 7 + imgol 1820 0 0 # Architect charge overlay + wait 8 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 1 + sigorder 32 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +UnarWalking: + playfram 0x00 + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1991 Xenolith (cm\protoss\xenolith.grp) +.headerstart +IsId 811 +Type 27 +Init XenolithInit +Death GatewayDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built XenolithBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking XenolithLocal01 +WorkingToIdle XenolithLocal01 +WarpIn XenolithWarpIn +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +UnBurrow [NONE] +Enable SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +XenolithInit: + imgul 1992 0 0 # Xenolith Shadow (cm\protoss\xenolith-shadow.grp) +XenolithBuilt: + playfram 5 + goto XenolithLocal01 + +XenolithLocal01: + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 10 + goto XenolithLocal01 + +XenolithWarpIn: + imgol 1992 0 0 # Xenolith Warp Flash (cm\protoss\xenolith.grp) + goto XenolithBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# All shadows +.headerstart +IsId 275 +Type 1 +Init ShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ShadowHeaderInit: + wait 1 + followmaingraphic + goto ShadowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 976 Optical Flare Hit (Small) (thingy\TmeFlshS.grp) +# 977 Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) +# 978 Optical Flare Hit (Large) (thingy\TmeFlshL.grp) +.headerstart +IsId 391 +Type 1 +Init OpticalFlareHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +OpticalFlareHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1060 Khaydarin Charge Overlay (cm\effect\treasury-overlay.grp) +.headerstart +IsId 440 +Type 1 +Init KhaydarinChargeInit +Death KhaydarinChargeDeath +.headerend +# ----------------------------------------------------------------------------- # + +KhaydarinChargeInit: + playfram 0x00 + wait 2 +KhaydarinChargeLocal00: + playfram 1 + 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 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 1 +KhaydarinChargeDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2035 Large Protoss Laser (neutral\DataDisk.grp) +.headerstart +IsId 827 +Type 2 +Init LargeProtossLaserInit +Death LargeProtossLaserDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LargeProtossLaserInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +LargeProtossLaserDeath: + imgol 1105 0 0 # Burst Lasers Hit (Blue) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 004 Skryrokor Explosion (zerg\zavExplo.grp) +.headerstart +IsId 3 +Type 1 +Init SkryrokorExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorExplosionInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1478 Creep Morph Overlay (cm\zerg\creep-morph-overlay.grp) +# 1484 Resource Boost Overlay (Small) (cm\effect\resource-boost-overlay-small.grp) +# 1484 Resource Boost Overlay (Medium) (cm\effect\resource-boost-overlay-medium.grp) +# 1484 Resource Boost Overlay (Large) (cm\effect\resource-boost-overlay-large.grp) +.headerstart +IsId 640 +Type 1 +Init CreepMorphOverlayInit +Death CreepMorphOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +CreepMorphOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 + tmprmgraphicstart + wait 15 +CreepMorphOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1659 Durendal weaponfire (cm\terran\durendal-weaponfire.grp) +.headerstart +IsId 717 +Type 1 +Init DurendalWeaponfireInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DurendalWeaponfireInit: + playfram 0x00 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + goto Generic_Wait1End diff --git a/mpq/scripts/iscript_terran.bin b/mpq/scripts/iscript_terran.bin new file mode 100644 index 0000000000000000000000000000000000000000..989410c509138f797d4257dc1dcf290bfcb3924e GIT binary patch literal 37859 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 UYM$*So|Nt1YW=n!J0`^c18jv(`Tzg` literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_terran.txt b/mpq/scripts/iscript_terran.txt new file mode 100644 index 0000000..0c905b0 --- /dev/null +++ b/mpq/scripts/iscript_terran.txt @@ -0,0 +1,18778 @@ +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 218 Minotaur (terran\BattleCr.grp) +.headerstart +IsId 66 +Type 12 +Init MinotaurInit +Death MinotaurDeath +GndAttkInit MinotaurGndAttkInit +AirAttkInit MinotaurAirAttkInit +Unused1 [NONE] +GndAttkRpt MinotaurGndAttkInit +AirAttkRpt MinotaurAirAttkInit +CastSpell MinotaurCastSpell +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle SkryrokorLocal00 +Unused2 [NONE] +Walking MinotaurWalking +WalkingToIdle MinotaurWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MinotaurInit: + imgul 219 0 42 # Minotaur Shadow (terran\BattleCr.grp) + playfram 0x00 + goto SkryrokorLocal00 + +MinotaurDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 42 # Terran Building Rubble Small + wait 1 + end + +MinotaurGndAttkInit: + imgol 446 0 0 # Minotaur Attack Overlay (thingy\elbBat.grp) + goto MinotaurLocal00 + +MinotaurLocal00: + wait 1 + attackwith 1 + playsndbtwn 1302 1306 # Minotaur weapon fire 01, 02, 03, 04, 05 + gotorepeatattk + goto SkryrokorLocal00 + +MinotaurAirAttkInit: + imgol 446 0 0 # Minotaur Attack Overlay (thingy\elbBat.grp) + goto MinotaurLocal01 + +MinotaurLocal01: + wait 1 + attackwith 2 + playsndbtwn 1302 1306 # Minotaur weapon fire 01, 02, 03, 04, 05 + gotorepeatattk + goto SkryrokorLocal00 + +MinotaurCastSpell: + imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) + goto SkryrokorLocal00 + +MinotaurWalking: + imgol 220 0 0 # Minotaur Engines (thingy\tbaGlow.grp) + goto SkryrokorLocal00 + +MinotaurWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto MinotaurWalkingToIdle + +InfestedTerranWalkingToIdle: + playfram 0x00 +SkryrokorLocal00: + wait 125 + goto SkryrokorLocal00 + +Generic_Wait1End: + wait 1 + end + +LiftedTerranStructureDeath: + lowsprul 274 0 42 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +LiftedTerranStructureDeath_Small: + lowsprul 273 0 42 # Terran Building Rubble (Small) (thingy\RubbleS.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 221 Civilian (neutral\civilian.grp) +.headerstart +IsId 67 +Type 12 +Init CivilianInit +Death CivilianDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking CivilianWalking +WalkingToIdle CivilianWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CivilianInit: + imgul 222 0 0 # Civilian Shadow (neutral\nciShad.grp) +CivilianWalkingToIdle: + playfram 0x77 +CivilianLocal00: + wait 62 + randcondjmp 128 CivilianLocal01 + goto CivilianLocal00 + +CivilianLocal01: + turnrand 3 + goto CivilianWalkingToIdle + +CivilianDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + imgol 242 0 0 # Marine Death (terran\marine.grp) + wait 1 + end + +CivilianWalking: + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + goto CivilianWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 223 Trojan (terran\dropship.grp) +.headerstart +IsId 68 +Type 12 +Init TrojanInit +Death TrojanDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking TrojanWalking +WalkingToIdle TrojanLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TrojanInit: + imgul 224 0 42 # Trojan Shadow (terran\dropship.grp) + playfram 0x00 +TrojanLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto TrojanLocal00 + +TrojanDeath: + playsnd 210 # Terran\DROPSHIP\TDrDth00.wav + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 920 0 42 # Trojan remains + wait 1 + end + +TrojanWalking: + setvertpos 0 + imgol 225 0 5 # Trojan Engines (thingy\tdrGlow.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 226 Harakan (terran\firebat.grp) +.headerstart +IsId 69 +Type 12 +Init HarakanInit +Death HarakanDeath +GndAttkInit HarakanGndAttkInit +AirAttkInit [NONE] +Unused1 HarakanUnused1 +GndAttkRpt HarakanGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle HarakanGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking HarakanWalking +WalkingToIdle HarakanWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HarakanInit: + imgul 227 0 0 # Harakan Shadow (terran\tfbShad.grp) +HarakanWalkingToIdle: + playfram 0x40 +HarakanLocal00: + wait 63 + randcondjmp 25 HarakanLocal01 + randcondjmp 128 HarakanLocal02 + goto HarakanLocal00 + +HarakanLocal01: + playfram 0x00 + wait 1 + randcondjmp 192 HarakanLocal03 + 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 HarakanWalkingToIdle + +HarakanLocal03: + wait 13 + goto HarakanWalkingToIdle + +HarakanLocal02: + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + turnrand 3 + wait 1 + playfram 0x60 + wait 1 + goto HarakanWalkingToIdle + +HarakanDeath: + playsndbtwn 296 298 # Terran\Firebat\TFBDth00.WAV | Terran\Firebat\TFBDth02.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + setfldirect 0 +# playfram 170 + wait 2 +# playfram 171 + wait 2 +# playfram 172 + wait 2 +# playfram 173 + wait 2 +# playfram 174 +# wait 2 +# playfram 175 +# wait 2 +# playfram 176 +# wait 2 +# playfram 177 +# wait 2 + lowsprul 615 0 0 # Harakan Remnants (cm\terran\harakan-remnants.grp) + wait 1 + end + +HarakanUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1163 1165 + sprol 742 0 0 # Explosion Small Reversed +# playfram 176 + wait 2 +# playfram 175 + wait 2 +# playfram 174 + wait 2 +# playfram 173 + wait 2 +# playfram 172 + wait 2 +# playfram 171 + wait 2 +# playfram 170 + wait 2 + setfldirect 12 + nobrkcodeend + goto HarakanWalkingToIdle + +HarakanGndAttkInit: + playfram 0x00 +HarakanGndAttkRpt: + wait 1 + nobrkcodestart + imgol 421 0 0 # FlameThrower (thingy\flamer.grp) + playfram 0x20 + attkshiftproj 24 + sigorder 32 + wait 1 + attkshiftproj 52 + sigorder 32 + wait 1 + attkshiftproj 80 + sigorder 32 + wait 5 + playfram 0x00 + wait 2 + ignorerest +HarakanGndAttkToIdle: + goto HarakanWalkingToIdle + +HarakanWalking: + 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 0x40 + goto HarakanWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 228 Eidolon (terran\ghost.grp) +.headerstart +IsId 70 +Type 13 +Init EidolonInit +Death EidolonDeath +GndAttkInit EidolonGndAttkInit +AirAttkInit EidolonGndAttkInit +Unused1 EidolonUnused1 +GndAttkRpt EidolonGndAttkRpt +AirAttkRpt EidolonGndAttkRpt +CastSpell EidolonCastSpell +GndAttkToIdle EidolonGndAttkToIdle +AirAttkToIdle EidolonGndAttkToIdle +Unused2 [NONE] +Walking EidolonWalking +WalkingToIdle EidolonWalkingToIdle +SpecialState1 EidolonSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +EidolonInit: + imgul 229 0 0 # Eidolon Shadow (terran\tghShad.grp) +EidolonWalkingToIdle: + playfram 0x33 +EidolonLocal00: + wait 63 + randcondjmp 25 EidolonLocal01 + randcondjmp 128 EidolonLocal02 + goto EidolonLocal00 + +EidolonLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 EidolonLocal03 + 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 EidolonLocal04 + +EidolonLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto EidolonWalkingToIdle + +EidolonLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto EidolonWalkingToIdle + +EidolonLocal02: + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + turnrand 3 + wait 1 + playfram 0x44 + wait 1 + goto EidolonWalkingToIdle + +EidolonDeath: + playsnd 238 # Terran\GHOST\TGhDth00.wav + goto EidolonDeathInit + +EidolonUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1166 # Eidolon revive 01 + 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 EidolonWalkingToIdle + +EidolonGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +EidolonGndAttkRpt: + wait 1 + nobrkcodestart + attack + playfram 0xcc + wait 1 + playfram 0x22 + nobrkcodeend + gotorepeatattk + ignorerest +EidolonGndAttkToIdle: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto EidolonWalkingToIdle + +EidolonCastSpell: + nobrkcodestart + wait 1 + playsnd 240 # Terran\GHOST\TGhLkd00.wav + castspell + playfram 0xcc + wait 2 + playfram 0x22 + nobrkcodeend + gotorepeatattk + sigorder 2 + goto EidolonGndAttkToIdle + +EidolonWalking: + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0x33 + goto EidolonWalking + +EidolonSpecialState1: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 231 Eidolon Death (terran\ghost.grp) +.headerstart +IsId 72 +Type 1 +Init EidolonDeathInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +EidolonDeathInit: + setfldirect 0 + playfram 0xdd + 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 + lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 232 Nuke Beam (thingy\NukeBeam.grp) +.headerstart +IsId 73 +Type 12 +Init NukeBeamInit +Death NukeBeamDeath +GndAttkInit NukeBeamDeath +AirAttkInit NukeBeamDeath +Unused1 [NONE] +GndAttkRpt NukeBeamDeath +AirAttkRpt NukeBeamDeath +CastSpell [NONE] +GndAttkToIdle NukeBeamDeath +AirAttkToIdle NukeBeamDeath +Unused2 [NONE] +Walking NukeBeamDeath +WalkingToIdle NukeBeamDeath +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NukeBeamInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + goto NukeBeamInit + +NukeBeamDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 233 Nuke Target Dot (thingy\NukeTarg.grp) +.headerstart +IsId 74 +Type 1 +Init NukeTargetDotInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +NukeTargetDotInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto NukeTargetDotInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 234 Goliath Base (terran\goliath.grp) +.headerstart +IsId 75 +Type 12 +Init Goliath_Base_Init +Death Goliath_Base_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 Goliath_Base_Unused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Goliath_Base_Walking +WalkingToIdle Goliath_Base_WalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Goliath_Base_Init: + imgul 236 0 0 # Goliath Shadow (terran\tgoShad.grp) +Goliath_Base_WalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +Goliath_Base_Death: + playsnd 2820 # Goliath death 01 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 817 0 0 # Goliath Remains + end + +Goliath_Base_Unused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 + wait 12 + setfldirect 13 + nobrkcodeend + goto Goliath_Base_WalkingToIdle + +Goliath_Base_Walking: + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + 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 Goliath_Base_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 235 Goliath Turret (terran\goliathT.grp) +.headerstart +IsId 76 +Type 12 +Init Goliath_Turret_Init +Death Generic_Wait1End +GndAttkInit Goliath_Turret_GndAttkInit +AirAttkInit Goliath_Turret_AirAttkInit +Unused1 [NONE] +GndAttkRpt Goliath_Turret_GndAttkRpt +AirAttkRpt Goliath_Turret_AirAttkInit +CastSpell [NONE] +GndAttkToIdle Goliath_Turret_Init +AirAttkToIdle Goliath_Turret_Init +Unused2 [NONE] +Walking Goliath_Turret_Walking +WalkingToIdle Goliath_Turret_Init +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Goliath_Turret_Init: + playfram 0x00 + goto SkryrokorLocal00 + +Goliath_Turret_GndAttkInit: + playsndbtwn 3201 3203 # Goliath windup 01, 02, 03 + wait 5 +Goliath_Turret_GndAttkRpt: + wait 1 + nobrkcodestart + playfram 0xdd + playsnd 70 # Bullet\TGoFir00.wav + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto Goliath_Turret_Init + +Goliath_Turret_AirAttkInit: + wait 1 + attackwith 2 + playsndbtwn 1293 1294 # Goliath air weapon fire 01, 02 + gotorepeatattk + goto Goliath_Turret_Init + +Goliath_Turret_Walking: + move 0 + wait 1 + playfram 0x99 + move 0 + wait 1 + playfram 0xaa + move 0 + wait 1 + playfram 0xbb + move 0 + wait 1 + playfram 0xcc + move 0 + wait 1 + playfram 0x11 + move 0 + wait 1 + playfram 0x22 + move 0 + wait 1 + playfram 0x33 + move 0 + wait 1 + playfram 0x44 + move 0 + wait 1 + playfram 0x55 + move 0 + wait 1 + playfram 0x66 + move 0 + wait 1 + playfram 0x77 + move 0 + wait 1 + playfram 0x88 + goto Goliath_Turret_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 237 Sarah Kerrigan (terran\ughost.grp) +# 1615 Silvertongue (cm\terran\silvertongue.grp) +.headerstart +IsId 77 +Type 13 +Init SarahKerriganInit +Death SarahKerriganDeath +GndAttkInit SarahKerriganGndAttkInit +AirAttkInit SarahKerriganGndAttkInit +Unused1 [NONE] +GndAttkRpt SarahKerriganGndAttkRpt +AirAttkRpt SarahKerriganGndAttkRpt +CastSpell SarahKerriganCastSpell +GndAttkToIdle SarahKerriganGndAttkToIdle +AirAttkToIdle SarahKerriganGndAttkToIdle +Unused2 [NONE] +Walking SarahKerriganWalking +WalkingToIdle SarahKerriganWalkingToIdle +SpecialState1 SarahKerriganSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +SarahKerriganInit: + imgul 238 0 0 # Sarah Kerrigan Shadow (terran\ughShad.grp) +SarahKerriganWalkingToIdle: + playfram 0x33 +SarahKerriganLocal00: + wait 63 + randcondjmp 25 SarahKerriganLocal01 + randcondjmp 128 SarahKerriganLocal02 + goto SarahKerriganLocal00 + +SarahKerriganLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 SarahKerriganLocal03 + 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 SarahKerriganLocal04 + +SarahKerriganLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto SarahKerriganWalkingToIdle + +SarahKerriganLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto SarahKerriganWalkingToIdle + +SarahKerriganLocal02: + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + turnrand 3 + wait 1 + playfram 0x44 + wait 1 + goto SarahKerriganWalkingToIdle + +SarahKerriganDeath: + playsnd 470 # Terran\KERRIGAN\UKeDth00.wav + imgol 231 0 0 # Eidolon Death (terran\ghost.grp) + wait 1 + end + +SarahKerriganGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +SarahKerriganGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2479 2483 # Silvertongue weaponfire 01 ... 05 + attack + playfram 0xcc + wait 1 + playfram 0x22 + nobrkcodeend + gotorepeatattk + ignorerest +SarahKerriganGndAttkToIdle: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto SarahKerriganWalkingToIdle + +SarahKerriganCastSpell: + nobrkcodestart + wait 1 + playsnd 240 # Terran\GHOST\TGhLkd00.wav + castspell + playfram 0xcc + wait 2 + playfram 0x22 + nobrkcodeend + gotorepeatattk + sigorder 2 + goto SarahKerriganGndAttkToIdle + +SarahKerriganWalking: + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0x33 + goto SarahKerriganWalking + +SarahKerriganSpecialState1: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 239 Maverick (terran\marine.grp) +.headerstart +IsId 78 +Type 12 +Init MaverickInit +Death MaverickDeath +GndAttkInit MaverickGndAttkInit +AirAttkInit MaverickGndAttkInit +Unused1 MaverickUnused1 +GndAttkRpt MaverickGndAttkRpt +AirAttkRpt MaverickGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MaverickGndAttkToIdle +AirAttkToIdle MaverickGndAttkToIdle +Unused2 [NONE] +Walking MaverickWalking +WalkingToIdle MaverickWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MaverickInit: + imgul 240 0 0 # Maverick Shadow (cm\terran\Maverick-shadow.grp) +MaverickWalkingToIdle: + playfram 0x44 +MaverickLocal00: + wait 63 + randcondjmp 25 MaverickLocal01 + randcondjmp 128 MaverickLocal02 + goto MaverickLocal00 + +MaverickLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 MaverickLocal03 + 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 MaverickLocal04 + +MaverickLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto MaverickWalkingToIdle + +MaverickLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto MaverickWalkingToIdle + +MaverickLocal02: + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + turnrand 3 + wait 1 + playfram 0x55 + wait 1 + goto MaverickWalkingToIdle + +MaverickDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + setfldirect 0 + 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 + lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) + wait 1 + end + +MaverickUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1161 1162 + 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 MaverickWalkingToIdle + +MaverickGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +MaverickGndAttkRpt: + wait 1 + nobrkcodestart + attackwith 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +MaverickGndAttkToIdle: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto MaverickWalkingToIdle + +MaverickWalking: + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0x44 + goto MaverickWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 241 Maverick Remnants (terran\tmaDeath.grp) +# 1234 Harakan Remnants (cm\terran\harakan-remnants.grp) +# 1474 Izirokor Remnants (cm\zerg\izirokor-corpse.grp) +.headerstart +IsId 79 +Type 1 +Init GenericRemnantsThreeInit +Death GenericRemnantsThreeDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsThreeInit: + playfram 0x00 + wait 239 +GenericRemnantsThreeDeath: + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 242 Maverick Death (terran\marine.grp) +.headerstart +IsId 80 +Type 1 +Init MaverickDeathInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MaverickDeathInit: + setfldirect 0 + playfram 0xdd + 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 + lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 246 Scanner Sweep (terran\marine.grp) +.headerstart +IsId 81 +Type 1 +Init ScannerSweepInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ScannerSweepInit: + playsnd 388 # Terran\bldg\tcsSca00.WAV + sprol 380 0 0 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 6 + sprol 380 32 32 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 2 + sprol 380 48 5 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 5 + sprol 380 32 -32 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 2 + sprol 380 -5 -48 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 2 + sprol 380 -32 -32 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 5 + sprol 380 -48 -2 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 3 + sprol 380 -32 32 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 5 + sprol 380 3 48 # Scanner Sweep Hit (thingy\eveCast.grp) + wait 63 + wait 63 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 243 Wraith (terran\wraith.grp) +.headerstart +IsId 82 +Type 12 +Init WraithInit +Death WraithDeath +GndAttkInit WraithGndAttkInit +AirAttkInit WraithGndAttkInit +Unused1 [NONE] +GndAttkRpt WraithGndAttkInit +AirAttkRpt WraithGndAttkInit +CastSpell [NONE] +GndAttkToIdle WraithGndAttkToIdle +AirAttkToIdle WraithGndAttkToIdle +Unused2 [NONE] +Walking WraithWalking +WalkingToIdle WraithGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WraithInit: + imgul 244 0 42 # Wraith Shadow (terran\wraith.grp) + playfram 0x00 + goto WraithGndAttkToIdle + +WraithGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto WraithGndAttkToIdle + +WraithDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 822 0 42 # Wraith Remains (cm\terran\wraith-remains.grp) + end + +WraithGndAttkInit: + nobrkcodestart + wait 1 + playfram 0x20 + attackwith 1 + attackwith 1 + playsnd 74 # Bullet\TPhFi100.wav + wait 1 + playfram 0x00 + gotorepeatattk + nobrkcodeend + goto SkryrokorLocal00 + +WraithWalking: + setvertpos 0 + imgol 245 0 0 # Wraith Engines (terran\wraith-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 245 Wraith Engines (thingy\tphGlow.grp) +.headerstart +IsId 83 +Type 12 +Init WraithAfterburnersInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit Generic_Wait1End +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle Generic_Wait1End +AirAttkToIdle Generic_Wait1End +Unused2 [NONE] +Walking WraithAfterburnersInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WraithAfterburnersInit: + wait 1 + engframe 0 + wait 1 + engframe 17 + goto WraithAfterburnersInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 247 Mason (terran\scv.grp) +.headerstart +IsId 84 +Type 15 +Init MasonInit +Death MasonDeath +GndAttkInit MasonGndAttkInit +AirAttkInit [NONE] +Unused1 MasonUnused1 +GndAttkRpt MasonGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle MasonGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking MasonWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt MasonAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +MasonInit: + imgul 248 0 7 # Mason Shadow (terran\scv.grp) + goto InfestedTerranWalkingToIdle + +MasonDeath: + playsnd 369 # Terran\SCV\TSCDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 809 0 0 # Mason Remnants (cm\terran\mason-remnants.grp) + wait 1 + end + +MasonUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1168 + wait 8 + sprol 742 0 0 # Small Explosion Reversed + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto InfestedTerranWalkingToIdle + +MasonGndAttkInit: + setvertpos 0 + wait 1 + playfram 0x22 + attackwith 1 + playsndbtwn 35 39 # terran\SCV\EDrRep00.wav | terran\SCV\EDrRep04.wav + wait 1 + playfram 0x11 + wait 1 + gotorepeatattk + goto SkryrokorLocal00 + +MasonGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +MasonWalking: + playfram 0x00 + imgol 249 0 0 # Mason Glow (thingy\tscGlow.grp) + setvertpos 0 + goto MasonWalkingLoop + +MasonWalkingLoop: + move 4 + wait 1 + goto MasonWalkingLoop + +MasonAlmostBuilt: + setvertpos 0 + wait 1 +MasonLocal00: + playfram 0x22 + useweapon 14 # Fusion Cutter (Harvest) (Fusion Cutter) + sigorder 32 + wait 1 + playfram 0x11 + wait 12 + goto MasonLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 256 Vulture (terran\vulture.grp) +.headerstart +IsId 86 +Type 13 +Init VultureInit +Death VultureDeath +GndAttkInit VultureGndAttkInit +AirAttkInit [NONE] +Unused1 VultureUnused1 +GndAttkRpt VultureGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle VultureGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking VultureWalking +WalkingToIdle VultureGndAttkToIdle +SpecialState1 VultureSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +VultureInit: + imgul 257 0 7 # Vulture Shadow (terran\vulture.grp) + playfram 0x00 + goto VultureGndAttkToIdle + +VultureGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto VultureGndAttkToIdle + +VultureDeath: + playsnd 353 # Terran\VULTURE\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 813 0 0 # Vulture Remains + end + +VultureUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 # Vulture revive 01 + sprol 742 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto VultureGndAttkToIdle + +VultureGndAttkInit: + wait 1 + attackwith 1 + attackwith 1 + playsnd 106 # Bullet\tvuFir00.wav + gotorepeatattk + goto VultureGndAttkToIdle + +VultureWalking: + playfram 0x00 + setvertpos 0 + imgol 1555 0 0 # Vulture Engines + goto SkryrokorLocal00 + +VultureSpecialState1: + attackwith 1 + sigorder 1 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 258 Spider Mine (terran\Spider.grp) +.headerstart +IsId 87 +Type 26 +Init SpiderMineInit +Death SpiderMineDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 SpiderMineUnused2 +Walking SpiderMineWalking +WalkingToIdle SpiderMineWalkingToIdle +SpecialState1 SpiderMineSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow SpiderMineBurrow +UnBurrow SpiderMineUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpiderMineInit: + imgul 259 0 0 # Spider Mine Shadow (terran\tsmShad.grp) +SpiderMineWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +SpiderMineDeath: + 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 + +SpiderMineWalking: + playsnd 355 # Terran\VULTURE\TVuMin00.WAV + move 16 + wait 1 + playfram 0x00 + move 16 + wait 1 + playfram 1 + move 16 + wait 1 + playfram 2 + move 16 + wait 1 + playfram 3 + move 16 + wait 1 + playfram 4 + move 16 + wait 1 + playfram 5 + move 16 + wait 1 + playfram 6 + move 16 + wait 1 + playfram 7 + goto SpiderMineWalking + +SpiderMineSpecialState1: + castspell + sigorder 1 + playsnd 10 # Misc\Explo1.wav + imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) + goto SkryrokorLocal00 + +SpiderMineUnused2: + sigorder 32 + sigorder 1 + playsnd 10 # Misc\Explo1.wav + imgol 429 0 0 # Spider Mine Death (thingy\tmnExplo.grp) + goto SkryrokorLocal00 + +SpiderMineBurrow: + 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 + +SpiderMineUnBurrow: + 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 SpiderMineWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 260 Seraph (Base) (terran\wessel.grp) +.headerstart +IsId 88 +Type 13 +Init SeraphBaseInit +Death SeraphBaseDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell SeraphBaseCastSpell +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 SeraphBaseSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +SeraphBaseInit: + imgol 261 0 0 # Seraph (Turret) (terran\wesselt.grp) + imgul 262 0 42 # Seraph Shadow (terran\tveShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +SeraphBaseDeath: + playsnd 348 # Terran\VESSEL\TVeDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +SeraphBaseCastSpell: + imgol 539 0 0 # Seraph Overlay (Part2) (thingy\tveGlowO.grp) + nobrkcodestart + wait 3 + castspell + nobrkcodeend + gotorepeatattk + sigorder 2 + goto SkryrokorLocal00 + +SeraphBaseSpecialState1: + imgol 1230 0 0 # Seraph cast overlay (red) + wait 19 + goto SeraphBaseSpecialState1 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 261 Seraph (Turret) (terran\wesselt.grp) +.headerstart +IsId 89 +Type 12 +Init SeraphTurretInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell SkryrokorLocal00 +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SeraphTurretInit: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 250 Phalanx (Tank) Base (terran\tank.grp) +.headerstart +IsId 90 +Type 12 +Init Phalanx_Tank_BaseInit +Death Phalanx_Tank_BaseDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Phalanx_Tank_BaseWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Phalanx_Tank_BaseInit: + wait 1 + imgul 252 0 0 # Phalanx (Tank) Base Shadow (terran\ttaShad.grp) + goto InfestedTerranWalkingToIdle + +Phalanx_Tank_BaseDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 923 0 0 # Phalanx (Tank) remains + wait 1 + end + +Phalanx_Tank_BaseWalking: + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + goto Phalanx_Tank_BaseWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 251 Phalanx (Tank) Turret (terran\tankt.grp) +.headerstart +IsId 91 +Type 13 +Init InfestedTerranWalkingToIdle +Death Generic_Wait1End +GndAttkInit Phalanx_Tank_TurretGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt Phalanx_Tank_TurretGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +Phalanx_Tank_TurretGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x11 + playsnd 68 # Bullet\TTaFir00.wav + imgol 536 0 0 # Phalanx (Tank) Turret Attack Overlay (thingy\ettFlash.grp) + wait 2 + attackwith 1 + playfram 0x22 + wait 2 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 253 Phalanx (Siege) Base (terran\stank.grp) +.headerstart +IsId 92 +Type 14 +Init Phalanx_Siege_BaseInit +Death Phalanx_Siege_BaseDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 Phalanx_Siege_BaseSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Phalanx_Siege_BaseInit: + playfram 0x00 + imgul 255 0 0 # Phalanx (Siege) Base Shadow (terran\tstShad.grp) + wait 1 + setflspeed 0 + playsnd 319 + wait 1 + 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 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xAA + wait 2 + playfram 0xBB + wait 28 + sigorder 1 + goto SkryrokorLocal00 + +Phalanx_Siege_BaseDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 924 0 0 # Phalanx (Siege) remains + wait 1 + end + +Phalanx_Siege_BaseSpecialState2: + wait 28 + playsnd 319 # Terran\TANK\TTaTra01.WAV + wait 3 + playfram 0xAA + wait 2 + playfram 0x99 + wait 2 + playfram 0x88 + wait 2 + playfram 0x77 + wait 2 + playfram 0x66 + wait 2 + playfram 0x55 + wait 2 + playfram 0x44 + wait 2 + playfram 0x33 + wait 2 + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + playfram 0x00 + wait 2 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 254 Phalanx (Siege) Turret (terran\stankt.grp) +.headerstart +IsId 93 +Type 14 +Init Phalanx_Siege_TurretInit +Death Generic_Wait1End +GndAttkInit Phalanx_Siege_TurretGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt Phalanx_Siege_TurretGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle SkryrokorLocal00 +SpecialState1 SkryrokorLocal00 +SpecialState2 Phalanx_Siege_TurretSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Phalanx_Siege_TurretInit: + playfram 0x44 + wait 1 + nobrkcodestart + wait 17 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 8 + playsnd 318 # Terran\TANK\TTaTra00.WAV + wait 1 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xAA + wait 2 + playfram 0xBB + wait 2 + playfram 0xCC + wait 2 + playfram 0xDD + wait 2 + playfram 0xEE + wait 2 + playfram 0x00 + nobrkcodeend + goto SkryrokorLocal00 + +Phalanx_Siege_TurretGndAttkInit: + wait 1 + nobrkcodestart + playsnd 96 # Bullet\TTaFi200.wav + imgoluselo 537 2 0 # Siege Tank(Siege) Turret Attack Overlay (thingy\esiFire.grp) + wait 2 + playfram 0x11 + attackwith 1 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x00 + nobrkcodeend + gotorepeatattk + ignorerest + goto SkryrokorLocal00 + +Phalanx_Siege_TurretSpecialState2: + playsnd 318 # Terran\TANK\TTaTra00.WAV + playfram 0xEE + wait 2 + playfram 0xDD + wait 2 + playfram 0xCC + wait 2 + playfram 0xBB + wait 2 + playfram 0xAA + wait 2 + playfram 0x99 + wait 2 + playfram 0x88 + wait 2 + playfram 0x77 + wait 17 + playfram 0x66 + wait 2 + playfram 0x55 + wait 2 + playfram 0x44 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 263 Fountainhead (terran\academy.grp) +.headerstart +IsId 94 +Type 20 +Init FountainheadInit +Death FountainheadDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt FountainheadAlmostBuilt +Built FountainheadBuilt +Landing FountainheadLanding +LiftOff FountainheadLanding +IsWorking FountainheadIsWorking +WorkingToIdle FountainheadWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FountainheadInit: + imgul 265 0 0 # Fountainhead Shadow (terran\tacShad.grp) +FountainheadBuilt: + playfram 0x00 + goto FountainheadLanding + +FountainheadDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) + wait 1 + end + +FountainheadAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +FountainheadLanding: +# imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) + goto SkryrokorLocal00 + +FountainheadIsWorking: + playfram 2 + wait 1 + playfram 3 + waitrand 2 4 + playfram 2 + wait 2 + playfram 0x00 + waitrand 1 3 + goto FountainheadIsWorking + +FountainheadWorkingToIdle: + playfram 2 + wait 2 + goto FountainheadBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 264 Fountainhead Overlay (unused) (terran\FountainheadT.grp) +.headerstart +IsId 95 +Type 1 +Init FountainheadOverlayInit +Death FountainheadOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +FountainheadOverlayInit: + playfram 0x00 +FountainheadOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 266 Stockade (terran\TBarrack.grp) +.headerstart +IsId 96 +Type 24 +Init StockadeInit +Death StarportDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 StockadeSpecialState1 +SpecialState2 [NONE] +AlmostBuilt StockadeAlmostBuilt +Built StockadeBuilt +Landing StockadeLanding +LiftOff StockadeLiftOff +IsWorking StockadeIsWorking +WorkingToIdle StockadeBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable StockadeDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StockadeInit: + playfram 0x00 + imgul 267 0 0 # Stockade Shadow (terran\tbrShad.grp) + goto SkryrokorLocal00 + +StockadeSpecialState1: + playfram 4 + goto SkryrokorLocal00 + +StockadeAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +StockadeBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +StockadeLanding: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV + playfram 4 + wait 8 + playfram 3 + wait 8 + playfram 2 + wait 8 + playfram 5 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StockadeLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 5 + wait 8 + playfram 2 + wait 8 + playfram 3 + wait 8 + playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StockadeIsWorking: + playfram 7 + wait 4 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 4 + playfram 8 + wait 2 + playfram 7 + wait 2 + goto StockadeIsWorking + +StockadeDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 268 Atelier (terran\chemlab.grp) +.headerstart +IsId 97 +Type 20 +Init AtelierInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AtelierAlmostBuilt +Built AtelierBuilt +Landing AtelierLanding +LiftOff SkryrokorLocal00 +IsWorking AtelierIsWorking +WorkingToIdle AtelierBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AtelierInit: + imgul 270 0 0 # Atelier Shadow (terran\tclShad.grp) +AtelierBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +AtelierDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath_Small + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) + wait 1 + end + +AtelierAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +AtelierLanding: +# imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) + goto SkryrokorLocal00 + +AtelierIsWorking: + imgol 269 0 0 # Atelier Overlay (terran\chemlabT.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 269 Atelier Overlay (terran\chemlabT.grp) +.headerstart +IsId 98 +Type 24 +Init AtelierOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking AtelierOverlayInit +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AtelierOverlayInit: + playfram 0x00 + wait 3 + playfram 1 + wait 3 + playfram 2 + wait 3 + goto AtelierOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1758 Lodestone (cm\terran\lodestone.grp) +.headerstart +IsId 99 +Type 20 +Init LodestoneInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt LodestoneAlmostBuilt +Built LodestoneBuilt +Landing LodestoneLanding +LiftOff SkryrokorLocal00 +IsWorking SkryrokorLocal00 +WorkingToIdle LodestoneBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LodestoneInit: + playfram 0x00 + imgul 1761 0 0 # Lodestone Shadow (terran\tcsShad.grp) + goto SkryrokorLocal00 + +LodestoneAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +LodestoneBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +LodestoneLanding: +# imgol 1759 0 0 # Lodestone Connector (terran\ComSatC.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 272 Lodestone Connector (terran\ComSatC.grp) +.headerstart +IsId 100 +Type 24 +Init LodestoneConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff LodestoneConnectorLiftOff +IsWorking LodestoneConnectorIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LodestoneConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 +LodestoneConnectorIsWorking: + playfram 3 + goto SkryrokorLocal00 + +LodestoneConnectorLiftOff: + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 273 Lodestone Overlay (terran\ComSatT.grp) +.headerstart +IsId 101 +Type 24 +Init LodestoneOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing LodestoneOverlayLanding +LiftOff SkryrokorLocal00 +IsWorking LodestoneOverlayIsWorking +WorkingToIdle LodestoneOverlayIsWorking +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LodestoneOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +LodestoneOverlayLanding: + wait 13 +LodestoneOverlayIsWorking: + 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 + goto LodestoneOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 275 Ministry (terran\control.grp) +.headerstart +IsId 102 +Type 20 +Init MinistryInit +Death MinistryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 MinistrySpecialState1 +SpecialState2 [NONE] +AlmostBuilt MinistryAlmostBuilt +Built MinistryBuilt +Landing MinistryLanding +LiftOff MinistryLiftOff +IsWorking MinistryIsWorking +WorkingToIdle MinistryWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MinistryInit: + imgul 277 0 0 # Ministry Shadow (terran\tccShad.grp) +MinistryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +MinistryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +MinistrySpecialState1: + playfram 4 + goto SkryrokorLocal00 + +MinistryAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +MinistryLanding: + nobrkcodestart + wait 18 + playsnd 472 # Misc\Land.WAV + playfram 4 + wait 5 + playfram 3 + wait 5 + playfram 2 + wait 5 + playfram 5 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +MinistryLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 5 + wait 5 + playfram 2 + wait 5 + playfram 3 + wait 5 + playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +MinistryIsWorking: + playfram 6 + wait 4 + playfram 0x00 + wait 1 + playfram 6 + wait 1 + playfram 0x00 + wait 1 + playfram 6 + wait 3 + playfram 0x00 + wait 1 + playfram 6 + wait 3 + playfram 0x00 + wait 1 + goto MinistryIsWorking + +MinistryWorkingToIdle: + wait 1 + goto MinistryBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 276 Ministry Overlay (terran\controlT.grp) +.headerstart +IsId 103 +Type 1 +Init MinistryOverlayInit +Death MinistryOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +MinistryOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 +MinistryOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 299 Crashed Minotaur (neutral\Cbattle.grp) +.headerstart +IsId 104 +Type 20 +Init CrashedMinotaurInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built CrashedMinotaurBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CrashedMinotaurInit: + imgul 300 0 0 # Crashed Minotaur Shadow (neutral\cbaShad.grp) +CrashedMinotaurBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 278 Supply Depot (terran\depot.grp) +.headerstart +IsId 105 +Type 20 +Init SupplyDepotInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SupplyDepotAlmostBuilt +Built SupplyDepotBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SupplyDepotWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SupplyDepotInit: + imgul 280 0 0 # Supply Depot Shadow (terran\tdeShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +SupplyDepotAlmostBuilt: + playfram 12 + goto SkryrokorLocal00 + +SupplyDepotBuilt: + goto SupplyDepotWorkingToIdle +SupplyDepotWorkingToIdle: + 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 SupplyDepotWorkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 279 Supply Depot Overlay (terran\DepotT.grp) +.headerstart +IsId 106 +Type 24 +Init SupplyDepotOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking SupplyDepotOverlayInit +WorkingToIdle SupplyDepotOverlayInit +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SupplyDepotOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto SupplyDepotOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 281 Commandment (terran\DryDocks.grp) +.headerstart +IsId 107 +Type 24 +Init CommandmentInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CommandmentAlmostBuilt +Built CommandmentBuilt +Landing CommandmentLanding +LiftOff SkryrokorLocal00 +IsWorking CommandmentIsWorking +WorkingToIdle CommandmentBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable CommandmentDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CommandmentInit: + imgul 284 0 0 # Commandment Shadow (terran\tddShad.grp) +CommandmentBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +CommandmentAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +CommandmentLanding: + imgol 282 0 0 # Commandment Connector (terran\DryDockC.grp) + goto SkryrokorLocal00 + +CommandmentIsWorking: + imgol 283 0 0 # Commandment Overlay (terran\DryDockT.grp) + goto SkryrokorLocal00 + +CommandmentDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 282 Commandment Connector (terran\DryDockC.grp) +.headerstart +IsId 108 +Type 24 +Init CommandmentConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff CommandmentConnectorLiftOff +IsWorking CommandmentConnectorIsWorking +WorkingToIdle CommandmentConnectorIsWorking +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CommandmentConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +CommandmentConnectorIsWorking: + playfram 4 + goto SkryrokorLocal00 + +CommandmentConnectorLiftOff: + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 283 Commandment Overlay (terran\DryDockT.grp) +.headerstart +IsId 109 +Type 24 +Init CommandmentOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking CommandmentOverlayIsWorking +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CommandmentOverlayInit: + playfram 0x00 +CommandmentOverlayIsWorking: + tmprmgraphicend + wait 5 + tmprmgraphicstart + wait 5 + goto CommandmentOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 285 Fulcrum (terran\factory.grp) +.headerstart +IsId 111 +Type 24 +Init FulcrumInit +Death FulcrumDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 FulcrumSpecialState1 +SpecialState2 [NONE] +AlmostBuilt FulcrumAlmostBuilt +Built FulcrumBuilt +Landing FulcrumLanding +LiftOff FulcrumLiftOff +IsWorking FulcrumIsWorking +WorkingToIdle FulcrumBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FulcrumInit: + playfram 0x00 + imgul 287 0 0 # Fulcrum shadow + goto SkryrokorLocal00 + +FulcrumDeath: + playsnd 7 + imgol 334 0 0 # Explosion (Large) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath_Small + lowsprul 273 0 0 # Terran Building Rubble (small) + wait 1 + end + +FulcrumSpecialState1: + playfram 0x16 + goto SkryrokorLocal00 + +FulcrumAlmostBuilt: + playfram 0x01 + goto SkryrokorLocal00 + +FulcrumBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +FulcrumLanding: + nobrkcodestart + wait 12 + playfram 0x15 + wait 2 + playfram 0x14 + wait 2 + playfram 0x13 + wait 2 + playfram 0x12 + wait 2 + playfram 0x11 + wait 2 + playsnd 472 # Misc\Land.WAV + playfram 0x10 + wait 2 + playfram 0x0F + wait 2 + playfram 0x0E + wait 2 + playfram 0x0D + wait 2 + playfram 0x0C + wait 2 + playfram 0x0B + wait 2 + playfram 0x0A + wait 2 + playfram 0x09 + wait 2 + playfram 0x08 + wait 2 + sigorder 16 + nobrkcodeend + goto FulcrumBuilt + +FulcrumLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0x08 + wait 2 + playfram 0x09 + wait 2 + playfram 0x0A + wait 2 + playfram 0x0B + wait 2 + playfram 0x0C + wait 2 + playfram 0x0D + wait 2 + playfram 0x0E + wait 2 + playfram 0x0F + wait 2 + playfram 0x10 + wait 2 + playfram 0x11 + wait 2 + playfram 0x12 + wait 2 + playfram 0x13 + wait 2 + playfram 0x14 + wait 2 + playfram 0x15 + wait 2 + playfram 0x16 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +FulcrumIsWorking: + playfram 0x02 + wait 2 + playfram 0x03 + wait 2 + playfram 0x04 + wait 2 + playfram 0x05 + wait 2 + playfram 0x06 + wait 2 + playfram 0x07 + wait 2 + goto FulcrumIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 286 Factory Overlay (terran\factoryT.grp) +.headerstart +IsId 112 +Type 24 +Init FactoryOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Generic_Wait1End +WalkingToIdle Generic_Wait1End +SpecialState1 Generic_Wait1End +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking FactoryOverlayInit +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FactoryOverlayInit: + playfram 0x00 + wait 5 + playfram 1 + wait 5 + playfram 2 + wait 5 + goto FactoryOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 288 Covert Ops (terran\GeneLab.grp) +.headerstart +IsId 113 +Type 20 +Init CovertOpsInit +Death CovertOpsDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CovertOpsAlmostBuilt +Built CovertOpsBuilt +Landing CovertOpsLanding +LiftOff SkryrokorLocal00 +IsWorking CovertOpsIsWorking +WorkingToIdle CovertOpsBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CovertOpsInit: + imgul 291 0 0 # Covert Ops Shadow (terran\tglShad.grp) +CovertOpsBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +CovertOpsDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp CovertOpsLocal00 + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) +CovertOpsLocal00: + wait 1 + end + +CovertOpsAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +CovertOpsLanding: + imgol 289 0 0 # Covert Ops Connector (terran\GeneLabC.grp) + goto SkryrokorLocal00 + +CovertOpsIsWorking: + imgol 290 0 0 # Covert Ops Overlay (terran\GeneLabT.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 289 Covert Ops Connector (terran\GeneLabC.grp) +.headerstart +IsId 114 +Type 24 +Init CovertOpsConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff CovertOpsConnectorLiftOff +IsWorking CovertOpsConnectorIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CovertOpsConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +CovertOpsConnectorIsWorking: + playfram 4 + goto SkryrokorLocal00 + +CovertOpsConnectorLiftOff: + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 290 Covert Ops Overlay (terran\GeneLabT.grp) +.headerstart +IsId 115 +Type 24 +Init CovertOpsOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking CovertOpsOverlayIsWorking +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CovertOpsOverlayInit: + playfram 0x00 +CovertOpsOverlayIsWorking: + tmprmgraphicend + wait 5 + tmprmgraphicstart + wait 5 + goto CovertOpsOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 293 Palladium (terran\machines.grp) +.headerstart +IsId 117 +Type 24 +Init PalladiumInit +Death PalladiumDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt PalladiumAlmostBuilt +Built PalladiumBuilt +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking PalladiumIsWorking +WorkingToIdle PalladiumWorkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PalladiumInit: + playfram 0x00 + imgul 295 0 0 # Palladium shadow + goto SkryrokorLocal00 + +PalladiumDeath: + playsnd 7 + imgol 334 0 0 # Explosion (Medium) + wait 3 + liftoffcondjmp PalladiumLocal00 + lowsprul 273 0 0 # Terran Building Rubble (small) +PalladiumLocal00: + wait 1 + end + +PalladiumAlmostBuilt: + playfram 0x08 + goto SkryrokorLocal00 + +PalladiumBuilt: + imgul 294 0 0 # Palladium Connector +PalladiumWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +PalladiumIsWorking: + playfram 0x00 + wait 1 + playfram 0x01 + wait 1 + playfram 0x02 + wait 1 + playfram 0x03 + wait 1 + playfram 0x04 + wait 1 + playfram 0x05 + wait 1 + playfram 0x06 + wait 1 + playfram 0x07 + wait 1 + goto PalladiumIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 294 Palladium Connector (terran\machineC.grp) +.headerstart +IsId 118 +Type 24 +Init PalladiumConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing PalladiumConnectorLanding +LiftOff PalladiumConnectorLiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PalladiumConnectorInit: + playfram 0x07 + goto SkryrokorLocal00 + +PalladiumConnectorLanding: + playfram 0x06 + wait 1 + playfram 0x05 + wait 1 + playfram 0x04 + wait 1 + playfram 0x03 + wait 1 + playfram 0x02 + wait 1 + playfram 0x01 + wait 1 + playfram 0x00 + goto SkryrokorLocal00 + +PalladiumConnectorLiftOff: + playfram 0x01 + wait 1 + playfram 0x02 + wait 1 + playfram 0x03 + wait 1 + playfram 0x04 + wait 1 + playfram 0x05 + wait 1 + playfram 0x06 + wait 1 + goto PalladiumConnectorInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 296 Watchdog (Base) (terran\missile.grp) +.headerstart +IsId 119 +Type 20 +Init Watchdog_Base_Init +Death AtelierDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit SkryrokorLocal00 +Unused1 [NONE] +GndAttkRpt SkryrokorLocal00 +AirAttkRpt SkryrokorLocal00 +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle SkryrokorLocal00 +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Watchdog_Base_AlmostBuilt +Built Watchdog_Base_Built +Landing Watchdog_Base_Landing +LiftOff Watchdog_Base_LiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle Watchdog_Base_WorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Watchdog_Base_Init: + playfram 2 + imgul 298 0 0 # Watchdog (Base) Shadow (terran\tmiShad.grp) + goto SkryrokorLocal00 + +Watchdog_Base_AlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +Watchdog_Base_LiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 3 + wait 1 +# playfram 5 + wait 8 +# playfram 2 + wait 8 +# playfram 3 + wait 8 +# playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +Watchdog_Base_Landing: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV +# playfram 4 + wait 8 +# playfram 3 + wait 8 +# playfram 2 + wait 8 +# playfram 5 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + playfram 2 + goto SkryrokorLocal00 + +Watchdog_Base_Built: + imgol 297 0 0 # Watchdog (Turret) (terran\missileT.grp) +Watchdog_Base_WorkingToIdle: + playfram 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 297 Watchdog (Turret) (terran\missileT.grp) +.headerstart +IsId 120 +Type 24 +Init Watchdog_Turret_Init +Death Generic_Wait1End +GndAttkInit Watchdog_Turret_GndAttkInit +AirAttkInit Watchdog_Turret_GndAttkInit +Unused1 [NONE] +GndAttkRpt Watchdog_Turret_GndAttkInit +AirAttkRpt Watchdog_Turret_GndAttkInit +CastSpell [NONE] +GndAttkToIdle Watchdog_Turret_GndAttkToIdle +AirAttkToIdle Watchdog_Turret_GndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SkryrokorLocal00 +Built Watchdog_Turret_Built +Landing Watchdog_Turret_Landing +LiftOff Watchdog_Turret_LiftOff +IsWorking Watchdog_Turret_Built +WorkingToIdle Watchdog_Turret_Built +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Watchdog_Turret_Init: + playfram 0x00 +Watchdog_Turret_Built: + wait 1 + turn1cwise + goto Watchdog_Turret_Built + +Watchdog_Turret_LiftOff: + nobrkcodestart + wait 1 + wait 8 + wait 8 + wait 8 + nobrkcodeend + goto SkryrokorLocal00 + +Watchdog_Turret_Landing: + nobrkcodestart + wait 15 + wait 8 + wait 8 + wait 8 + wait 8 + nobrkcodeend + goto Watchdog_Turret_Built + +Watchdog_Turret_GndAttkInit: + wait 1 + attack + gotorepeatattk + sigorder 1 + wait 13 + ignorerest +Watchdog_Turret_GndAttkToIdle: + goto Watchdog_Turret_Built + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 301 Physics Lab (terran\physics.grp) +.headerstart +IsId 121 +Type 20 +Init PhysicsLabInit +Death PhysicsLabDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt PhysicsLabAlmostBuilt +Built PhysicsLabBuilt +Landing PhysicsLabLanding +LiftOff PhysicsLabBuilt +IsWorking PhysicsLabIsWorking +WorkingToIdle PhysicsLabBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhysicsLabInit: + imgul 303 0 0 # Physics Lab Shadow (terran\tplShad.grp) +PhysicsLabBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +PhysicsLabDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp PhysicsLabLocal01 + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) +PhysicsLabLocal01: + wait 1 + end + +PhysicsLabAlmostBuilt: + playfram 6 + goto SkryrokorLocal00 + +PhysicsLabLanding: + imgol 302 0 0 # Physics Lab Connector (terran\physicsC.grp) + goto SkryrokorLocal00 + +PhysicsLabIsWorking: + playfram 1 + wait 3 + playfram 2 + wait 3 + playfram 3 + wait 3 + playfram 4 + wait 3 + playfram 0x00 + wait 3 + goto PhysicsLabIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 302 Physics Lab Connector (terran\physicsC.grp) +.headerstart +IsId 122 +Type 24 +Init PhysicsLabConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff PhysicsLabConnectorLiftOff +IsWorking PhysicsLabConnectorIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhysicsLabConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +PhysicsLabConnectorIsWorking: + playfram 4 + goto SkryrokorLocal00 + +PhysicsLabConnectorLiftOff: + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 304 Anchor (terran\pillbox.grp) +.headerstart +IsId 123 +Type 24 +Init AnchorInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AnchorAlmostBuilt +Built AnchorBuilt +Landing AnchorLanding +LiftOff AnchorLiftOff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnchorInit: + imgul 305 0 0 # Anchor Shadow (terran\tpbShad.grp) +AnchorBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +AnchorLiftOff: + nobrkcodestart + playsnd 471 + playfram 0x02 + wait 1 + playfram 0x03 + wait 1 + playfram 0x04 + wait 1 + playfram 0x05 + wait 1 + playfram 0x06 + wait 2 + playfram 0x07 + wait 2 + playfram 0x08 + wait 2 + playfram 0x09 + wait 2 + playfram 0x0A + wait 2 + playfram 0x0B + wait 2 + playfram 0x0C + wait 2 + playfram 0x0D + wait 2 + playfram 0x0E + wait 2 + playfram 0x0F + wait 2 + playfram 0x10 + wait 2 + playfram 0x11 + wait 2 + playfram 0x12 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +AnchorLanding: + nobrkcodestart + wait 12 + playfram 0x11 + wait 2 + playfram 0x10 + wait 2 + playfram 0x0F + wait 2 + playfram 0x0E + wait 2 + playfram 0x0D + wait 2 + playsnd 472 + playfram 0x0C + wait 2 + playfram 0x0B + wait 2 + playfram 0x0A + wait 2 + playfram 0x09 + wait 2 + playfram 0x08 + wait 2 + playfram 0x07 + wait 2 + playfram 0x06 + wait 2 + playfram 0x05 + wait 1 + playfram 0x04 + wait 1 + playfram 0x03 + wait 1 + playfram 0x02 + wait 1 + sigorder 16 + nobrkcodeend + goto AnchorBuilt + +AnchorAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 306 Anchor Overlay (terran\PillBoxT.grp) +.headerstart +IsId 124 +Type 0 +Init AnchorOverlayInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnchorOverlayInit: + playfram 0x00 + wait 1 + tmprmgraphicstart + wait 1 + tmprmgraphicend + wait 1 + tmprmgraphicstart + wait 1 + tmprmgraphicend + wait 1 + tmprmgraphicstart + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 307 Reservoir (terran\refinery.grp) +.headerstart +IsId 125 +Type 20 +Init ReservoirInit +Death ReservoirDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ReservoirSpecialState1 +SpecialState2 ReservoirSpecialState2 +AlmostBuilt ReservoirAlmostBuilt +Built ReservoirBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle ReservoirBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ReservoirInit: + imgul 308 0 0 # Reservoir Shadow (terran\treShad.grp) + playfram 1 +ReservoirLocal00: + 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 ReservoirLocal00 + +ReservoirDeath: + playsnd 7 # Misc\ExploLrg.wav + sprol 272 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +ReservoirSpecialState1: + playfram 2 + goto ReservoirLocal00 + +ReservoirSpecialState2: + playfram 3 + goto ReservoirLocal00 + +ReservoirAlmostBuilt: + playfram 4 + goto ReservoirLocal00 + +ReservoirBuilt: + playfram 0x00 + wait 5 +ReservoirLocal01: + creategasoverlays 0 + wait 20 + waitrand 5 100 + goto ReservoirLocal01 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 309 Daedala (terran\research.grp) +.headerstart +IsId 126 +Type 20 +Init DaedalaInit +Death MinistryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 DaedalaSpecialState1 +SpecialState2 [NONE] +AlmostBuilt DaedalaAlmostBuilt +Built DaedalaBuilt +Landing DaedalaLanding +LiftOff DaedalaLiftOff +IsWorking DaedalaIsWorking +WorkingToIdle DaedalaBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DaedalaInit: + imgul 311 0 0 # Daedala Shadow (terran\trlShad.grp) +DaedalaBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +DaedalaSpecialState1: + playfram 5 + goto SkryrokorLocal00 + +DaedalaAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +DaedalaLanding: + nobrkcodestart + wait 18 + playsnd 472 # Misc\Land.WAV + playfram 4 + wait 5 + playfram 3 + wait 5 + playfram 2 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +DaedalaLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 2 + wait 5 + playfram 3 + wait 5 + playfram 4 + wait 5 + playfram 5 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +DaedalaIsWorking: + imgol 310 0 0 # Daedala Overlay (terran\ResearcT.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 310 Daedala Overlay (terran\ResearcT.grp) +.headerstart +IsId 127 +Type 24 +Init DaedalaOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Generic_Wait1End +WalkingToIdle Generic_Wait1End +SpecialState1 Generic_Wait1End +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking DaedalaOverlayIsWorking +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DaedalaOverlayInit: + playfram 0x00 +DaedalaOverlayIsWorking: + tmprmgraphicend + wait 5 + tmprmgraphicstart + wait 5 + goto DaedalaOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 312 Anvil (terran\nukesilo.grp) +.headerstart +IsId 128 +Type 24 +Init AnvilInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AnvilAlmostBuilt +Built AnvilBuilt +Landing AnvilLanding +LiftOff SkryrokorLocal00 +IsWorking AnvilIsWorking +WorkingToIdle AnvilBuilt +WarpIn [NONE] +Unused3 AnvilUnused3 +StarEditInit [NONE] +Disable AnvilDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnvilInit: + imgul 315 0 0 # Nuclear Silo Shadow (terran\tnsShad.grp) +AnvilBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +AnvilAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +AnvilLanding: + imgol 313 0 0 # Nuclear Silo Connector (terran\NukeSilC.grp) + goto SkryrokorLocal00 + +AnvilIsWorking: + playfram 2 + wait 4 + playfram 0x00 + wait 4 + goto AnvilIsWorking + +AnvilUnused3: + playfram 2 + goto SkryrokorLocal00 + +AnvilDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 313 Anvil Connector (terran\NukeSilC.grp) +.headerstart +IsId 129 +Type 24 +Init AnvilConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff AnvilConnectorLiftOff +IsWorking AnvilConnectorIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnvilConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +AnvilConnectorIsWorking: + playfram 4 + goto SkryrokorLocal00 + +AnvilConnectorLiftOff: + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 314 Anvil Overlay (terran\NukeSilT.grp) +.headerstart +IsId 130 +Type 24 +Init AnvilOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff Generic_Wait1End +IsWorking AnvilOverlayIsWorking +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnvilOverlayInit: + playfram 0x00 +AnvilOverlayIsWorking: + tmprmgraphicend + wait 5 + tmprmgraphicstart + wait 5 + goto AnvilOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 316 Morningstar (terran\nukemiss.grp) +.headerstart +IsId 131 +Type 21 +Init MorningstarInit +Death MorningstarDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking MorningstarWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 MorningstarSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn MorningstarWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +MorningstarInit: + playfram 0x00 + goto SkryrokorLocal00 + +MorningstarDeath: + imgol 428 0 0 # Nuclear Missile Death (thingy\small.grp) + wait 1 + end + +MorningstarWalking: + curdirectcondjmp 128 32 MorningstarLocal00 +MorningstarLocal01: + sprol 309 0 10 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto MorningstarLocal01 + +MorningstarLocal00: + wait 3 + sprol 309 0 -10 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + goto MorningstarLocal00 + +MorningstarSpecialState1: + castspell + sigorder 1 + tmprmgraphicstart + imgol 428 0 0 # Nuclear Missile Death (thingy\small.grp) + sprol 267 0 -42 # Nuke Hit (thingy\NukeHit.grp) + goto SkryrokorLocal00 + +MorningstarWarpIn: + wait 250 + sigorder 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 318 Morningstar Hit (thingy\NukeHit.grp) +.headerstart +IsId 133 +Type 1 +Init NukeExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +NukeExplosionInit: + playsnd 85 # Bullet\TNsHit00.wav + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playsnd 13 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playsnd 13 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + playsnd 13 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playsnd 13 # Misc\Explo4.wav + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 319 Starport (terran\starport.grp) +.headerstart +IsId 134 +Type 20 +Init StarportInit +Death StarportDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 StarportSpecialState1 +SpecialState2 [NONE] +AlmostBuilt StarportAlmostBuilt +Built StarportBuilt +Landing StarportLanding +LiftOff StarportLiftOff +IsWorking StarportIsWorking +WorkingToIdle StarportBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StarportInit: + imgul 321 0 0 # Starport Shadow (terran\tspShad.grp) +StarportBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +StarportDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +StarportSpecialState1: + playfram 3 + goto SkryrokorLocal00 + +StarportAlmostBuilt: + playfram 5 + goto SkryrokorLocal00 + +StarportLanding: + nobrkcodestart + wait 20 + playsnd 472 # Misc\Land.WAV + playfram 3 + wait 5 + playfram 2 + wait 5 + playfram 1 + wait 5 + playfram 4 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StarportLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 4 + wait 5 + playfram 1 + wait 5 + playfram 2 + wait 5 + playfram 3 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StarportIsWorking: + imgol 320 0 0 # Starport Overlay (terran\StarpoT.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 320 Starport Overlay (terran\StarpoT.grp) +.headerstart +IsId 135 +Type 24 +Init StarportOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking StarportOverlayInit +WalkingToIdle StarportOverlayInit +SpecialState1 Generic_Wait1End +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing StarportOverlayInit +LiftOff StarportOverlayInit +IsWorking StarportOverlayInit +WorkingToIdle Generic_Wait1End +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable Generic_Wait1End +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StarportOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto StarportOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 322 Atlas (terran\weaponpl.grp) +.headerstart +IsId 136 +Type 24 +Init AtlasInit +Death MinistryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 AtlasSpecialState1 +SpecialState2 [NONE] +AlmostBuilt AtlasAlmostBuilt +Built AtlasBuilt +Landing AtlasLanding +LiftOff AtlasLiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle AtlasWorkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable AtlasDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AtlasInit: + playfram 0x00 + imgul 324 0 0 # Atlas Shadow (terran\twpShad.grp) + goto SkryrokorLocal00 + +AtlasSpecialState1: + playfram 4 + goto SkryrokorLocal00 + +AtlasAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +AtlasBuilt: + imgol 323 0 0 # Atlas Overlay (terran\weaponpT.grp) +AtlasWorkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +AtlasLanding: + nobrkcodestart + wait 25 + playsnd 472 # Misc\Land.WAV + playfram 4 + wait 4 + playfram 2 + wait 4 + playfram 3 + wait 4 + playfram 5 + wait 4 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +AtlasLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 5 + wait 4 + playfram 3 + wait 4 + playfram 2 + wait 4 + playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +AtlasDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 323 Atlas Overlay (terran\weaponpT.grp) +.headerstart +IsId 137 +Type 24 +Init AtlasOverlayInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 Generic_Wait1End +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built SkryrokorLocal00 +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking AtlasOverlayIsWorking +WorkingToIdle AtlasOverlayInit +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable AtlasOverlayInit +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AtlasOverlayInit: + playfram 0x00 + goto SkryrokorLocal00 + +AtlasOverlayIsWorking: + playfram 0x00 + wait 5 + playfram 1 + wait 5 + playfram 2 + wait 5 + playfram 3 + wait 5 + playfram 4 + wait 5 + playfram 5 + wait 5 + goto AtlasOverlayIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 325 Terran Construction (Large) (terran\TBldLrg.grp) +.headerstart +IsId 138 +Type 14 +Init TerranConstruction_Large_Init +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 TerranConstruction_Large_SpecialState1 +SpecialState2 TerranConstruction_Large_SpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TerranConstruction_Large_Init: + playfram 0x00 + imgul 326 0 0 # Terran Construction (Large) Shadow (terran\tb2Shad.grp) + goto SkryrokorLocal00 + +TerranConstruction_Large_SpecialState1: + playfram 1 + goto SkryrokorLocal00 + +TerranConstruction_Large_SpecialState2: + playfram 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 327 Terran Construction (Medium) (terran\tBldMed.grp) +.headerstart +IsId 139 +Type 14 +Init TerranConstruction_Medium_Init +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 TerranConstruction_Medium_SpecialState1 +SpecialState2 TerranConstruction_Medium_SpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TerranConstruction_Medium_Init: + playfram 0x00 + imgul 328 0 0 # Terran Construction (Medium) Shadow (terran\tb3Shad.grp) + goto SkryrokorLocal00 + +TerranConstruction_Medium_SpecialState1: + playfram 1 + goto SkryrokorLocal00 + +TerranConstruction_Medium_SpecialState2: + playfram 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 330 Terran Construction (Small) (terran\TBldSml.grp) +.headerstart +IsId 140 +Type 14 +Init TerranConstruction_Small_Init +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 TerranConstruction_Small_SpecialState1 +SpecialState2 TerranConstruction_Small_SpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TerranConstruction_Small_Init: + playfram 0x00 + imgul 331 0 0 # Terran Construction (Small) Shadow (terran\tb1Shad.grp) + goto SkryrokorLocal00 + +TerranConstruction_Small_SpecialState1: + playfram 1 + goto SkryrokorLocal00 + +TerranConstruction_Small_SpecialState2: + playfram 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 329 Addon Construction (terran\TBldSml.grp) +.headerstart +IsId 141 +Type 14 +Init TerranConstruction_Small_Init +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SkryrokorLocal00 +SpecialState2 SkryrokorLocal00 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 213 Explosion1 (Small) (thingy\tBangS.grp) +# 332 Explosion2 (Small) (thingy\tBangS.grp) +.headerstart +IsId 142 +Type 0 +Init Explosion_Small_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 214 Explosion1 (Medium) (thingy\tBangL.grp) +# 333 Explosion2 (Medium) (thingy\tBangL.grp) +.headerstart +IsId 143 +Type 0 +Init Explosion_Medium_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Medium_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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 215 Explosion (Large) (thingy\tBangX.grp) +# 334 Building Explosion (Large) (thingy\tBangX.grp) +.headerstart +IsId 144 +Type 0 +Init Explosion_Large_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Explosion_Large_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 + playfram 12 + wait 2 + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 110 Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) +# 111 Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) +# 216 Protoss Building Rubble (Small) (thingy\PRubbleS.grp) +# 217 Protoss Building Rubble (Large) (thingy\PRubbleL.grp) +# 335 Terran Building Rubble (Small) (thingy\RubbleS.grp) +# 336 Terran Building Rubble (Large) (thingy\RubbleL.grp) +# 1707 Terran Unit Rubble (Medium) (cm\terran\rubble-unit-medium.grp) +# 1708 Terran Unit Rubble (Small) (cm\terran\rubble-unit-small.grp) +# 1709 Protoss Unit Rubble (Medium) (cm\protoss\rubble-unit-medium.grp) +# 1710 Protoss Unit Rubble (Small) (cm\protoss\rubble-unit-small.grp) +# 1711 Zerg Unit Rubble (Medium) (cm\zerg\rubble-unit-medium.grp) +# 1712 Zerg Unit Rubble (Small) (cm\zerg\rubble-unit-small.grp) +# 1713 Zerg Unit Rubble (Tiny) (cm\zerg\rubble-unit-tiny.grp) +.headerstart +IsId 145 +Type 1 +Init BuildingRubbleHeaderInit +Death BuildingRubbleHeaderDeath +.headerend +# ----------------------------------------------------------------------------- # + +BuildingRubbleHeaderInit: + playfram 0x00 + wait 239 +BuildingRubbleHeaderDeath: + 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: +# 526 Fusion Cutter Hit (bullet\scvspark.grp) +.headerstart +IsId 237 +Type 2 +Init FusionCutterHitInit +Death FusionCutterHitDeath +GndAttkInit FusionCutterHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FusionCutterHitInit: + wait 1 + sigorder 1 + wait 1 +FusionCutterHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 527 Gauss Rifle Hit (bullet\tspark.grp) +.headerstart +IsId 238 +Type 2 +Init GaussRifleHitInit +Death GaussRifleHitDeath +GndAttkInit GaussRifleHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GaussRifleHitInit: + wait 1 + sigorder 1 + wait 1 +GaussRifleHitDeath: + playfram 0x00 + domissiledmg + wait 1 + 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 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 528 Gemini Missiles (bullet\gemini.grp) +.headerstart +IsId 239 +Type 2 +Init GeminiMissilesInit +Death GeminiMissilesDeath +GndAttkInit GeminiMissilesGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GeminiMissilesInit: + playfram 0x00 + playsndbtwn 82 83 # Bullet\TPhFi200.wav | Bullet\TPhFi200.wav + wait 1 + sigorder 1 + wait 1 +GeminiMissilesGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 2 + goto GeminiMissilesGndAttkInit + +GeminiMissilesDeath: + playsnd 9 # Misc\ExploSm.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 529 Lockdown/LongBolt/Hellfire Missile (bullet\missile.grp) +.headerstart +IsId 240 +Type 2 +Init LongboltMissileInit +Death LongboltMissileDeath +GndAttkInit LongboltMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LongboltMissileInit: + playfram 0x00 + playsnd 80 # Bullet\HKMISSLE.wav + wait 1 + sigorder 1 + wait 1 +LongboltMissileGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto LongboltMissileGndAttkInit + +LongboltMissileDeath: + playsnd 9 # Misc\ExploSm.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 531 C-10 Canister Rifle Hit (thingy\ecaHit.grp) +.headerstart +IsId 241 +Type 2 +Init C_10CanisterRifleHitInit +Death C_10CanisterRifleHitDeath +GndAttkInit C_10CanisterRifleHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +C_10CanisterRifleHitInit: + wait 1 + sigorder 1 + wait 1 +C_10CanisterRifleHitDeath: + playfram 0x00 + domissiledmg + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 532 Fragmentation Grenade (bullet\grenade.grp) +.headerstart +IsId 242 +Type 2 +Init FragmentationGrenadeInit +Death FragmentationGrenadeDeath +GndAttkInit FragmentationGrenadeGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FragmentationGrenadeInit: + playfram 0x00 + playsnd 106 # Bullet\tvuFir00.wav + wait 1 + sigorder 1 + wait 1 +FragmentationGrenadeGndAttkInit: + sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) + wait 1 +FragmentationGrenadeLocal00: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto FragmentationGrenadeLocal00 + +FragmentationGrenadeDeath: + imgol 440 0 0 # Fragmentation Grenade Hit (thingy\efgHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 534 ATS/ATA Laser Battery (thingy\elbfire.grp) +# 535 Burst Lasers (thingy\elbfireW.grp) +.headerstart +IsId 243 +Type 2 +Init ATA_ATSLaserBattery_BurstLasersInit +Death ATA_ATSLaserBattery_BurstLasersDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ATA_ATSLaserBattery_BurstLasersInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +ATA_ATSLaserBattery_BurstLasersDeath: + imgol 447 0 0 # Burst Lasers Hit (thingy\elbHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 360 Magna Pulse (Unused) (thingy\eldFire.grp) +.headerstart +IsId 244 +Type 1 +Init Unknown244Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Unknown244Init: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 361 Lockdown Field (Small) (thingy\eldSmall.grp) +# 362 Lockdown Field (Medium) (thingy\eldMed.grp) +# 363 Lockdown Field (Large) (thingy\eldLarge.grp) +.headerstart +IsId 245 +Type 1 +Init LockdownHitInit +Death LockdownHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +LockdownHitInit: + 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 +LockdownHitLocal00: + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 11 + wait 2 + playfram 10 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + goto LockdownHitLocal00 + +LockdownHitDeath: + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 533 Arclite Shock Cannon Hit (thingy\mushroom.grp) +.headerstart +IsId 246 +Type 2 +Init ArcliteShockCannonHitInit +Death ArcliteShockCannonHitDeath +GndAttkInit ArcliteShockCannonHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ArcliteShockCannonHitInit: + playfram 0x00 + wait 1 + sigorder 1 + playfram 1 + wait 1 +ArcliteShockCannonHitDeath: + playsnd 2859 # Phalanx Siege weaponhit 01 + playfram 2 + domissiledmg + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 541 Yamato Gun (bullet\eycBull.grp) +.headerstart +IsId 247 +Type 2 +Init YamatoGunInit +Death YamatoGunDeath +GndAttkInit YamatoGunGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +YamatoGunInit: + playfram 0x00 + playsnd 179 # Terran\BATTLE\tBaYam02.wav + wait 1 + sigorder 1 + wait 1 +YamatoGunGndAttkInit: + wait 3 + sprul 351 0 0 # Yamato Gun Trail (bullet\eycBull.grp) + goto YamatoGunGndAttkInit + +YamatoGunDeath: + imgol 544 0 0 # Yamato Gun Hit (thingy\eycHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 542 Yamato Gun Trail (bullet\eycBull.grp) +.headerstart +IsId 248 +Type 0 +Init YamatoGunTrailInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +YamatoGunTrailInit: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 554 EMP Shockwave Missile (bullet\missile.grp) +.headerstart +IsId 249 +Type 2 +Init Lockdown_EMPShockwaveMissileInit +Death Lockdown_EMPShockwaveMissileDeath +GndAttkInit Lockdown_EMPShockwaveMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Lockdown_EMPShockwaveMissileInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +Lockdown_EMPShockwaveMissileGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto Lockdown_EMPShockwaveMissileGndAttkInit + +Lockdown_EMPShockwaveMissileDeath: + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 536 Phalanx (Tank) Turret Attack Overlay (thingy\ettFlash.grp) +.headerstart +IsId 250 +Type 1 +Init PhalanxTankTurretOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PhalanxTankTurretOverlayInit: + playfram 0x00 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 537 Phalanx (Siege) Turret Attack Overlay (thingy\esiFire.grp) +.headerstart +IsId 251 +Type 1 +Init PhalanxSiegeTurretOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PhalanxSiegeTurretOverlayInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 538 Seraph Overlay (Part1) (thingy\tveGlowB.grp) +# 539 Seraph Overlay (Part2) (thingy\tveGlowO.grp) +# 540 Seraph Overlay (Part3) (thingy\tveGlowW.grp) +.headerstart +IsId 252 +Type 1 +Init ScienceVesselOverlayInit +Death ScienceVesselOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +ScienceVesselOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 1 +ScienceVesselOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 395 Blue Burst Lasers (neutral\DataDisk.grp) +.headerstart +IsId 218 +Type 2 +Init BlueBurstLaserInit +Death BlueBurstLaserDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BlueBurstLaserInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +BlueBurstLaserDeath: + imgol 1105 0 0 # Burst Lasers Hit (Blue) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 545 Hallucination Hit (thingy\halmind.grp) +# 546 Scanner Sweep Hit (thingy\eveCast.grp) +.headerstart +IsId 253 +Type 1 +Init HallucinationHitInit +Death HallucinationHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +HallucinationHitInit: + 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 1 +HallucinationHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 422 Longbolt/Gemini Missiles Trail (thingy\smoke.grp) +# 960 Halo Rockets Trail (thingy\bsmoke.grp) +.headerstart +IsId 273 +Type 1 +Init LongboltHaloGeminiMissilesTrailInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +LongboltHaloGeminiMissilesTrailInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 423 Burrowing Dust (thingy\bDust.grp) +.headerstart +IsId 274 +Type 1 +Init BurrowingDustInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +BurrowingDustInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 428 Nuclear Missile Death (thingy\small.grp) +.headerstart +IsId 279 +Type 1 +Init MorningstarDeathInit +Death MorningstarDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +MorningstarDeathInit: + playsnd 9 # Misc\ExploSm.wav + 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 1 +MorningstarDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 429 Spider Mine Death (thingy\tmnExplo.grp) +.headerstart +IsId 280 +Type 1 +Init SkryrokorLocal00 +Death SpiderMineExplosionDeath +.headerend +# ----------------------------------------------------------------------------- # + +SpiderMineExplosionDeath: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 440 Fragmentation Grenade Hit (thingy\efgHit.grp) +.headerstart +IsId 283 +Type 1 +Init FragmentationGrenadeHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +FragmentationGrenadeHitInit: + playsndbtwn 107 109 # Bullet\tvuHit00.wav | Bullet\tvuHit02.wav + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 441 Grenade Shot Smoke (thingy\GreSmoke.grp) +.headerstart +IsId 284 +Type 1 +Init GrenadeShotSmokeInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GrenadeShotSmokeInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 114 Solarion Engines (thingy\pcaGlow.grp) +# 120 Envoy Engines (thingy\pshGlow.grp) +.headerstart +IsId 290 +Type 12 +Init SolarionEnginesInit +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 SolarionEnginesInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SolarionEnginesInit: + wait 1 + followmaingraphic + goto SolarionEnginesInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 132 Didact Engines (thingy\pabGlow.grp) +# 220 Minotaur Engines (thingy\tbaGlow.grp) +# 225 Trojan Engines (thingy\tdrGlow.grp) +# 249 Mason Engines (thingy\tscGlow.grp) +# 941 Valkyrie Engines (thingy\tbmGlow.grp) +# 942 Valkyrie Engines2 (Unused) (thingy\tbmGlow.grp) +# 943 Valkyrie Afterburners (Unused) (thingy\tbmAfter.grp) +# 1029 Centaur Engines (cm\terran\centaur-engine.grp) +# 1555 Vulture Engines +.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 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 446 Minotaur Attack Overlay (thingy\elbBat.grp) +.headerstart +IsId 293 +Type 1 +Init MinotaurAttackOverlayInit +Death MinotaurAttackOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +MinotaurAttackOverlayInit: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 1 +MinotaurAttackOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 447 Burst Lasers Hit (thingy\elbHit.grp) +.headerstart +IsId 294 +Type 1 +Init ATA_ATSLaserBattery_BurstLasersHitInit +Death ATA_ATSLaserBattery_BurstLasersHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +ATA_ATSLaserBattery_BurstLasersHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +ATA_ATSLaserBattery_BurstLasersHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 448 Burst Lasers Overlay (Unused) (thingy\elbMuzz.grp) +.headerstart +IsId 295 +Type 1 +Init Unknown295Init +Death Unknown295Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown295Init: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 +Unknown295Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 371 Defensive Matrix Front (Small) (thingy\edmFronS.grp) +# 372 Defensive Matrix Front (Medium) (thingy\edmFronM.grp) +# 373 Defensive Matrix Front (Large) (thingy\edmFronL.grp) +# 374 Defensive Matrix Back (Small) (thingy\edmBackS.grp) +# 375 Defensive Matrix Back (Medium) (thingy\edmBackM.grp) +# 376 Defensive Matrix Back (Large) (thingy\edmBackL.grp) +.headerstart +IsId 300 +Type 1 +Init DefensiveMatrixOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DefensiveMatrixOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + goto DefensiveMatrixOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 377 Defensive Matrix Hit (Small) (thingy\edmHitS.grp) +# 378 Defensive Matrix Hit (Medium) (thingy\edmHitM.grp) +# 379 Defensive Matrix Hit (Large) (thingy\edmHitL.grp) +.headerstart +IsId 301 +Type 1 +Init DefensiveMatrixHitInit +Death DefensiveMatrixHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +DefensiveMatrixHitInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 1 +DefensiveMatrixHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 380 Irradiate (Small) (thingy\eradLrg.grp) +# 381 Irradiate (Medium) (thingy\eradLrg.grp) +# 382 Irradiate (Large) (thingy\eradLrg.grp) +.headerstart +IsId 304 +Type 1 +Init IrradiateInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +IrradiateInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto IrradiateInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 421 FlameThrower (thingy\flamer.grp) +.headerstart +IsId 312 +Type 1 +Init FlamethrowerInit +Death FlamethrowerDeath +.headerend +# ----------------------------------------------------------------------------- # + +FlamethrowerInit: + playsndbtwn 314 315 # Terran\Firebat\TFBFir00.WAV | Terran\Firebat\TFBFir01.WAV + goto FlamethrowerLocal00 + +FlamethrowerLocal00: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + goto FlamethrowerLocal01 + +FlamethrowerLocal01: + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + goto FlamethrowerDeath + +FlamethrowerDeath: + nobrkcodeend + gotorepeatattk + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 530 Gemini Missiles Explosion (thingy\ecaHit.grp) +.headerstart +IsId 313 +Type 1 +Init GeminiMissilesExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GeminiMissilesExplosionInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 543 Yamato Gun Overlay (thingy\eycBlast.grp) +.headerstart +IsId 314 +Type 1 +Init YamatoGunOverlayInit +Death YamatoGunOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +YamatoGunOverlayInit: + playsnd 178 # Terran\BATTLE\tBaYam01.wav + playfram 4 + nobrkcodestart + 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 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 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 0x00 + wait 2 + playfram 1 + castspell + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 1 + sigorder 2 + nobrkcodeend + gotorepeatattk +YamatoGunOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 544 Yamato Gun Hit (thingy\eycHit.grp) +.headerstart +IsId 315 +Type 1 +Init YamatoGunHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +YamatoGunHitInit: + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 555 EMP Shockwave Hit (Part1) (thingy\emp.grp) +.headerstart +IsId 319 +Type 0 +Init EMPShockwaveHit_Part1_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EMPShockwaveHit_Part1_Init: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 556 EMP Shockwave Hit (Part2) (thingy\empl.grp) +.headerstart +IsId 320 +Type 0 +Init EMPShockwaveHit_Part2_Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EMPShockwaveHit_Part2_Init: + playsnd 7 # Misc\ExploLrg.wav + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + imgul 555 0 0 # EMP Shockwave Hit (Part1) (thingy\emp.grp) + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 495 Building Landing Dust Type2 (thingy\dust02.grp) +# 497 Building Landing Dust Type4 (thingy\dust04.grp) +# 498 Building Landing Dust Type5 (thingy\dust05.grp) +.headerstart +IsId 330 +Type 0 +Init DustVariant1Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DustVariant1Init: + playfram 0x00 + wait 3 + playfram 1 + wait 3 + playfram 2 + wait 3 + playfram 3 + wait 3 + playfram 4 + wait 3 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 494 Building Landing Dust Type1 (thingy\dust01.grp) +# 496 Building Landing Dust Type3 (thingy\dust03.grp) +# 499 Building Lifting Dust Type1 (thingy\dust06.grp) +# 500 Building Lifting Dust Type2 (thingy\dust07.grp) +# 501 Building Lifting Dust Type3 (thingy\dust08.grp) +# 502 Building Lifting Dust Type4 (thingy\dust09.grp) +.headerstart +IsId 331 +Type 0 +Init DustVariant2Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DustVariant2Init: + playfram 0x00 + wait 3 + playfram 1 + wait 3 + playfram 2 + wait 3 + playfram 3 + wait 3 + playfram 4 + wait 3 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 944 Cleric (terran\medic.grp) +.headerstart +IsId 360 +Type 13 +Init ClericInit +Death ClericDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 ClericUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell ClericCastSpell +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking ClericWalking +WalkingToIdle ClericWalkingToIdle +SpecialState1 ClericSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ClericInit: + imgul 945 0 0 # Cleric Shadow (terran\tmeShad.grp) +ClericLocal00: + playfram 0x00 +ClericLocal01: + wait 62 + randcondjmp 128 ClericLocal02 + goto ClericLocal01 + +ClericLocal02: + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + turnrand 3 + wait 1 + playfram 0x66 + wait 1 + goto ClericLocal00 + +ClericDeath: + playsnd 1000 # Terran\Medic\TMdDth00.wav + setfldirect 0 + 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 4 + playfram 229 + wait 4 + lowsprul 490 0 0 # Cleric Remnants (terran\tmeDeath.grp) + wait 1 + end + +ClericUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1188 + 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 ClericWalkingToIdle + +ClericCastSpell: + orderdone 1 + nobrkcodestart + playfram 0x11 + wait 3 + playfram 0x22 + castspell + sigorder 2 + wait 3 + playfram 0x11 + wait 3 + nobrkcodeend + gotorepeatattk + playfram 0x00 + goto SkryrokorLocal00 + +ClericWalking: + orderdone 1 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0x00 + goto ClericWalking + +ClericWalkingToIdle: + orderdone 1 + goto ClericLocal00 + +ClericSpecialState1: + playfram 0x33 + wait 1 +ClericLocal04: + sigorder 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playsnd 1018 # Terran\Medic\TMedHeal.wav + goto ClericLocal04 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 946 Cleric Remnants (terran\tmeDeath.grp) +# 1362 Scribe Remnants (cm\protoss\scribe-death.grp) +# 1542 Evigrilisk Remains (cm\zerg\evigrilisk-remains.grp) +# 1899 Ancile Remains (cm\terran\ancile-death.grp) +.headerstart +IsId 361 +Type 1 +Init GenericRemnantsFourInit +Death GenericRemnantsFourDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFourInit: + playfram 0x00 + wait 239 +GenericRemnantsFourDeath: + 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: +# 939 Valkyrie (terran\bomber.grp) +.headerstart +IsId 362 +Type 12 +Init ValkyrieInit +Death ValkyrieDeath +GndAttkInit ValkyrieAirAttkInit +AirAttkInit ValkyrieAirAttkInit +Unused1 [NONE] +GndAttkRpt ValkyrieAirAttkInit +AirAttkRpt ValkyrieAirAttkInit +CastSpell [NONE] +GndAttkToIdle TrojanLocal00 +AirAttkToIdle TrojanLocal00 +Unused2 [NONE] +Walking ValkyrieWalking +WalkingToIdle ValkyrieWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ValkyrieInit: + imgul 940 0 42 # Valkyrie Shadow (terran\bomber.grp) + playfram 0x00 + goto TrojanLocal00 + +ValkyrieDeath: + playsnd 1040 # Terran\FRIGATE\TVkDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +ValkyrieAirAttkInit: + wait 2 + nobrkcodestart + attackwith 2 + wait 8 + attackwith 2 + wait 8 + attackwith 2 + wait 8 + attackwith 2 + wait 8 + attackwith 2 + nobrkcodeend + gotorepeatattk + goto TrojanLocal00 + +ValkyrieWalking: + setvertpos 0 + imgol 941 0 0 # Valkyrie Engines (thingy\tbmGlow.grp) + sigorder 64 + goto SkryrokorLocal00 + +ValkyrieWalkingToIdle: + orderdone 64 + goto TrojanLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 931 Lanifect Engines (thingy\pcsGlow.grp) +# 1471 Magnetar Engines (cm\terran\magnetar-engine.grp) +.headerstart +IsId 370 +Type 12 +Init LanifectEnginesInit +Death Generic_Wait1End +GndAttkInit Generic_Wait1End +AirAttkInit Generic_Wait1End +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell Generic_Wait1End +GndAttkToIdle Generic_Wait1End +AirAttkToIdle Generic_Wait1End +Unused2 [NONE] +Walking LanifectEnginesInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LanifectEnginesInit: + engframe 0 + wait 1 + engframe 17 + wait 1 + goto LanifectEnginesInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 965 Halo Rockets (bullet\SMmissle.grp) +.headerstart +IsId 378 +Type 2 +Init HaloRocketInit +Death HaloRocketDeath +GndAttkInit HaloRocketGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HaloRocketInit: + playfram 0x00 + playsnd 1023 # Bullet\Tfrshoot.wav + wait 1 + sigorder 1 + wait 1 +HaloRocketGndAttkInit: + sprol 505 0 0 # Halo Rockets Trail (thingy\bsmoke.grp) + wait 2 + goto HaloRocketGndAttkInit + +HaloRocketDeath: + playsnd 1022 # Bullet\Tfrhit.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 966 Optical Flare Grenade (bullet\grenade.grp) +.headerstart +IsId 379 +Type 2 +Init OpticalFlareInit +Death OpticalFlareDeath +GndAttkInit OpticalFlareGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OpticalFlareInit: + playfram 0x00 + playsnd 1016 # Terran\Medic\TMedflsh.wav + wait 1 + sigorder 1 + wait 1 +OpticalFlareGndAttkInit: + sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) + wait 1 +OpticalFlareLocal00: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto OpticalFlareLocal00 + +OpticalFlareDeath: + imgol 977 0 0 # Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 967 Restoration Hit (Small) (thingy\tCureSml.grp) +# 968 Restoration Hit (Medium) (thingy\tCureMed.grp) +# 969 Restoration Hit (Large) (thingy\tCureLrg.grp) +.headerstart +IsId 389 +Type 1 +Init RestorationHitInit +Death RestorationHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +RestorationHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +RestorationHitDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 976 Optical Flare Hit (Small) (thingy\TmeFlshS.grp) +# 977 Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) +# 978 Optical Flare Hit (Large) (thingy\TmeFlshL.grp) +.headerstart +IsId 391 +Type 1 +Init OpticalFlareHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +OpticalFlareHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 970 Unused Heal (Small) (thingy\tmeHealM.grp) +# 971 Unused Heal (Medium) (thingy\tmeHealM.grp) +# 972 Unused Heal (Large) (thingy\tmeHealL.grp) +.headerstart +IsId 394 +Type 1 +Init Unknown394Init +Death Unknown394Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown394Init: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 1 + tmprmgraphicstart + wait 48 + tmprmgraphicend + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 1 +Unknown394Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 947 Psi Disrupter (neutral\PsiDisr.grp) +.headerstart +IsId 407 +Type 20 +Init PsiDisrupterInit +Death PsiDisrupterDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built PsiDisrupterBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking PsiDisrupterBuilt +WorkingToIdle PsiDisrupterBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PsiDisrupterInit: + imgul 948 0 0 # Psi Disrupter Shadow (neutral\tpdShad.grp) +PsiDisrupterBuilt: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto PsiDisrupterBuilt + +PsiDisrupterDeath: + playfram 6 + playsnd 7 + imgol 334 0 0 + wait 3 + lowsprul 274 0 0 + wait 1 + end + + # ----------------------------------------------------------------------------- # + # This header is used by images.dat entries: + # 949 Power Generator (neutral\Generate.grp) + .headerstart + IsId 408 + Type 20 + Init PowerGeneratorInit + Death AtelierDeath + GndAttkInit [NONE] + AirAttkInit [NONE] + Unused1 [NONE] + GndAttkRpt [NONE] + AirAttkRpt [NONE] + CastSpell [NONE] + GndAttkToIdle [NONE] + AirAttkToIdle [NONE] + Unused2 [NONE] + Walking [NONE] + WalkingToIdle [NONE] + SpecialState1 [NONE] + SpecialState2 [NONE] + AlmostBuilt [NONE] + Built PowerGeneratorBuilt + Landing [NONE] + LiftOff [NONE] + IsWorking SkryrokorLocal00 + WorkingToIdle SkryrokorLocal00 + WarpIn [NONE] + .headerend + # ----------------------------------------------------------------------------- # + + PowerGeneratorInit: + imgul 950 0 0 # Power Generator Shadow (neutral\tgnShad.grp) + PowerGeneratorBuilt: + 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 + goto PowerGeneratorBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1001 Quarry (cm\terran\quarry.grp) +.headerstart +IsId 415 +Type 24 +Init QuarryInit +Death VestryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt QuarryAlmostBuilt +Built QuarryBuilt +Landing QuarryLanding +LiftOff SkryrokorLocal00 +IsWorking QuarryIsWorking +WorkingToIdle QuarryBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +QuarryInit: + imgul 1014 0 0 # Quarry Shadow (cm\terran\quarry-shad.grp) +QuarryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +QuarryAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +QuarryLanding: + imgol 1784 0 0 # Quarry Connector (cm\terran\quarry-connector.grp) + goto SkryrokorLocal00 + +QuarryIsWorking: + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 0x00 + wait 1 + goto QuarryIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1025 Centaur (terran\centaur.grp) +.headerstart +IsId 420 +Type 12 +Init CentaurInit +Death CentaurDeath +GndAttkInit CentaurGndAttkInit +AirAttkInit CentaurGndAttkInit +Unused1 CentaurUnused1 +GndAttkRpt CentaurGndAttkInit +AirAttkRpt CentaurGndAttkInit +CastSpell [NONE] +GndAttkToIdle CentaurGndAttkToIdle +AirAttkToIdle CentaurGndAttkToIdle +Unused2 [NONE] +Walking CentaurWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CentaurInit: + imgul 1026 0 42 # Centaur Shadow (cm\terran\centaur.grp) +CentaurGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +CentaurDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 7 + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 332 5 5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 2 + imgol 332 11 5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 2 + imgol 334 -5 -11 + wait 2 + imgol 332 -5 -5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 5 + lowsprul 273 0 42 # Terran Building Rubble Small + wait 1 + end + +CentaurUnused1: + wait 1 + nobrkcodestart + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 1443 0 0 + wait 7 + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 334 5 5 + wait 7 + playsndbtwn 2024 2026 # Centaur death 01, 02, 03 + imgol 334 -5 -5 + wait 12 + nobrkcodeend + goto SkryrokorLocal00 + +CentaurGndAttkInit: + wait 1 + playsndbtwn 2780 2782 # Centaur weapon 1 fire 01, 02, 03 + imgol 1034 0 0 # Centaur attack overlay (cm\terran\centaur-attack.grp) + attack + wait 1 + gotorepeatattk + goto SkryrokorLocal00 + +CentaurWalking: + setvertpos 0 + imgol 1029 0 0 # Centaur Engine (cm\terran\centaur-engine.grp) + imgol 1148 0 0 # Centaur Engine 2 (cm\terran\centaur-engine2.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1027 Cuirass (cm\terran\cuirass.grp) +.headerstart +IsId 421 +Type 12 +Init CuirassInit +Death CuirassDeath +GndAttkInit CuirassGndAttkInit +AirAttkInit CuirassGndAttkInit +Unused1 CuirassUnused1 +GndAttkRpt CuirassGndAttkInit +AirAttkRpt CuirassGndAttkInit +CastSpell [NONE] +GndAttkToIdle CuirassGndAttkToIdle +AirAttkToIdle CuirassGndAttkToIdle +Unused2 [NONE] +Walking CuirassWalking +WalkingToIdle CuirassGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CuirassInit: + imgul 1028 0 0 # Cuirass Shadow (cm\terran\cuirass-shad.grp) + playfram 0x00 + goto CuirassGndAttkToIdle + +CuirassGndAttkToIdle: + playfram 0x22 + goto SkryrokorLocal00 + +CuirassDeath: + playsndbtwn 1247 1248 # Southpaw death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 0 # Terran Unit Rubble Medium + wait 1 + end + +CuirassUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 + sprol 742 0 0 + wait 10 + setfldirect 10 + tmprmgraphicend + nobrkcodeend + goto CuirassGndAttkToIdle + +CuirassGndAttkInit: + playfram 0x22 + wait 1 + playfram 0x99 + playsndbtwn 2775 2776 # Cuirass weapon fire 01, 02 + attackwith 1 + wait 1 + playfram 0x22 + gotorepeatattk + goto CuirassGndAttkToIdle + +CuirassWalking: + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + goto CuirassWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1030 Centaur Missile (cm\terran\centaur-missile.grp) +.headerstart +IsId 422 +Type 2 +Init CentaurMissileInit +Death CentaurMissileDeath +GndAttkInit CentaurMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CentaurMissileInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +CentaurMissileGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto CentaurMissileGndAttkInit + +CentaurMissileDeath: + playsnd 9 # Misc\ExploSm.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1006 Madrigal Imperioso Mode (cm\terran\madrigal.grp) +.headerstart +IsId 424 +Type 12 +Init MadrigalImperiosoBaseInit +Death MadrigalImperiosoBaseDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 MadrigalImperiosoBaseUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking MadrigalImperiosoBaseWalking +WalkingToIdle MadrigalImperiosoBaseWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalImperiosoBaseInit: + imgul 1033 0 7 # Madrigal Shadow (cm\terran\madrigal.grp) +MadrigalImperiosoBaseWalkingToIdle: + setvertpos 0 + playfram 0x00 + goto SkryrokorLocal00 + +MadrigalImperiosoBaseDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 1497 0 0 # Madrigal Death + wait 3 + lowsprul 971 0 0 # Madrigal Furia Remains + wait 1 + end + +MadrigalImperiosoBaseUnused1: + wait 1 + nobrkcodestart + playsnd 1699 + sprol 744 0 0 # Large Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto MadrigalImperiosoBaseWalkingToIdle + +MadrigalImperiosoBaseWalking: + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1742 Madrigal (Imperioso) Turret (cm\terran\madrigal-turret.grp) +.headerstart +IsId 747 +Type 13 +Init MadrigalImperiosoTurretInit +Death Generic_Wait1End +GndAttkInit MadrigalImperiosoTurretGndAttkInit +AirAttkInit MadrigalImperiosoTurretGndAttkInit +Unused1 [NONE] +GndAttkRpt MadrigalImperiosoTurretGndAttkInit +AirAttkRpt MadrigalImperiosoTurretGndAttkInit +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 SkryrokorLocal00 +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalImperiosoTurretInit: + playfram 0x20 + goto SkryrokorLocal00 + +MadrigalImperiosoTurretGndAttkInit: + wait 1 + nobrkcodestart + wait 2 + playfram 0x00 + wait 1 + playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 + attack + playfram 0x20 + wait 1 + playfram 0x00 + wait 2 + playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 + attack + playfram 0x20 + wait 1 + playfram 0x00 + wait 2 + playsndbtwn 1208 1211 # Madrigal weaponfire 01, 02, 03, 04 + attack + playfram 0x20 + wait 1 + nobrkcodeend + gotorepeatattk + goto MadrigalImperiosoTurretInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1743 Madrigal (Furia) Base (cm\terran\madrigal-base.grp) +.headerstart +IsId 748 +Type 14 +Init MadrigalFuriaBaseInit +Death MadrigalImperiosoBaseDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 MadrigalFuriaBaseUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 MadrigalFuriaBaseSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalFuriaBaseInit: + imgul 1033 0 2 # Madrigal Shadow (cm\terran\madrigal.grp) + wait 1 + setflspeed 0 + playfram 0x00 + wait 1 + playsnd 2196 # Madrigal switch 01 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 14 + sigorder 1 + goto SkryrokorLocal00 + +MadrigalFuriaBaseUnused1: + wait 1 + nobrkcodestart + playsnd 1699 # Phalanx revive 01 + sprol 744 0 0 # Medium orange explosion reversed + playfram 5 + wait 12 + nobrkcodeend + goto SkryrokorLocal00 + +MadrigalFuriaBaseSpecialState2: + wait 14 + playfram 0x40 + wait 2 + playfram 0x20 + wait 2 + playfram 0x00 + wait 2 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1744 Madrigal (Furia) Turret (cm\terran\madrigal-turret.grp) +.headerstart +IsId 749 +Type 14 +Init MadrigalFuriaTurretInit +Death Generic_Wait1End +GndAttkInit MadrigalFuriaTurretGndAttkInit +AirAttkInit MadrigalFuriaTurretGndAttkInit +Unused1 [NONE] +GndAttkRpt MadrigalFuriaTurretGndAttkInit +AirAttkRpt MadrigalFuriaTurretGndAttkInit +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle SkryrokorLocal00 +SpecialState1 SkryrokorLocal00 +SpecialState2 MadrigalFuriaTurretSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalFuriaTurretInit: + playfram 0x20 + wait 1 + nobrkcodestart + wait 10 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0xC0 + wait 1 + playfram 0xE0 + nobrkcodeend + goto SkryrokorLocal00 + +MadrigalFuriaTurretGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x100 + attackwith 1 + playfram 0xE0 + wait 1 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +MadrigalFuriaTurretSpecialState2: + wait 1 + playsnd 2197 # Madrigal switch 02 + playfram 0xC0 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1006 Paladin (cm\terran\paladin.grp) +.headerstart +IsId 425 +Type 12 +Init PaladinInit +Death PaladinDeath +GndAttkInit PaladinGndAttkInit +AirAttkInit PaladinGndAttkInit +Unused1 PaladinUnused1 +GndAttkRpt PaladinGndAttkInit +AirAttkRpt PaladinGndAttkInit +CastSpell [NONE] +GndAttkToIdle PaladinGndAttkToIdle +AirAttkToIdle PaladinGndAttkToIdle +Unused2 [NONE] +Walking PaladinWalking +WalkingToIdle PaladinWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PaladinInit: + imgul 1013 0 0 # Paladin shadow (cm\terran\paladin-shad.grp) +PaladinWalkingToIdle: + playfram 0x00 + goto PaladinLocal00 + +PaladinLocal00: + wait 62 + randcondjmp 25 PaladinLocal01 + goto PaladinLocal00 + +PaladinLocal01: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + randcondjmp 43 PaladinLocal01 + goto PaladinLocal00 + +PaladinDeath: + playsnd 2820 # Goliath death 01 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small + wait 1 + end + +PaladinUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 744 0 0 # Large Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto PaladinWalkingToIdle + +PaladinGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playsnd 2821 # Paladin charge 01 + goto PaladinGndAttkRpt +PaladinGndAttkRpt: + wait 10 + playsndbtwn 1144 1147 # Paladin weaponfire 01, 02, 03, 04 + attack + wait 3 + attack + wait 3 + playsndbtwn 1144 1147 # Paladin weaponfire + attack + wait 3 + attack + wait 3 + playsndbtwn 1144 1147 # Paladin weaponfire + attack + wait 3 + attack + wait 3 + playsndbtwn 1144 1147 # Paladin weaponfire + attack + wait 3 + attack + wait 3 + playsndbtwn 1144 1147 # Paladin weaponfire + attack + wait 3 + attack + wait 3 + nobrkcodeend + gotorepeatattk + ignorerest +PaladinGndAttkToIdle: + wait 1 + goto PaladinWalkingToIdle + +PaladinWalking: + move 3 + wait 1 + playfram 0xbb + move 3 + wait 1 + playfram 0xcc + move 3 + wait 1 + playfram 0xdd + move 3 + wait 1 + playfram 0xee + move 3 + wait 1 + playfram 0xff + move 3 + wait 1 + playfram 0x110 + move 3 + wait 1 + playfram 0x121 + move 4 + wait 1 + playfram 0x132 + move 3 + wait 1 + playfram 0x143 + move 3 + wait 1 + playfram 0x154 + move 3 + wait 1 + playfram 0x165 + move 3 + wait 1 + playfram 0x176 + move 3 + wait 1 + playfram 0x187 + move 3 + wait 1 + playfram 0x198 + move 3 + wait 1 + playfram 0x1A9 + move 3 + wait 1 + playfram 0x1BA + move 3 + wait 1 + playfram 0x1CB + move 3 + wait 1 + playfram 0x1DC + move 3 + wait 1 + playfram 0x1ED + move 3 + wait 1 + playfram 0x1FE + move 3 + wait 1 + playfram 0x20F + move 3 + wait 1 + playfram 0x220 + move 3 + wait 1 + playfram 0x231 + move 3 + wait 1 + playfram 0x242 + move 3 + wait 1 + playfram 0x33 + move 3 + wait 1 + playfram 0x44 + move 3 + wait 1 + playfram 0x55 + move 3 + wait 1 + playfram 0x66 + move 3 + wait 1 + playfram 0x77 + move 3 + wait 1 + playfram 0x88 + move 3 + wait 1 + playfram 0x99 + move 3 + wait 1 + playfram 0xaa + goto PaladinWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1001 Scrapyard (cm\terran\scrapyard.grp) +.headerstart +IsId 427 +Type 24 +Init ScrapyardInit +Death ScrapyardDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ScrapyardAlmostBuilt +Built ScrapyardBuilt +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking ScrapyardIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ScrapyardDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ScrapyardInit: + imgul 1037 0 0 # Scrapyard Shadow (cm\terran\scrapyard-shad.grp) +ScrapyardBuilt: + imgul 294 0 0 # Palladium Connector + playfram 0x00 + goto SkryrokorLocal00 + +ScrapyardAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +ScrapyardDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) + wait 1 + end + +ScrapyardIsWorking: + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 0x00 + waitrand 2 5 + goto ScrapyardIsWorking + +ScrapyardDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1056 Treasury (cm\terran\treasury.grp) +.headerstart +IsId 438 +Type 20 +Init TreasuryInit +Death TreasuryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TreasuryAlmostBuilt +Built TreasuryBuilt +Landing TreasuryLanding +LiftOff TreasuryLiftoff +IsWorking [NONE] +WorkingToIdle TreasuryBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TreasuryInit: + playfram 0x00 + imgul 1057 0 0 # Treasury Shadow (cm\terran\treasury-shad.grp) + goto SkryrokorLocal00 + +TreasuryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +TreasuryAlmostBuilt: + playfram 20 + goto SkryrokorLocal00 + +TreasuryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +TreasuryLanding: + nobrkcodestart + wait 25 + playsnd 472 # Misc\Land.WAV + playfram 0x00 +# playfram 4 + wait 4 +# playfram 2 + wait 4 +# playfram 3 + wait 4 +# playfram 5 + wait 4 +# playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +TreasuryLiftoff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV +# playfram 5 + wait 4 +# playfram 3 + wait 4 +# playfram 2 + wait 4 +# playfram 4 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1009 Rotary (cm\terran\rotary.grp) +.headerstart +IsId 441 +Type 24 +Init RotaryInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt RotaryAlmostBuilt +Built RotaryBuilt +Landing RotaryLanding +LiftOff SkryrokorLocal00 +IsWorking RotaryIsWorking +WorkingToIdle RotaryBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable RotaryDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +RotaryInit: + imgul 1070 0 0 # Rotary Shadow (cm\terran\rotary-shad.grp) +RotaryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +RotaryAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +RotaryLanding: + imgol 1788 0 0 # Rotary Connector (cm\terran\rotary-connector.grp) + goto SkryrokorLocal00 + +RotaryIsWorking: + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 0x00 + waitrand 2 5 + goto RotaryIsWorking + +RotaryDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1007 Savant Power Siphon (cm\terran\savant-power-siphon.grp) +.headerstart +IsId 815 +Type 14 +Init SavantPowerSiphonInit +Death MadcapDeath +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit +Unused1 [NONE] +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SavantSpecialState1 +SpecialState2 SavantEntropyGauntletsTransform +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SavantPowerSiphonInit: + imgul 1074 0 0 # Savant Power Siphon Shadow (cm\terran\savant-siphon-shadow.grp) + imgol 1110 0 0 # Savant Power Siphon transform + playsnd 3078 # Savant Entropy Gauntlets transform 01 + wait 12 + sigorder 1 + goto MadcapWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1007 Savant (cm\terran\savant-entropy-gauntlets.grp) +.headerstart +IsId 442 +Type 14 +Init SavantInit +Death MadcapDeath +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit +Unused1 [NONE] +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle +Unused2 [NONE] +Walking MadcapWalking +WalkingToIdle MadcapWalkingToIdle +SpecialState1 SavantEntropyGauntletsTransform +SpecialState2 SavantEntropyGauntletsTransform +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SavantInit: + imgul 2004 0 0 # Savant Shadow (cm\terran\savant-shadow.grp) + goto MadcapWalkingToIdle + +SavantSpecialState1: + playfram 0x00 + goto SkryrokorLocal00 + +SavantEntropyGauntletsTransform: + imgol 1846 0 0 # Savant Entropy Gauntlets transform + playsnd 3077 # Savant Entropy Gauntlets transform 01 + wait 12 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1632 Pythean (cm\terran\pythean.grp) +.headerstart +IsId 446 +Type 12 +Init PytheanInit +Death PytheanDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking PytheanWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PytheanInit: + imgul 1633 0 42 # Trojan Shadow (cm\terran\pythean.grp) + playfram 0x00 + goto SkryrokorLocal00 + +PytheanDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 42 # Terran Building Rubble Small + wait 1 + end + +PytheanWalking: + setvertpos 0 + imgol 1734 0 0 # Pythean Engines (cm\terran\pythean-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1107 Energy Decay (small) (cm\effect\energydecay.grp) +# 1108 Energy Decay (medium) (cm\effect\energydecay.grp) +# 1109 Energy Decay (large) (cm\effect\energydecay.grp) +.headerstart +IsId 458 +Type 1 +Init EnergyDecayInit +Death EnergyDecayDeath +.headerend +# ----------------------------------------------------------------------------- # + +EnergyDecayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 +EnergyDecayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1110 Savant Form Switch - Power (cm\terran\savant-form-switch.grp) +# 1846 Savant Form Switch - Entropy (cm\terran\savant-form-switch.grp) +.headerstart +IsId 459 +Type 1 +Init SavantFormSwitchInit +Death SavantFormSwitchDeath +.headerend +# ----------------------------------------------------------------------------- # + +SavantFormSwitchInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 +SavantFormSwitchDeath: + wait 1 + end + + + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1141 Madcap (cm\terran\madcap.grp) +.headerstart +IsId 475 +Type 12 +Init MadcapInit +Death MadcapDeath +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit +Unused1 [NONE] +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle +Unused2 [NONE] +Walking MadcapWalking +WalkingToIdle MadcapWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MadcapInit: + imgul 1142 0 0 # Madcap Shadow (cm\terran\madcap-shad.grp) +MadcapWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +MadcapDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) + wait 1 + end + +MadcapGndAttkInit: + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 +MadcapGndAttkRpt: + wait 1 + nobrkcodestart + attack + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x180 + nobrkcodeend + gotorepeatattk + ignorerest +MadcapGndAttkToIdle: + playfram 0x140 + wait 1 + playfram 0x120 + wait 1 + playfram 0x100 + wait 1 + goto MadcapWalkingToIdle + +MadcapWalking: + 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 0x20 + move 4 + wait 1 + goto MadcapWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1324 Vestry (cm\terran\medbay.grp) +.headerstart +IsId 559 +Type 24 +Init VestryInit +Death VestryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt VestryAlmostBuilt +Built VestryBuilt +Landing VestryLanding +LiftOff SkryrokorLocal00 +IsWorking VestryIsWorking +WorkingToIdle VestryWorkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VestryInit: + imgul 1325 0 0 # Vestry Shadow (cm\terran\medbay.grp) +VestryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +VestryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) + wait 1 + end + +VestryAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +VestryLanding: + imgol 1326 0 0 # Vestry connector (cm\terran\medbay-connector.grp) + goto SkryrokorLocal00 + +VestryIsWorking: + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 3 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 2 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 3 + goto VestryIsWorking + +VestryWorkingToIdle: + playfram 2 + wait 1 + goto VestryBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1326 Vestry Connector (cm\terran\medbay-connector.grp) +.headerstart +IsId 560 +Type 24 +Init VestryConnectorInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing Generic_Wait1End +LiftOff VestryConnectorLiftOff +IsWorking VestryConnectorIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VestryConnectorInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 +VestryConnectorIsWorking: + playfram 3 + goto SkryrokorLocal00 + +VestryConnectorLiftOff: + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1804 Anchor (Grounded) (cm\terran\anchor-grounded.grp) +.headerstart +IsId 770 +Type 24 +Init AnchorGroundedInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AnchorAlmostBuilt +Built AnchorBuilt +Landing AnchorLanding +LiftOff AnchorLiftOff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnchorGroundedInit: + imgul 1805 0 0 # Anchor (Grounded) Shadow (cm\terran\anchor-grounded-shadow.grp) + goto AnchorBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1900 Goska (terran\ghost.grp) +.headerstart +IsId 791 +Type 13 +Init GoskaInit +Death EidolonDeath +GndAttkInit GoskaGndAttkInit +AirAttkInit GoskaGndAttkInit +Unused1 EidolonUnused1 +GndAttkRpt GoskaGndAttkRpt +AirAttkRpt GoskaGndAttkRpt +CastSpell EidolonCastSpell +GndAttkToIdle EidolonGndAttkToIdle +AirAttkToIdle EidolonGndAttkToIdle +Unused2 [NONE] +Walking EidolonWalking +WalkingToIdle EidolonWalkingToIdle +SpecialState1 EidolonSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +GoskaInit: + imgul 1901 0 0 # Goska Shadow (terran\tghShad.grp) + goto EidolonWalkingToIdle + +GoskaGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +GoskaGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 3212 3214 # Goska Weaponfire 01, 02, 03 + attack + playfram 0xcc + wait 1 + playfram 0x22 + wait 1 + attack + playfram 0xcc + wait 1 + playfram 0x22 + wait 1 + attack + playfram 0xcc + wait 1 + playfram 0x22 + wait 1 + attack + playfram 0xcc + wait 1 + playfram 0x22 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto EidolonGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1912 Ackmed (cm\heroes\ackmed.grp) +.headerstart +IsId 793 +Type 12 +Init AckmedInit +Death HarakanDeath +GndAttkInit HarakanGndAttkInit +AirAttkInit HarakanGndAttkInit +Unused1 HarakanUnused1 +GndAttkRpt HarakanGndAttkRpt +AirAttkRpt HarakanGndAttkRpt +CastSpell [NONE] +GndAttkToIdle HarakanGndAttkToIdle +AirAttkToIdle HarakanGndAttkToIdle +Unused2 [NONE] +Walking HarakanWalking +WalkingToIdle HarakanWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AckmedInit: + imgul 1913 0 0 # Ackmed Shadow (cm\heroes\ackmed-shadow.grp) + goto HarakanWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1970 Sieve (cm\terran\sieve.grp) +.headerstart +IsId 802 +Type 20 +Init SieveInit +Death ReservoirDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ReservoirSpecialState1 +SpecialState2 ReservoirSpecialState2 +AlmostBuilt ReservoirAlmostBuilt +Built ReservoirBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle ReservoirBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SieveInit: + imgul 1971 0 0 # Sieve Shadow (cm\terran\sieve-shadow.grp) + playfram 1 + goto ReservoirLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1117 Apostle (cm\terran\apostle.grp) +.headerstart +IsId 463 +Type 12 +Init ApostleInit +Death ApostleDeath +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit +Unused1 ApostleUnused1 +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle +Unused2 [NONE] +Walking MadcapWalking +WalkingToIdle MadcapWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ApostleInit: + imgul 1118 0 4 # Apostle Shadow (cm\terran\apostle-shad.grp) + goto MadcapWalkingToIdle + +ApostleDeath: + playsnd 1301 # Apostle death 01 + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + lowsprul 565 0 0 # Apostle Remnants (cm\terran\apostle-death.grp) + wait 1 + end + +ApostleUnused1: + wait 1 + nobrkcodestart + playsnd 3511 + tmprmgraphicstart + imgol 2039 0 0 # Skryrokor Death Reversed (zerg\zavDeath.grp) + wait 16 + tmprmgraphicend + playfram 0x00 + setfldirect 13 + wait 8 + nobrkcodeend + goto MadcapWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1118 Apostle Remnants (cm\terran\apostle-death.grp) +.headerstart +IsId 464 +Type 1 +Init ApostleRemnantsInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ApostleRemnantsInit: + playfram 0 + wait 255 + wait 24 + playfram 1 + wait 255 + wait 24 + playfram 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1011 Future Station (cm\terran\future-station.grp) +.headerstart +IsId 466 +Type 24 +Init FutureStationInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt FutureStationAlmostBuilt +Built InfestedTerranWalkingToIdle +Landing SkryrokorLocal00 +LiftOff SkryrokorLocal00 +IsWorking FutureStationIsWorking +WorkingToIdle InfestedTerranWalkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FutureStationInit: + imgul 1121 0 0 # Future Station Shadow (cm\terran\future-station-shadow.grp) + goto InfestedTerranWalkingToIdle + +FutureStationAlmostBuilt: + playfram 20 + goto SkryrokorLocal00 + +FutureStationIsWorking: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 0x00 + wait 1 + goto FutureStationIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1125 Nanite Assembly (cm\terran\naniteassembly.grp) +.headerstart +IsId 468 +Type 20 +Init NaniteAssemblyInit +Death NaniteAssemblyDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt NaniteAssemblyAlmostBuilt +Built NaniteAssemblyBuilt +Landing NaniteAssemblyLanding +LiftOff NaniteAssemblyLiftOff +IsWorking NaniteAssemblyIsWorking +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NaniteAssemblyInit: + playfram 0x00 + imgul 1126 0 0 # Nanite Assembly Shadow (cm\terran\naniteassembly-shad.grp) + goto SkryrokorLocal00 + +NaniteAssemblyDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +NaniteAssemblyAlmostBuilt: + playfram 21 + goto SkryrokorLocal00 + +NaniteAssemblyBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +NaniteAssemblyLanding: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV +# playfram 4 + wait 8 +# playfram 3 + wait 8 +# playfram 2 + wait 8 +# playfram 5 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +NaniteAssemblyLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0x00 + wait 1 +# playfram 5 + wait 8 +# playfram 2 + wait 8 +# playfram 3 + wait 8 +# playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +NaniteAssemblyIsWorking: + 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 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 0x00 + wait 2 + goto NaniteAssemblyIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1127 Hadron (cm\terran\particle-accelerator.grp) +.headerstart +IsId 469 +Type 24 +Init HadronInit +Death StarportDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt HadronAlmostBuilt +Built HadronBuilt +Landing HadronLanding +LiftOff SkryrokorLocal00 +IsWorking HadronIsWorking +WorkingToIdle HadronBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable HadronDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HadronInit: + playfram 0x00 + imgul 1128 0 0 # Hadron Shadow (cm\terran\particle-accelerator-shadow.grp) + goto HadronLanding + +HadronLanding: +# imgol 294 0 0 # Palladium Connector (terran\machineC.grp) + goto SkryrokorLocal00 + +HadronAlmostBuilt: + playfram 5 + goto SkryrokorLocal00 + +HadronBuilt: + playfram 0x00 + goto HadronLanding + +HadronIsWorking: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 0x00 + wait 1 + goto HadronIsWorking + +HadronDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1143 Salamander (cm\terran\salamander.grp) +.headerstart +IsId 476 +Type 12 +Init SalamanderInit +Death SalamanderDeath +GndAttkInit SalamanderGndAttkInit +AirAttkInit SalamanderAirAttkInit +Unused1 [NONE] +GndAttkRpt SalamanderGndAttkInit +AirAttkRpt SalamanderAirAttkInit +CastSpell [NONE] +GndAttkToIdle SalamanderGndAttkToIdle +AirAttkToIdle SalamanderGndAttkToIdle +Unused2 [NONE] +Walking SalamanderWalking +WalkingToIdle SalamanderWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SalamanderInit: + imgul 1144 0 42 # Salamander Shadow (cm\terran\salamander.grp) +SalamanderGndAttkToIdle: + playfram 0x00 + goto SalamanderWalkingToIdle + +SalamanderWalkingToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto SalamanderWalkingToIdle + +SalamanderDeath: + playsndbtwn 1262 1264 # Salamander death 01, 02, 03 + imgol 1553 -3 -7 # Salamander Death + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 8 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +SalamanderGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 2777 2779 # Salamander weaponfire 01, 02, 03 + attackwith 1 + wait 3 + attackwith 1 + wait 3 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SalamanderWalkingToIdle + +SalamanderAirAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 3129 3132 # Salamander weapon 2 fire 01, 02, 03 + attackwith 2 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SalamanderWalkingToIdle + +SalamanderWalking: + setvertpos 0 + imgol 1166 0 0 # Salamander Engines (cm\terran\salamander-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1145 Salamander Missile (cm\terran\salamander-missile.grp) +.headerstart +IsId 477 +Type 2 +Init SalamanderMissileInit +Death SalamanderMissileDeath +GndAttkInit SalamanderMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SalamanderMissileInit: + playfram 0x00 + wait 1 + sigorder 1 + goto SalamanderMissileGndAttkInit + +SalamanderMissileGndAttkInit: + 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 + playfram 0x00 + wait 1 + goto SalamanderMissileGndAttkInit + +SalamanderMissileDeath: + imgol 1875 0 0 # Salamander weaponhit + playsnd 9 # Misc\ExploSm.wav + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1146 Gorgon (cm\terran\gorgon.grp) +.headerstart +IsId 478 +Type 12 +Init GorgonInit +Death GorgonDeath +GndAttkInit GorgonGndAttkInit +AirAttkInit GorgonGndAttkInit +Unused1 [NONE] +GndAttkRpt GorgonGndAttkInit +AirAttkRpt GorgonGndAttkInit +CastSpell [NONE] +GndAttkToIdle GorgonGndAttkToIdle +AirAttkToIdle GorgonGndAttkToIdle +Unused2 [NONE] +Walking GorgonWalking +WalkingToIdle WraithGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GorgonInit: + imgul 1147 0 42 # Gorgon Shadow (cm\terran\gorgon.grp) +GorgonGndAttkToIdle: + playfram 0x00 + goto WraithGndAttkToIdle + +GorgonDeath: + playsndbtwn 1249 1251 # Gorgon death 01, 02, 03 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +GorgonGndAttkInit: + wait 1 + playsndbtwn 1252 1253 # Gorgon weaponfire 01, 02 + attack + sigorder 32 + wait 1 + gotorepeatattk + goto WraithGndAttkToIdle + +GorgonWalking: + setvertpos 0 + imgol 1198 0 0 # Gorgon Engines (cm\terran\gorgon-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1150 Phobos (cm\terran\phobos.grp) +.headerstart +IsId 480 +Type 12 +Init PhobosInit +Death PhobosDeath +GndAttkInit PhobosGndAttkInit +AirAttkInit PhobosGndAttkInit +Unused1 [NONE] +GndAttkRpt PhobosGndAttkInit +AirAttkRpt PhobosGndAttkInit +CastSpell PhobosCastSpell +GndAttkToIdle PhobosGndAttkToIdle +AirAttkToIdle PhobosGndAttkToIdle +Unused2 [NONE] +Walking PhobosWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhobosInit: + imgul 1151 0 42 # Phobos Shadow (cm\terran\phobos.grp) +PhobosGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +PhobosDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 274 0 42 # Terran Building Rubble Large + wait 1 + end + +PhobosGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1259 1261 # Phobos weaponfire 01, 02, 03 + attackwith 1 + wait 4 + attackwith 1 + wait 4 + attackwith 1 + wait 4 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +PhobosWalking: + setvertpos 0 + imgol 1162 0 0 # Phobos Engines (cm\terran\phobos-engine.grp) + goto SkryrokorLocal00 + +PhobosCastSpell: + imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1152 Penumbra (cm\terran\penumbra.grp) +.headerstart +IsId 481 +Type 12 +Init PenumbraInit +Death PenumbraDeath +GndAttkInit PenumbraGndAttkInit +AirAttkInit PenumbraGndAttkInit +Unused1 PenumbraUnused1 +GndAttkRpt PenumbraGndAttkInit +AirAttkRpt PenumbraGndAttkInit +CastSpell [NONE] +GndAttkToIdle PenumbraGndAttkToIdle +AirAttkToIdle PenumbraGndAttkToIdle +Unused2 [NONE] +Walking PenumbraWalking +WalkingToIdle PenumbraWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PenumbraInit: + imgul 1153 0 0 # Penumbra shadow (cm\terran\penumbra-shad.grp) +PenumbraWalkingToIdle: + playfram 0x110 + goto SkryrokorLocal00 + +PenumbraDeath: + playsndbtwn 1742 1743 # Penumbra death 01, 02 + imgol 1498 0 0 # Penumbra Death (Primary) + wait 10 + imgol 334 15 15 + wait 7 + imgol 334 -15 -15 + wait 6 + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +PenumbraUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsndbtwn 1744 1745 # Penumbra revive 01, 02 + wait 10 + sprol 744 -15 15 + wait 10 + sprol 744 15 15 + wait 3 + sprol 744 0 -0 + wait 3 + setfldirect 13 + tmprmgraphicend + nobrkcodeend + goto PenumbraWalkingToIdle + +PenumbraGndAttkInit: + playfram 0x110 + wait 2 + nobrkcodestart + playsndbtwn 1199 1202 # Penumbra weaponfire 01, 02, 03, 04 + attack + playfram 0x165 + wait 2 + playfram 0x154 + wait 2 + playfram 0x143 + wait 2 + playfram 0x132 + wait 2 + playfram 0x121 + nobrkcodeend + wait 2 + playfram 0x110 + gotorepeatattk + ignorerest +PenumbraGndAttkToIdle: + wait 2 + goto PenumbraWalkingToIdle + +PenumbraWalking: + move 3 + wait 1 + playfram 0x00 + move 3 + wait 1 + move 4 + wait 1 + playfram 0x11 + move 3 + wait 1 + move 4 + wait 1 + playfram 0x22 + move 3 + wait 1 + move 5 + wait 1 + playfram 0x33 + move 3 + wait 1 + move 5 + wait 1 + playfram 0x44 + move 3 + wait 1 + move 4 + wait 1 + playfram 0x55 + move 3 + wait 1 + move 4 + wait 1 + playfram 0x66 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x77 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x88 + move 3 + wait 1 + move 4 + wait 1 + playfram 0x99 + move 3 + wait 1 + move 4 + wait 1 + playfram 0xaa + move 3 + wait 1 + move 5 + wait 1 + playfram 0xbb + move 3 + wait 1 + move 5 + wait 1 + playfram 0xcc + move 3 + wait 1 + move 4 + wait 1 + playfram 0xdd + move 3 + wait 1 + move 4 + wait 1 + playfram 0xee + move 3 + wait 1 + move 3 + wait 1 + playfram 0xff + goto PenumbraWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1154 Cyclops (cm\terran\cyclops.grp) +.headerstart +IsId 482 +Type 12 +Init CyclopsInit +Death CyclopsDeath +GndAttkInit CyclopsGndAttkInit +AirAttkInit CyclopsGndAttkInit +Unused1 CyclopsUnused1 +GndAttkRpt CyclopsGndAttkRpt +AirAttkRpt CyclopsGndAttkRpt +CastSpell [NONE] +GndAttkToIdle CyclopsGndAttkToIdle +AirAttkToIdle CyclopsGndAttkToIdle +Unused2 [NONE] +Walking CyclopsWalking +WalkingToIdle CyclopsWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CyclopsInit: + imgul 1155 0 0 # Cyclops shadow (cm\terran\cyclops-shad.grp) +CyclopsWalkingToIdle: + playfram 0x00 + goto CyclopsLocal00 + +CyclopsLocal00: + wait 62 + randcondjmp 25 CyclopsLocal01 + goto CyclopsLocal00 + +CyclopsLocal01: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + waitrand 12 96 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + randcondjmp 43 CyclopsLocal01 + playfram 0x20 + wait 1 + playfram 0x00 + goto CyclopsLocal00 + +CyclopsDeath: + playsndbtwn 1598 1602 # Cyclops death 01, 02, 03, 04, 05 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 816 0 0 # Cyclops Remains + end + +CyclopsUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 # Small Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto CyclopsWalkingToIdle + +CyclopsGndAttkInit: + playfram 0x00 +CyclopsGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x220 + playsndbtwn 2548 2549 # Cyclops weapon fire 01, 02, 03 + attack + wait 1 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +CyclopsGndAttkToIdle: + playfram 0x00 + wait 1 + goto CyclopsWalkingToIdle + +CyclopsWalking: + playfram 0xA0 + move 5 + wait 1 + playfram 0xC0 + move 5 + wait 1 + playfram 0xE0 + move 5 + wait 1 + playfram 0x100 + move 5 + wait 1 + playfram 0x120 + move 5 + wait 1 + playfram 0x140 + move 5 + wait 1 + playfram 0x160 + move 5 + wait 1 + 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 + goto CyclopsWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1156 Phobos Missile (cm\terran\phobos-missile.grp) +.headerstart +IsId 483 +Type 2 +Init PhobosMissileInit +Death PhobosMissileDeath +GndAttkInit PhobosMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhobosMissileInit: + playfram 0x00 + playsnd 80 # Bullet\HKMISSLE.wav + wait 1 + sigorder 1 + wait 1 +PhobosMissileGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto PhobosMissileGndAttkInit + +PhobosMissileDeath: + playsnd 9 # Misc\ExploSm.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1157 Phobos Laser (cm\terran\phobos-laser.grp) +.headerstart +IsId 484 +Type 2 +Init PhobosLaserInit +Death PhobosLaserDeath +GndAttkInit PhobosLaserGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhobosLaserInit: + playfram 0x00 + wait 1 + sigorder 1 + goto PhobosLaserGndAttkInit + +PhobosLaserGndAttkInit: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x00 + wait 1 + goto PhobosLaserGndAttkInit + +PhobosLaserDeath: + imgol 1168 0 0 # Phobos Laser Impact (cm\terran\phobos-laser-impact.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1158 Nanite Field Overlay (cm\effect\nanitefield-overlay.grp) +.headerstart +IsId 485 +Type 1 +Init NaniteFieldInit +Death NaniteFieldDeath +.headerend +# ----------------------------------------------------------------------------- # + +NaniteFieldInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + goto NaniteFieldDeath + +NaniteFieldDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1168 Phobos Laser Impact (cm\terran\phobos-laser-impact.grp) +.headerstart +IsId 490 +Type 1 +Init PhobosLaserImpactInit +Death PhobosLaserImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +PhobosLaserImpactInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +PhobosLaserImpactDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1169 Salamander Missile Impact (cm\terran\salamander-missile-impact.grp) +.headerstart +IsId 491 +Type 1 +Init SalamanderMissileImpactInit +Death SalamanderMissileImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +SalamanderMissileImpactInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 +SalamanderMissileImpactLocal00: + 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 SalamanderMissileImpactLocal00 + +SalamanderMissileImpactDeath: + playfram 9 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 12 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1193 Talos (cm\terran\talos.grp) +.headerstart +IsId 503 +Type 15 +Init TalosInit +Death TalosDeath +GndAttkInit TalosGndAttkInit +AirAttkInit TalosGndAttkInit +Unused1 [NONE] +GndAttkRpt TalosGndAttkRpt +AirAttkRpt TalosGndAttkRpt +CastSpell [NONE] +GndAttkToIdle TalosGndAttkToIdle +AirAttkToIdle TalosGndAttkToIdle +Unused2 [NONE] +Walking TalosWalking +WalkingToIdle TalosGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TalosAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +TalosInit: + imgul 1194 0 42 # Talos Shadow (cm\terran\talos.grp) + playfram 0x00 + wait 2 +TalosGndAttkToIdle: + playfram 0x00 + goto TalosLocal69 +TalosLocal69: + setvertpos 0 + wait 8 + setvertpos 1 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + goto TalosLocal69 + +TalosDeath: + playsndbtwn 1304 1307 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 42 # Terran Unit Rubble Small + wait 1 + end + +TalosGndAttkInit: + playfram 0x00 +TalosGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x20 + wait 1 + playfram 0x40 + playsndbtwn 2012 2013 # Talos weaponfire 01, 02 + attackwith 1 + wait 1 + playfram 0x20 + wait 1 + nobrkcodeend + gotorepeatattk + goto TalosGndAttkToIdle + +TalosWalking: + setvertpos 0 + goto SkryrokorLocal00 + +TalosAlmostBuilt: + setvertpos 0 + playfram 0x20 + wait 1 +TalosLocal00: + playfram 0x40 + useweapon 14 # Fusion Cutter (Harvest) (Fusion Cutter) + sigorder 32 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + wait 11 + goto TalosLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1211 Cyclops Weapon Hit (cm\terran\cyclops-weaponhit.grp) +.headerstart +IsId 508 +Type 2 +Init CyclopsWeaponHitInit +Death CyclopsWeaponHitDeath +GndAttkInit CyclopsWeaponHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CyclopsWeaponHitInit: + wait 1 + sigorder 1 + wait 1 +CyclopsWeaponHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1229 Burst Lasers (Silent) (thingy\elbfireW.grp) +.headerstart +IsId 518 +Type 2 +Init BurstLasersSilentInit +Death BurstLasersSilentDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BurstLasersSilentInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +BurstLasersSilentDeath: + imgol 1248 0 0 # Burst Lasers Hit Damaging (thingy\elbHit.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1230 Observance Cast Overlay (cm\effect\observance-casteffect.grp) +.headerstart +IsId 519 +Type 1 +Init ObservanceCastInit +Death ObservanceCastDeath +.headerend +# ----------------------------------------------------------------------------- # + +ObservanceCastInit: + playfram 0x00 + wait 2 + goto ObservanceCastLocal00 + +ObservanceCastLocal00: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto ObservanceCastDeath + +ObservanceCastDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1231 Observance Overlay (cm\effect\observance-large.grp) +# 1232 Observance Overlay (cm\effect\observance-medium.grp) +# 1233 Observance Overlay (cm\effect\observance-small.grp) +.headerstart +IsId 520 +Type 1 +Init ObservanceInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ObservanceInit: + playfram 0x00 + wait 2 +ObservanceLocal00: + playfram 1 + wait 2 + playfram 2 + wait 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + playfram 27 + wait 2 + playfram 28 + wait 2 + playfram 29 + wait 2 + playfram 30 + wait 2 + playfram 31 + wait 2 + playfram 32 + wait 2 + playfram 33 + wait 2 + playfram 34 + wait 2 + playfram 35 + wait 2 + playfram 36 + wait 2 + playfram 37 + wait 2 + goto ObservanceLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1240 Terran Heavy Missile (cm\terran\pegasus-missile.grp) +.headerstart +IsId 521 +Type 2 +Init TerranHeavyMissileInit +Death TerranHeavyMissileDeath +GndAttkInit TerranHeavyMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TerranHeavyMissileInit: + sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) + playfram 0x00 + wait 1 + sigorder 1 +TerranHeavyMissileGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto TerranHeavyMissileGndAttkInit + +TerranHeavyMissileDeath: + domissiledmg + imgol 1749 0 0 # Heavy Missile Explosion Orange (cm\terran\heavy-missile-explosion-orange.grp) + playsndbtwn 2203 2205 # Madrigal Imperioso weaponhit 01, 02, 03 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2037 Terran Heavy Missile Green (cm\terran\pegasus-missile.grp) +.headerstart +IsId 824 +Type 2 +Init TerranHeavyMissileInit +Death TerranHeavyMissileGreenDeath +GndAttkInit TerranHeavyMissileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TerranHeavyMissileGreenDeath: + domissiledmg + imgol 1750 0 0 # Heavy Missile Explosion Green (cm\terran\heavy-missile-explosion-orange.grp) + playsndbtwn 2203 2205 # Madrigal Imperioso weaponhit 01, 02, 03 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1245 Arclite Shock Cannon Hit (Silent) (thingy\mushroom.grp) +.headerstart +IsId 524 +Type 2 +Init ArcliteShockCannonHitSilentInit +Death ArcliteShockCannonHitSilentDeath +GndAttkInit ArcliteShockCannonHitSilentDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ArcliteShockCannonHitSilentInit: + wait 1 + sigorder 1 + wait 1 +ArcliteShockCannonHitSilentDeath: + playfram 0x00 + wait 1 + domissiledmg + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1246 Longbolt Missile (Silent) (bullet\missile.grp) +.headerstart +IsId 525 +Type 2 +Init LongboltMissileSilentInit +Death LongboltMissileSilentDeath +GndAttkInit LongboltMissileSilentGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LongboltMissileSilentInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +LongboltMissileSilentGndAttkInit: + sprol 309 0 0 # Longbolt/Gemini Missiles Trail (thingy\smoke.grp) + wait 3 + goto LongboltMissileGndAttkInit + +LongboltMissileSilentDeath: + playsndbtwn 2206 2207 # Goliath Missile weaponhit 01, 02 + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1248 Burst Lasers Impact (thingy\elbHit.grp) +# 1249 Burst Lasers Blue Impact (thingy\elbHit.grp) +.headerstart +IsId 526 +Type 1 +Init BurstLasersImpactInit +Death BurstLasersImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +BurstLasersImpactInit: + wait 1 + sigorder 1 + wait 1 +BurstLasersImpactDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1255 Diadem (Base) (cm\terran\ioncannon-base.grp) +.headerstart +IsId 531 +Type 24 +Init IonCannonBaseInit +Death IonCannonBaseDeath +GndAttkInit IonCannonBaseGndAttkInit +AirAttkInit IonCannonBaseGndAttkInit +Unused1 [NONE] +GndAttkRpt IonCannonBaseGndAttkRpt +AirAttkRpt IonCannonBaseGndAttkRpt +CastSpell [NONE] +GndAttkToIdle IonCannonBaseGndAttkToIdle +AirAttkToIdle IonCannonBaseGndAttkToIdle +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt IonCannonBaseAlmostBuilt +Built IonCannonBaseBuilt +Landing IonCannonBaseLanding +LiftOff IonCannonBaseLiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonBaseInit: + playfram 0x00 + imgul 1258 -27 0 # Ion Cannon shadow + imgul 1452 0 0 # Ion Cannon mouse response + goto SkryrokorLocal00 + +IonCannonBaseDeath: + playsnd 7 + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +IonCannonBaseGndAttkInit: + playfram 0x20 + wait 3 + playfram 0x40 +IonCannonBaseGndAttkRpt: + wait 1 + nobrkcodestart + playsnd 1319 # ioncannon-charge-01 + sigorder 32 + wait 71 + attackwith 1 + wait 8 + sproluselo 755 0 # ioncannon-attack-B + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +IonCannonBaseGndAttkToIdle: + playfram 0x20 + wait 3 + playfram 0x00 + goto SkryrokorLocal00 + +IonCannonBaseAlmostBuilt: + playfram 0xCC + setfldirect 20 + goto SkryrokorLocal00 + +IonCannonBaseLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0x00 + wait 1 + playfram 0x60 + wait 8 + playfram 0x80 + wait 8 + playfram 0xA0 + wait 8 + playfram 0xC0 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +IonCannonBaseLanding: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV + wait 8 + playfram 0xA0 + wait 8 + playfram 0x80 + wait 8 + playfram 0x60 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +IonCannonBaseBuilt: + playfram 0x00 + wait 1 + tmprmgraphicstart + imgol 1453 -128 -128 # ioncannon-attack-A1 + imgol 1278 127 -128 # ioncannon-attack-A2 + imgol 1701 -128 127 # ioncannon-attack-A3 + imgol 1702 127 127 # ioncannon-attack-A4 + imgol 1256 -1 -38 # ioncannon-turret + setfldirect 20 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1256 Ion Cannon (Turret) (cm\terran\ioncannon-turret.grp) +# 1258 Ion Cannon Shadow (cm\effect\ioncannon-shadow.grp) +.headerstart +IsId 532 +Type 1 +Init ShadowHeaderInit +Death IonCannonTurretDeath +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonTurretDeath: + wait 4 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1452 Ion Cannon Mouse Response (cm\effect\ioncannon-clicky.grp) +.headerstart +IsId 628 +Type 1 +Init IonCannonAttackAInit +Death IonCannonTurretDeath +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1260 Ion Cannon Ion Field (cm\effect\ioncannon-ionfield.grp) +.headerstart +IsId 533 +Type 1 +Init IonCannonIonFieldInit +Death IonCannonIonFieldDeath +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonIonFieldInit: + playsndbtwn 1443 1446 # Ion Cannon weapon hit 01, 02, 03, 04 + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 +IonCannonIonFieldLocal00: + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + goto IonCannonIonFieldLocal00 + +IonCannonIonFieldDeath: + playfram 20 + wait 1 + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 17 + wait 1 + playfram 16 + wait 1 + playfram 15 + wait 1 + playfram 14 + wait 1 + playfram 13 + wait 1 + playfram 12 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1263 Burst Lasers (Explosive) (thingy\elbfireW.grp) +.headerstart +IsId 534 +Type 2 +Init BurstLasersExplosiveInit +Death BurstLasersExplosiveDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BurstLasersExplosiveInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +BurstLasersExplosiveDeath: + imgol 1245 0 0 # Arclite Shock Cannon Hit Silent (thingy\mushroom.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1265 Lazarus Agent Cast (cm\effect\lazarusagent-cast.grp) +.headerstart +IsId 535 +Type 1 +Init LazarusAgentCastInit +Death LazarusAgentCastDeath +.headerend +# ----------------------------------------------------------------------------- # + +LazarusAgentCastInit: + playfram 0x00 + wait 1 +LazarusAgentCastLocal00: + playfram 1 + wait 1 + 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 + goto LazarusAgentCastDeath + +LazarusAgentCastDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1266 Lazarus Agent Revive (cm\effect\lazarusagent-revive.grp) +.headerstart +IsId 536 +Type 1 +Init LazarusAgentReviveInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +LazarusAgentReviveInit: + playfram 0x00 + wait 1 +LazarusAgentReviveLocal00: + playfram 2 + wait 1 + playfram 4 + wait 1 + playfram 6 + wait 1 + playfram 8 + wait 1 + playfram 10 + wait 1 + playfram 12 + wait 1 + playfram 14 + wait 1 + playfram 16 + wait 1 + playfram 18 + wait 1 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1267 Sublime Shepherd Overlay (cm\effect\sublimeshepherd-overlay.grp) +# 1466 Sublime Shepherd Overlay (Large)(cm\effect\sublimeshepherd-overlay-large.grp) +# 1467 Sublime Shepherd Overlay (Medium)(cm\effect\sublimeshepherd-overlay-medium.grp) +# 1468 Sublime Shepherd Overlay (Small)(cm\effect\sublimeshepherd-overlay-small.grp) +.headerstart +IsId 537 +Type 1 +Init SublimeShepherdOverlayInit +Death SublimeShepherdOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +SublimeShepherdOverlayInit: + playfram 0x00 + wait 1 +SublimeShepherdOverlayLocal00: + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 0x00 + wait 1 + goto SublimeShepherdOverlayLocal00 + +SublimeShepherdOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1968 Piety Ward (cm\faction-t\piety-ward.grp) +.headerstart +IsId 539 +Type 26 +Init PietyWardInit +Death SpiderMineDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 SpiderMineUnused2 +Walking SpiderMineWalking +WalkingToIdle SpiderMineWalkingToIdle +SpecialState1 SpiderMineSpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow SpiderMineBurrow +UnBurrow SpiderMineUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PietyWardInit: + imgul 1969 0 0 # Piety Ward Shadow (cm\faction-t\piety-ward-shadow.grp) + goto SpiderMineWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1277 Lobotomy Mine Death (thingy\tmnExplo.grp) +.headerstart +IsId 540 +Type 1 +Init SkryrokorLocal00 +Death LobotomyMineExplosionDeath +.headerend +# ----------------------------------------------------------------------------- # + +LobotomyMineExplosionDeath: + playsnd 1309 + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1278 Ion Cannon Overlay (cm\ion-cannon-overlay.grp) +.headerstart +IsId 541 +Type 1 +Init IonOverlayInit +Death IonOverlayInit +.headerend +# ----------------------------------------------------------------------------- # + +IonOverlayInit: + followmaingraphic + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1280 Ion Field (cm\effect\ioncannon-ionfield.grp) +.headerstart +IsId 543 +Type 1 +Init IonFieldInit +Death IonFieldDeath +.headerend +# ----------------------------------------------------------------------------- # + +IonFieldInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 0x11 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 +IonFieldLocal00: + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 0x22 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 0x33 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + goto IonFieldLocal00 + +IonFieldDeath: + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 17 + wait 1 + playfram 16 + wait 1 + playfram 15 + wait 1 + playfram 14 + wait 1 + playfram 13 + wait 1 + playfram 12 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1200 Ion Cannon Projectile (cm\effect\ioncannon-projectile.grp) +.headerstart +IsId 545 +Type 2 +Init IonCannonProjectileInit +Death IonCannonProjectileDeath +GndAttkInit IonCannonProjectileGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonProjectileInit: + playfram 0x00 + playsndbtwn 1320 1322 #ioncannon-att-01, 02, 03 + wait 1 + sigorder 1 + wait 2 + playfram 0x11 + wait 3 + playfram 0x22 +IonCannonProjectileGndAttkInit: + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xAA + goto IonCannonProjectileGndAttkInit + +IonCannonProjectileDeath: + playfram 0xBB + imgol 1105 0 0 # Ion Cannon Ion Field + domissiledmg + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1312 Captaincy (cm\terran\captaincy.grp) +.headerstart +IsId 554 +Type 24 +Init CaptaincyInit +Death StarportDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 CaptaincySpecialState1 +SpecialState2 [NONE] +AlmostBuilt CaptaincyAlmostBuilt +Built CaptaincyBuilt +Landing CaptaincyLanding +LiftOff CaptaincyLiftOff +IsWorking CaptaincyIsWorking +WorkingToIdle CaptaincyBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable CaptaincyDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CaptaincyInit: + playfram 0x00 + imgul 1313 0 0 # Captaincy shadow (cm\terran\captaincy-shad.grp) + goto SkryrokorLocal00 + +CaptaincySpecialState1: + playfram 4 + goto SkryrokorLocal00 + +CaptaincyAlmostBuilt: + playfram 11 + goto SkryrokorLocal00 + +CaptaincyBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +CaptaincyLanding: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV +# playfram 4 + wait 8 +# playfram 3 + wait 8 +# playfram 2 + wait 8 +# playfram 5 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +CaptaincyLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0x00 + wait 1 +# playfram 5 + wait 8 +# playfram 2 + wait 8 +# playfram 3 + wait 8 +# playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +CaptaincyIsWorking: + 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 0x00 + wait 2 + goto CaptaincyIsWorking + +CaptaincyDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1314 Iron Foundry (cm\terran\ironfoundry.grp) +.headerstart +IsId 555 +Type 24 +Init IronFoundryInit +Death StarportDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 IronFoundrySpecialState1 +SpecialState2 [NONE] +AlmostBuilt IronFoundryAlmostBuilt +Built IronFoundryBuilt +Landing IronFoundryLanding +LiftOff IronFoundryLiftOff +IsWorking IronFoundryIsWorking +WorkingToIdle IronFoundryBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable IronFoundryDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IronFoundryInit: + playfram 0x00 + imgul 1315 0 0 # Iron Foundry Shadow (cm\terran\ironfoundry-shad.grp) + goto SkryrokorLocal00 + +IronFoundrySpecialState1: + playfram 4 + goto SkryrokorLocal00 + +IronFoundryAlmostBuilt: + playfram 11 + goto SkryrokorLocal00 + +IronFoundryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +IronFoundryLanding: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV +# playfram 4 + wait 8 +# playfram 3 + wait 8 +# playfram 2 + wait 8 +# playfram 5 + wait 8 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +IronFoundryLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0x00 + wait 1 +# playfram 5 + wait 8 +# playfram 2 + wait 8 +# playfram 3 + wait 8 +# playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +IronFoundryIsWorking: + 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 0x00 + wait 2 + goto IronFoundryIsWorking + +IronFoundryDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1328 Heracles (cm\terran\heracles.grp) +.headerstart +IsId 562 +Type 12 +Init HeraclesInit +Death HeraclesDeath +GndAttkInit HeraclesGndAttkInit +AirAttkInit HeraclesGndAttkInit +Unused1 HeraclesUnused1 +GndAttkRpt HeraclesGndAttkInit +AirAttkRpt HeraclesGndAttkInit +CastSpell [NONE] +GndAttkToIdle HeraclesGndAttkToIdle +AirAttkToIdle HeraclesGndAttkToIdle +Unused2 [NONE] +Walking HeraclesWalking +WalkingToIdle HeraclesWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HeraclesInit: + imgul 1329 0 0 # Heracles shadow (cm\terran\heracles-shad.grp) +HeraclesWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +HeraclesDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 844 0 0 # Terran Unit Rubble Medium + wait 1 + end + +HeraclesUnused1: + wait 1 + nobrkcodestart + playsnd 1699 + sprol 744 0 0 + wait 12 + setfldirect 13 + nobrkcodeend + goto HeraclesWalkingToIdle + +HeraclesGndAttkInit: + playfram 0xbb + wait 1 + nobrkcodestart + playfram 0x99 + playsndbtwn 1369 1371 + attack + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + nobrkcodeend + gotorepeatattk + ignorerest +HeraclesGndAttkToIdle: + wait 1 + playfram 0xbb + goto HeraclesWalkingToIdle + +HeraclesWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + goto HeraclesWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1330 Pazuzu (cm\terran\pazuzu.grp) +.headerstart +IsId 563 +Type 12 +Init PazuzuInit +Death PazuzuDeath +GndAttkInit PazuzuGndAttkInit +AirAttkInit PazuzuGndAttkInit +Unused1 PazuzuUnused1 +GndAttkRpt PazuzuGndAttkInit +AirAttkRpt PazuzuGndAttkInit +CastSpell [NONE] +GndAttkToIdle PazuzuGndAttkToIdle +AirAttkToIdle PazuzuGndAttkToIdle +Unused2 [NONE] +Walking PazuzuWalking +WalkingToIdle PazuzuGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PazuzuInit: + imgul 1331 0 7 # Pazuzu Shadow (cm\terran\pazuzu.grp) + goto PazuzuGndAttkToIdle + +PazuzuGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + goto PazuzuGndAttkToIdle + +PazuzuDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small + wait 1 + end + +PazuzuUnused1: + wait 1 + nobrkcodestart + playsnd 1699 # Phalanx revive 01 + sprol 744 0 0 # Explosion orange medium reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto PazuzuGndAttkToIdle + +PazuzuGndAttkInit: + wait 1 + nobrkcodestart + wait 1 + attack + playsndbtwn 1196 1197 # Pazuzu weapon fire 01, 02 + wait 2 + attack + playsndbtwn 1196 1197 # Pazuzu weapon fire 01, 02 + nobrkcodeend + gotorepeatattk + goto PazuzuGndAttkToIdle + +PazuzuWalking: + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + goto PazuzuWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1332 Deconstruction (small) (cm\effect\deconstruction.grp) +# 1333 Deconstruction (medium) (cm\effect\deconstruction.grp) +# 1334 Deconstruction (large) (cm\effect\deconstruction.grp) +.headerstart +IsId 564 +Type 1 +Init DeconstructionInit +Death DeconstructionDeath +.headerend +# ----------------------------------------------------------------------------- # + +DeconstructionInit: + playfram 0x00 # Frame set 0 + wait 1 + goto DeconstructionLocal00 +DeconstructionLocal00: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 0x00 + wait 1 + goto DeconstructionLocal00 + +DeconstructionDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1342 Blackjack (cm\terran\blackjack.grp) +.headerstart +IsId 572 +Type 12 +Init BlackjackInit +Death BlackjackDeath +GndAttkInit BlackjackGndAttkInit +AirAttkInit BlackjackGndAttkInit +Unused1 BlackjackUnused1 +GndAttkRpt BlackjackGndAttkRpt +AirAttkRpt BlackjackGndAttkRpt +CastSpell [NONE] +GndAttkToIdle BlackjackGndAttkToIdle +AirAttkToIdle BlackjackGndAttkToIdle +Unused2 [NONE] +Walking BlackjackWalking +WalkingToIdle BlackjackWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BlackjackInit: + imgul 1343 0 1 # Blackjack Shadow (cm\terran\blackjack-shad.grp) +BlackjackWalkingToIdle: + playfram 0x00 + goto BlackjackLocal00 + +BlackjackLocal00: + wait 62 + randcondjmp 25 BlackjackLocal01 + goto BlackjackLocal00 + +BlackjackLocal01: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + waitrand 3 12 + playfram 0x44 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + randcondjmp 43 BlackjackLocal01 + playfram 0x11 + wait 1 + playfram 0x00 + goto BlackjackLocal00 + +BlackjackDeath: + playsndbtwn 1490 1491 # Blackjack death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 771 0 0 # Blackjack Corpse + wait 1 + end + +BlackjackUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 # Medium orange explosion, reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto BlackjackWalkingToIdle + +BlackjackGndAttkInit: + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 +BlackjackGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x187 + wait 1 + playfram 0x198 + attack + playsndbtwn 1387 1391 # Blackjack weapon fire 01, 02, 03, 04, 05 + wait 1 + playfram 0x187 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +BlackjackGndAttkToIdle: + playfram 0x176 + wait 1 + playfram 0x165 + wait 1 + goto BlackjackWalkingToIdle + +BlackjackWalking: + 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 0x66 + move 5 + wait 1 + playfram 0x77 + move 5 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff + move 5 + wait 1 + playfram 0x110 + goto BlackjackWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1344 Cohort (cm\terran\cohort.grp) +.headerstart +IsId 573 +Type 26 +Init CohortInit +Death CohortDeath +GndAttkInit CohortGndAttkInit +AirAttkInit CohortGndAttkInit +Unused1 CohortUnused1 +GndAttkRpt CohortGndAttkRpt +AirAttkRpt CohortGndAttkRpt +CastSpell [NONE] +GndAttkToIdle CohortGndAttkToIdle +AirAttkToIdle CohortGndAttkToIdle +Unused2 [NONE] +Walking CohortWalking +WalkingToIdle CohortWalkingToIdle +SpecialState1 [NONE] +SpecialState2 CohortSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow CohortBurrow +UnBurrow CohortUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CohortInit: + imgul 1345 0 -3 # Cohort Shadow (cm\terran\cohort-shad.grp) +CohortWalkingToIdle: + playfram 0x44 +CohortLocal00: + wait 62 + randcondjmp 25 CohortLocal01 + randcondjmp 128 CohortLocal02 + goto CohortLocal00 + +CohortLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 CohortLocal03 + 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 CohortLocal04 + +CohortLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto CohortWalkingToIdle + +CohortLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto CohortWalkingToIdle + +CohortLocal02: + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + turnrand 3 + wait 1 + playfram 0x55 + wait 1 + goto CohortWalkingToIdle + +CohortDeath: + playsndbtwn 1883 1884 # Cohort death 01, 02 + setfldirect 0 + 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 + lowsprul 236 0 0 # Cohort Remnants (terran\tmaDeath.grp) + wait 1 + end + +CohortUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1886 1887 # Cohort revive 01, 02 + 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 CohortWalkingToIdle + +CohortGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +CohortGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 1402 1404 # Cohort weapon fire 01, 02, 03 + attackwith 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + attackwith 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +CohortGndAttkToIdle: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto CohortWalkingToIdle + +CohortSpecialState2: + playfram 0xee + goto SkryrokorLocal00 + +CohortBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x00 + wait 1 +# playfram 0x110 + wait 1 +# playfram 0x121 + wait 1 +# playfram 0x132 + wait 1 +# playfram 0x143 + wait 1 +# playfram 0x154 + sigorder 4 + wait 1 + playfram 0xee + goto SkryrokorLocal00 + +CohortUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) +# playfram 0x143 + wait 1 +# playfram 0x132 + wait 1 +# playfram 0x121 + wait 1 +# playfram 0x110 + wait 1 + playfram 0x00 + wait 1 + sigorder 4 + goto CohortWalkingToIdle + +CohortWalking: + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0x44 + goto CohortWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1346 Aspirant (cm\terran\aspirant.grp) +.headerstart +IsId 574 +Type 21 +Init AspirantInit +Death AspirantDeath +GndAttkInit AspirantGndAttkInit +AirAttkInit AspirantGndAttkInit +Unused1 AspirantUnused1 +GndAttkRpt AspirantGndAttkRpt +AirAttkRpt AspirantGndAttkRpt +CastSpell [NONE] +GndAttkToIdle AspirantGndAttkToIdle +AirAttkToIdle AspirantGndAttkToIdle +Unused2 [NONE] +Walking AspirantWalking +WalkingToIdle AspirantWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn AspirantWarpIn +.headerend +# ----------------------------------------------------------------------------- # + +AspirantInit: + imgul 1347 0 0 # Aspirant Shadow (cm\terran\aspirant-shad.grp) +AspirantWalkingToIdle: + playfram 0x00 + wait 1 +AspirantLocal00: + 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 + playfram 0x00 + wait 2 + goto AspirantLocal00 + +AspirantDeath: + playsndbtwn 1435 1438 # Aspirant death 01, 02, 03, 04 + setfldirect 0 + playfram 0x198 + wait 2 + playfram 409 + wait 2 + playfram 410 + wait 2 + playfram 411 + wait 2 + playfram 412 + wait 2 + playfram 413 + wait 2 + playfram 414 + wait 2 + lowsprul 685 0 0 # Aspirant Remnants (cm\terran\aspirant-death.grp) + wait 1 + end + +AspirantUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1435 1438 # Aspirant death 01, 02, 03, 04 + setfldirect 0 + playfram 413 + wait 2 + playfram 412 + wait 2 + playfram 411 + wait 2 + playfram 410 + wait 2 + playfram 409 + wait 2 + playfram 0x198 + setfldirect 12 + nobrkcodeend + goto AspirantWalkingToIdle + +AspirantGndAttkInit: + playfram 0x110 + wait 1 + playfram 0x132 + wait 1 + playfram 0x154 + wait 1 +AspirantGndAttkRpt: + nobrkcodestart + playsndbtwn 1409 1411 # Aspirant weapon fire 01, 02, 03 + playfram 0x176 + wait 1 + playfram 0x187 + wait 1 + attackwith 1 + playfram 0x176 + wait 1 + playfram 0x165 + wait 1 + playfram 0x154 + wait 1 + playfram 0x143 + wait 1 + playfram 0x77 + nobrkcodeend + gotorepeatattk + ignorerest +AspirantGndAttkToIdle: + wait 1 + playfram 0x77 + wait 1 + goto AspirantWalkingToIdle + +AspirantWalking: + move 5 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff + goto AspirantWalking + +AspirantWarpIn: + imgol 125 0 0 # Aspirant Warp Flash (protoss\dragoon.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# Aspirant Criticality +# This header is used by images.dat entries: +# 1349 Magnetic Field (large) (cm\effect\magneticfield-large.grp) +# 1350 Magnetic Field (medium) (cm\effect\magneticfield-medium.grp) +# 1351 Magnetic Field (small) (cm\effect\magneticfield-small.grp) +.headerstart +IsId 575 +Type 2 +Init MagneticFieldInit +Death MagneticFieldDeath +GndAttkInit MagneticFieldDeath +AirAttkInit MagneticFieldDeath +.headerend +# ----------------------------------------------------------------------------- # + +MagneticFieldInit: + wait 1 +MagneticFieldLocal01: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 +MagneticFieldLocal00: + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + goto MagneticFieldLocal00 + +MagneticFieldDeath: + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + wait 1 + playfram 47 + wait 1 + playfram 48 + wait 1 + playfram 49 + wait 1 + playfram 50 + wait 1 + playfram 51 + wait 1 + playfram 52 + wait 1 + playfram 53 + wait 1 + playfram 54 + wait 1 + playfram 55 + wait 1 + playfram 56 + wait 1 + playfram 57 + wait 1 + playfram 58 + wait 1 + playfram 59 + wait 1 + playfram 60 + wait 1 + playfram 61 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1359 Claymore (cm\terran\claymore.grp) +.headerstart +IsId 579 +Type 12 +Init ClaymoreInit +Death ClaymoreDeath +GndAttkInit ClaymoreGndAttkInit +AirAttkInit ClaymoreGndAttkInit +Unused1 [NONE] +GndAttkRpt ClaymoreGndAttkInit +AirAttkRpt ClaymoreGndAttkInit +CastSpell [NONE] +GndAttkToIdle ClaymoreGndAttkToIdle +AirAttkToIdle ClaymoreGndAttkToIdle +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle ClaymoreGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ClaymoreInit: + imgul 1360 0 14 # Claymore Shadow (cm\terran\claymore-shadow.grp) + playfram 0x00 + goto ClaymoreGndAttkToIdle + +ClaymoreGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto ClaymoreGndAttkToIdle + +ClaymoreDeath: + playsnd 1307 # Claymore death 01 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small + wait 1 + end + +ClaymoreGndAttkInit: + setvertpos 0 + wait 1 + nobrkcodestart + playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 + attackwith 1 + wait 3 + playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 + attackwith 1 + wait 3 + playsndbtwn 1373 1375 # Claymore attack 01, 02, 03 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto ClaymoreGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1375 Siren (cm\terran\siren.grp) +.headerstart +IsId 586 +Type 12 +Init SirenInit +Death SirenDeath +GndAttkInit SirenGndAttkInit +AirAttkInit SirenGndAttkInit +Unused1 [NONE] +GndAttkRpt SirenGndAttkInit +AirAttkRpt SirenGndAttkInit +CastSpell SirenCastSpell +GndAttkToIdle SirenGndAttkToIdle +AirAttkToIdle SirenGndAttkToIdle +Unused2 [NONE] +Walking SirenWalking +WalkingToIdle SirenGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SirenInit: + imgul 1376 0 0 # Siren Shadow (cm\terran\siren-shad.grp) +SirenGndAttkToIdle: + playfram 0x00 + goto SirenLocal00 + +SirenLocal00: + wait 62 + randcondjmp 43 SirenLocal01 + goto SirenLocal00 + +SirenLocal01: + randcondjmp 128 SirenLocal02 + 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 SirenGndAttkToIdle + +SirenLocal02: + 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 SirenGndAttkToIdle + +SirenDeath: + 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 + +SirenGndAttkInit: + playfram 0x99 + wait 1 + nobrkcodestart + playsndbtwn 1396 1398 # Siren weapon fire 01, 02, 03 + 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 SirenGndAttkToIdle + +SirenCastSpell: + playfram 0x00 + wait 1 + nobrkcodestart + playsnd 98 # Bullet\TGhFir00.wav + castspell + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + nobrkcodeend + gotorepeatattk + sigorder 2 + goto SirenGndAttkToIdle + +SirenWalking: + 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 SirenWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1382 Arclite Shock Cannon Hit (Damageless) (thingy\mushroom.grp) +.headerstart +IsId 588 +Type 2 +Init ArcliteShockCannonHitDamagelessInit +Death ArcliteShockCannonHitDamagelessDeath +GndAttkInit ArcliteShockCannonHitDamagelessDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ArcliteShockCannonHitDamagelessInit: + wait 2 +ArcliteShockCannonHitDamagelessDeath: + playfram 0x00 + playsnd 2859 # Phalanx Siege weaponhit 01 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 523 Phase Disruptor (electric, silent) (cm\shared\aspirant-weapon.grp) +.headerstart +IsId 592 +Type 2 +Init PhaseDisruptorElectricSilentInit +Death PhaseDisruptorElectricSilentDeath +GndAttkInit PhaseDisruptorElectricSilentGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhaseDisruptorElectricSilentInit: + wait 1 + sigorder 1 + wait 1 +PhaseDisruptorElectricSilentGndAttkInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + goto PhaseDisruptorElectricSilentGndAttkInit + +PhaseDisruptorElectricSilentDeath: + imgol 427 0 0 # Phase Disruptor Hit (thingy\HKexplod.grp) + playsnd 2848 # Panoptus weaponhit 01 + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1387 Cyprian Weapon Impact (cm\terran\cyprian-weaponhit.grp) +.headerstart +IsId 593 +Type 2 +Init CyprianWeaponImpactInit +Death CyprianWeaponImpactDeath +GndAttkInit CyprianWeaponImpactDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CyprianWeaponImpactInit: + wait 1 + sigorder 1 + wait 1 +CyprianWeaponImpactDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1390 Burst Lasers (Blue, Silent) (thingy\elbfireW.grp) +.headerstart +IsId 594 +Type 2 +Init BurstLasersBlueSilentInit +Death BurstLasersBlueSilentDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BurstLasersBlueSilentInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +BurstLasersBlueSilentDeath: + imgol 1249 0 0 # Burst Lasers Blue Hit Damaging (thingy\elbHit.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1408 Burst Lasers (Bounce) (thingy\elbfireW.grp) +.headerstart +IsId 602 +Type 13 +Init BurstLasersBounceInit +Death BurstLasersBounceDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 BurstLasersBounceSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +BurstLasersBounceInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 + goto SkryrokorLocal00 + +BurstLasersBounceDeath: + imgol 447 0 0 # Burst Lasers Hit (thingy\elbHit.grp) + domissiledmg + wait 1 + end + +BurstLasersBounceSpecialState1: + sprol 644 0 0 # Burst Lasers Hit (Damageless) (thingy\elbHit.grp) + domissiledmg + wait 1 + goto SeekerSporesBounceGndAttkInit + +SeekerSporesBounceGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 2 # Frame set 0, direction 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 3 # Frame set 0, direction 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + goto SeekerSporesBounceGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1398 Olympian (cm\terran\olympian.grp) +.headerstart +IsId 603 +Type 13 +Init OlympianInit +Death OlympianDeath +GndAttkInit OlympianGndAttkInit +AirAttkInit OlympianGndAttkInit +Unused1 OlympianRevive +GndAttkRpt OlympianGndAttkRpt +AirAttkRpt OlympianGndAttkRpt +CastSpell [NONE] +GndAttkToIdle OlympianGndAttkToIdle +AirAttkToIdle OlympianGndAttkToIdle +Unused2 [NONE] +Walking OlympianWalking +WalkingToIdle OlympianWalkingToIdle +SpecialState1 OlympianSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +OlympianInit: + imgul 1399 0 2 # Olympian Shadow (cm\terran\olympian-shad.grp) +OlympianWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +OlympianDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 5 + lowsprul 236 0 0 # Maverick Remnants (terran\tmaDeath.grp) + wait 1 + end + +OlympianRevive: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1161 1162 + sprol 742 0 0 +# playfram 176 +# wait 2 +# playfram 175 +# wait 2 +# playfram 174 +# wait 2 +# playfram 173 +# wait 2 +# playfram 172 +# wait 2 +# playfram 171 +# wait 2 +# playfram 170 +# wait 2 + wait 14 + setfldirect 12 + nobrkcodeend + goto OlympianWalkingToIdle + +OlympianGndAttkInit: + sigorder 32 + wait 1 + playfram 0x200 + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 +OlympianGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 1555 1556 # Olympian weapon fire 01, 02 + attackwith 2 + playfram 0x280 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x260 + wait 1 + nobrkcodeend + sigorder 32 + gotorepeatattk + ignorerest +OlympianGndAttkToIdle: + playfram 0x240 + wait 1 + playfram 0x220 + wait 1 + playfram 0x200 + wait 1 + goto OlympianWalkingToIdle + +OlympianSpecialState1: + playfram 0x2A0 + wait 1 + nobrkcodestart + playfram 0x2C0 + wait 1 + playfram 0x2E0 + attackmelee 3 1577 1578 1579 # Olympian Melee 01, 02, 03 + wait 1 + playfram 0x300 + wait 1 + playfram 0x320 + wait 1 + playfram 0x340 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + ignorerest +OlympianLocal06: + goto OlympianWalkingToIdle + +OlympianWalking: + 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 + move 4 + wait 1 + playfram 0x20 + move 4 + wait 1 + playfram 0x40 + move 4 + wait 1 + playfram 0x60 + move 4 + wait 1 + playfram 0x80 + goto OlympianWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1396 Autocrat (terran\autocrat.grp) +.headerstart +IsId 604 +Type 12 +Init AutocratInit +Death AutocratDeath +GndAttkInit AutocratGndAttkInit +AirAttkInit AutocratGndAttkInit +Unused1 [NONE] +GndAttkRpt AutocratGndAttkRpt +AirAttkRpt AutocratGndAttkRpt +CastSpell [NONE] +GndAttkToIdle AutocratGndAttkToIdle +AirAttkToIdle AutocratGndAttkToIdle +Unused2 [NONE] +Walking AutocratWalking +WalkingToIdle AutocratWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AutocratInit: + imgul 1397 0 0 # Autocrat Shadow (terran\autocrat-shad.grp) +AutocratWalkingToIdle: + playfram 0x00 +AutocratLocal00: + wait 62 + randcondjmp 25 AutocratLocal01 + randcondjmp 128 AutocratLocal01 + goto AutocratLocal00 + +AutocratLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 AutocratLocal03 + 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 AutocratLocal04 + +AutocratLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto AutocratWalkingToIdle + +AutocratLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto AutocratWalkingToIdle + +AutocratDeath: + playsnd 238 # Terran\Ghost\TGhDth00.wav + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 2 + lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) + wait 1 + end + +AutocratGndAttkInit: + playfram 0xaa +AutocratGndAttkRpt: + wait 2 + nobrkcodestart + playsndbtwn 1474 1478 + attack + playfram 0x99 + wait 1 + playfram 0xaa + nobrkcodeend + gotorepeatattk + ignorerest +AutocratGndAttkToIdle: + playfram 0x00 + wait 1 + goto AutocratWalkingToIdle + +AutocratWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + goto AutocratWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1400 Guildhall (cm\terran\guildhall.grp) +.headerstart +IsId 605 +Type 24 +Init GuildhallInit +Death GuildhallDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt GuildhallAlmostBuilt +Built GuildhallBuilt +Landing GuildhallLanding +LiftOff SkryrokorLocal00 +IsWorking GuildhallIsWorking +WorkingToIdle GuildhallWorkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GuildhallInit: + imgul 1401 0 0 # Guildhall Shadow (cm\terran\medbay.grp) +GuildhallBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +GuildhallDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp GuildhallLocal01 + lowsprul 273 0 0 # Terran Building Rubble (Small) (thingy\RubbleS.grp) +GuildhallLocal01: + wait 1 + end + +GuildhallAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +GuildhallLanding: +# imgol 1326 0 0 # Guildhall connector (cm\terran\guildhall-connector.grp) + goto SkryrokorLocal00 + +GuildhallIsWorking: + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 3 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 2 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 3 + goto GuildhallIsWorking + +GuildhallWorkingToIdle: + playfram 2 + wait 1 + goto GuildhallBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1409 Striga (terran\striga.grp) +.headerstart +IsId 606 +Type 12 +Init StrigaInit +Death StrigaDeath +GndAttkInit StrigaGndAttkInit +AirAttkInit StrigaGndAttkInit +Unused1 [NONE] +GndAttkRpt StrigaGndAttkInit +AirAttkRpt StrigaGndAttkInit +CastSpell [NONE] +GndAttkToIdle StrigaGndAttkToIdle +AirAttkToIdle StrigaGndAttkToIdle +Unused2 [NONE] +Walking StrigaWalking +WalkingToIdle StrigaWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StrigaInit: + imgul 1410 0 0 # Striga Shadow (terran\striga-shad.grp) +StrigaWalkingToIdle: + playfram 0xee +StrigaLocal00: + wait 62 + randcondjmp 25 StrigaLocal01 + randcondjmp 128 StrigaLocal01 + goto StrigaLocal00 + +StrigaLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + randcondjmp 192 StrigaLocal03 + 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 StrigaLocal04 + +StrigaLocal04: + playfram 0x00 + wait 1 + goto StrigaWalkingToIdle + +StrigaLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto StrigaWalkingToIdle + +StrigaDeath: + playsnd 238 # Terran\Ghost\TGhDth00.wav + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 2 + lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) + wait 1 + end + +StrigaGndAttkInit: + playfram 0x66 + wait 1 + nobrkcodestart + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + playsndbtwn 1615 1616 # Striga weapon fire 01, 02 + imgoluselo 1768 0 0 # Orange projection blade + attkshiftproj 24 + sigorder 32 + wait 1 + playfram 0xaa + attkshiftproj 48 + sigorder 32 + wait 1 + playfram 0xbb + attkshiftproj 72 + sigorder 32 + wait 1 + playfram 0xcc + attkshiftproj 100 + sigorder 32 + wait 1 + playfram 0xdd + wait 1 + nobrkcodeend + gotorepeatattk + goto StrigaGndAttkToIdle + +StrigaGndAttkToIdle: + playfram 0xdd + wait 1 + goto StrigaWalkingToIdle + +StrigaWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + goto StrigaWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1411 Luminary (cm\shared\luminary.grp) +.headerstart +IsId 607 +Type 12 +Init LuminaryInit +Death LuminaryDeath +GndAttkInit LuminaryGndAttkInit +AirAttkInit LuminaryGndAttkInit +Unused1 [NONE] +GndAttkRpt LuminaryGndAttkInit +AirAttkRpt LuminaryGndAttkInit +CastSpell LuminaryCastSpell +GndAttkToIdle LuminaryGndAttkToIdle +AirAttkToIdle LuminaryGndAttkToIdle +Unused2 [NONE] +Walking LuminaryWalking +WalkingToIdle LuminaryGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LuminaryInit: + imgul 1412 0 42 # Luminary Shadow (cm\shared\luminary.grp) +LuminaryLocal01: + playfram 0x00 + goto LuminaryGndAttkToIdle + +LuminaryGndAttkToIdle: + setvertpos 1 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto LuminaryGndAttkToIdle + +LuminaryDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 42 # Terran Unit Rubble Small + wait 1 + end + +LuminaryGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x66 + playsndbtwn 1637 1638 # Luminary weapon fire 01, 02 + attackwith 1 + wait 1 + playfram 0x77 + attackwith 1 + wait 1 + playfram 0x88 + attackwith 1 + wait 1 + playfram 0x00 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto LuminaryGndAttkToIdle + +LuminaryCastSpell: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x66 + castspell + sigorder 2 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto LuminaryGndAttkToIdle + +LuminaryWalking: + setvertpos 0 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1416 Anticthon (cm\shared\anticthon.grp) +.headerstart +IsId 610 +Type 12 +Init AnticthonInit +Death AnticthonDeath +GndAttkInit AnticthonGndAttkInit +AirAttkInit AnticthonGndAttkInit +Unused1 AnticthonUnused1 +GndAttkRpt AnticthonGndAttkInit +AirAttkRpt AnticthonGndAttkInit +CastSpell [NONE] +GndAttkToIdle AnticthonGndAttkToIdle +AirAttkToIdle AnticthonGndAttkToIdle +Unused2 [NONE] +Walking AnticthonWalking +WalkingToIdle AnticthonWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AnticthonInit: + imgul 1417 0 14 # Anticthon Shadow (cm\shared\anticthon.grp) +AnticthonGndAttkToIdle: + playfram 0x00 + setvertpos 0 + goto AnticthonWalkingToIdle + +AnticthonWalkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 0x00 + wait 2 + goto AnticthonWalkingToIdle + +AnticthonDeath: + playsndbtwn 1393 1395 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 12 + playsndbtwn 1393 1395 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 12 + playsndbtwn 1393 1395 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small + wait 1 + end + +AnticthonUnused1: + wait 1 + nobrkcodestart + playsnd 1699 + imgol 1443 0 0 + wait 12 + playsnd 1699 + imgol 1443 0 0 + wait 12 + playsnd 1699 + imgol 1443 0 0 + wait 12 + setfldirect 13 + nobrkcodeend + goto AnticthonGndAttkToIdle + +AnticthonGndAttkInit: + playsndbtwn 1634 1636 # Anticthon weapon fire 01, 02, 03 + attackwith 1 + imgol 978 0 0 # Anticthon/Anthelion weaponfire + wait 1 + gotorepeatattk + goto AnticthonGndAttkToIdle + +AnticthonWalking: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 0x00 + wait 1 + goto AnticthonWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1420 Tinkerer's Tower (cm\terran\tinkererstower.grp) +.headerstart +IsId 611 +Type 24 +Init TinkerersTowerInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TinkerersTowerAlmostBuilt +Built TinkerersTowerBuilt +Landing TinkerersTowerLanding +LiftOff SkryrokorLocal00 +IsWorking TinkerersTowerIsWorking +WorkingToIdle TinkerersTowerBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable TinkerersTowerDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TinkerersTowerInit: + playfram 0x00 + imgul 1421 0 0 # Tinkerer's Tower Shadow (cm\terran\tinkererstower-shadow.grp) + goto SkryrokorLocal00 + +TinkerersTowerAlmostBuilt: + playfram 10 + goto SkryrokorLocal00 + +TinkerersTowerBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +TinkerersTowerLanding: + #imgol 294 0 0 # Tinkerer's Tower Connector (terran\machineC.grp) + goto SkryrokorLocal00 + +TinkerersTowerIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto TinkerersTowerIsWorking + +TinkerersTowerDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1422 Biotic Base (cm\terran\bioticbase.grp) +.headerstart +IsId 612 +Type 24 +Init BioticBaseInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt BioticBaseAlmostBuilt +Built BioticBaseBuilt +Landing BioticBaseLanding +LiftOff SkryrokorLocal00 +IsWorking BioticBaseIsWorking +WorkingToIdle BioticBaseBuilt +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable BioticBaseDisable +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BioticBaseInit: + playfram 10 + imgul 1423 0 0 # Biotic Base Shadow (cm\terran\bioticbase-shadow.grp) + goto SkryrokorLocal00 + +BioticBaseAlmostBuilt: + playfram 10 + goto SkryrokorLocal00 + +BioticBaseBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +BioticBaseLanding: + #imgol 294 0 0 # Biotic Base Connector (terran\machineC.grp) + goto SkryrokorLocal00 + +BioticBaseIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + goto BioticBaseIsWorking + +BioticBaseDisable: + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1438 Tarasque Spores (bullet\Spore2.grp) +.headerstart +IsId 618 +Type 2 +Init TarasqueSporesInit +Death TarasqueSporesDeath +GndAttkInit TarasqueSporesGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TarasqueSporesInit: + playfram 0x00 + playsndbtwn 1642 1643 # Tarasque weapon 2 fire 01, 02 + wait 1 + sigorder 1 + wait 1 +TarasqueSporesGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + goto TarasqueSporesGndAttkInit + +TarasqueSporesDeath: + playsnd 79 # Bullet\ZLuHit00.wav + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1439 Tarasque (terran\tank.grp) +.headerstart +IsId 619 +Type 12 +Init TarasqueInit +Death TarasqueDeath +GndAttkInit TarasqueGndAttkInit +AirAttkInit TarasqueGndAttkInit +Unused1 TarasqueUnused1 +GndAttkRpt TarasqueGndAttkInit +AirAttkRpt TarasqueGndAttkInit +CastSpell [NONE] +GndAttkToIdle TarasqueWalkingToIdle +AirAttkToIdle TarasqueWalkingToIdle +Unused2 [NONE] +Walking TarasqueWalking +WalkingToIdle TarasqueWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TarasqueInit: + wait 1 + imgol 1487 0 0 # Infested Overlay (Small) + imgul 1440 0 0 # Phalanx Shadow (terran\ttaShad.grp) + setfldirect 12 +TarasqueWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +TarasqueDeath: + playsnd 317 # Terran\TANK\TTaDth00.WAV + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small + wait 1 + end + +TarasqueUnused1: + wait 1 + nobrkcodestart + playsnd 1699 + sprol 744 0 0 + wait 12 + setfldirect 13 + nobrkcodeend + goto TarasqueWalkingToIdle + +TarasqueGndAttkInit: + playfram 0x00 + wait 1 + imgol 1499 0 0 # Tarasque Muzzle Flash + playsndbtwn 1639 1641 # Tarasque weapon 1 fire 01, 02, 03 + attackwith 1 + wait 1 + gotorepeatattk + ignorerest + goto TarasqueWalkingToIdle + +TarasqueWalking: + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + goto TarasqueWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1452 Ion Cannon Attack A1 (cm\effect\ioncannon-attack-A1.grp) +# 1453 Ion Cannon Attack A2 (cm\effect\ioncannon-attack-A2.grp) +# 1701 Ion Cannon Attack A3 (cm\effect\ioncannon-attack-A3.grp) +# 1702 Ion Cannon Attack A4 (cm\effect\ioncannon-attack-A4.grp) +.headerstart +IsId 629 +Type 24 +Init IonCannonAttackAInit +Death Generic_Wait1End +GndAttkInit IonCannonAttackAGndAttkInit +AirAttkInit IonCannonAttackAGndAttkInit +Unused1 [NONE] +GndAttkRpt IonCannonAttackAGndAttkRpt +AirAttkRpt IonCannonAttackAGndAttkRpt +CastSpell [NONE] +GndAttkToIdle IonCannonAttackAInit +AirAttkToIdle IonCannonAttackAInit +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable IonCannonAttackAInit +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonAttackAInit: + tmprmgraphicstart + playfram 0x00 +IonCannonAttackALocal00: + wait 125 + goto IonCannonAttackALocal00 + +IonCannonAttackAGndAttkInit: + wait 3 +IonCannonAttackAGndAttkRpt: + wait 31 + tmprmgraphicend + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x120 + wait 2 + playfram 0x140 + wait 2 + playfram 0x160 + wait 2 + playfram 0x180 + wait 2 + playfram 0x1A0 + wait 2 + playfram 0x1C0 + wait 2 + playfram 0x1E0 + wait 2 + playfram 0x200 + wait 2 + playfram 0x220 + wait 2 + playfram 0x240 + wait 2 + playfram 0x260 + wait 2 + playfram 0x280 + wait 2 + playfram 0x2A0 + wait 2 + playfram 0x2C0 + wait 2 + playfram 0x2E0 + wait 2 + goto IonCannonAttackAInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1454 Ion Cannon Attack B (cm\effect\ioncannon-attack-B.grp) +.headerstart +IsId 630 +Type 0 +Init IonCannonAttackBInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IonCannonAttackBInit: + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1461 Arclite Shock Cannon Hit (Damageless, Silent) (thingy\mushroom.grp) +.headerstart +IsId 633 +Type 2 +Init ArcliteShockCannonHitDamagelessSilentInit +Death ArcliteShockCannonHitDamagelessSilentDeath +GndAttkInit ArcliteShockCannonHitDamagelessSilentDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ArcliteShockCannonHitDamagelessSilentInit: + wait 1 +ArcliteShockCannonHitDamagelessSilentDeath: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1469 Magnetar (terran\magnetar.grp) +.headerstart +IsId 635 +Type 12 +Init MagnetarInit +Death MagnetarDeath +GndAttkInit MagnetarGndAttkInit +AirAttkInit MagnetarGndAttkInit +Unused1 MagnetarUnused1 +GndAttkRpt MagnetarGndAttkInit +AirAttkRpt MagnetarGndAttkInit +CastSpell MagnetarCastSpell +GndAttkToIdle MagnetarGndAttkToIdle +AirAttkToIdle MagnetarGndAttkToIdle +Unused2 [NONE] +Walking MagnetarWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MagnetarInit: + imgul 1470 0 42 # Magnetar Shadow (cm\terran\magnetar.grp) +MagnetarGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +MagnetarDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 42 # Terran Building Rubble Small + wait 1 + end + +MagnetarUnused1: + wait 1 + nobrkcodestart + playsnd 177 # Terran\BATTLE\tbaDth00.wav + sprol 744 0 0 + wait 12 + nobrkcodeend + goto SkryrokorLocal00 + +MagnetarGndAttkInit: + wait 1 + nobrkcodestart + wait 2 + playfram 0x00 + wait 1 + playfram 0x11 + playsndbtwn 1876 1879 # Magnetar weapon fire 01, 02, 03, 04 + attack + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +MagnetarLocal00: + wait 125 + goto MagnetarLocal00 + +MagnetarCastSpell: + imgolorig 543 # Yamato Gun Overlay (thingy\eycBlast.grp) + sigorder 32 + goto MagnetarLocal00 + +MagnetarWalking: + setvertpos 0 + imgol 1471 0 0 # Magnetar Engines (cm\terran\magnetar-engine.grp) + goto MagnetarLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1477 Cuirass Stonewall Protocol Overlay (cm\terran\cuirass-stonewall-protocol-overlay.grp) +.headerstart +IsId 638 +Type 1 +Init CuirassStonewallProtocolOverlayInit +Death CuirassStonewallProtocolOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +CuirassStonewallProtocolOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 +CuirassStonewallProtocolOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1477 Cyclops Fragmentary Explosion (cm\terran\cyclops-fragmentary-shells.grp) +.headerstart +IsId 639 +Type 1 +Init CyclopsFragmentaryExplosionInit +Death CyclopsFragmentaryExplosionDeath +.headerend +# ----------------------------------------------------------------------------- # + +CyclopsFragmentaryExplosionInit: + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 +CyclopsFragmentaryExplosionDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1479 Salvage Periodic Zap (cm\terran\salvage-zap.grp) +.headerstart +IsId 641 +Type 1 +Init SalvagePeriodicZapInit +Death SalvagePeriodicZapDeath +.headerend +# ----------------------------------------------------------------------------- # + +SalvagePeriodicZapInit: + playfram 0x00 + wait 1 + playfram 1 + 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 +SalvagePeriodicZapDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1480 Salvage Disable (Small) (cm\terran\salvage-disable-small.grp) +# 1481 Salvage Disable (Medium) (cm\terran\salvage-disable-medium.grp) +# 1482 Salvage Disable (Large) (cm\terran\salvage-disable-large.grp) +.headerstart +IsId 642 +Type 1 +Init SalvageDisableOverlayInit +Death SalvageDisableOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +SalvageDisableOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 +SalvageDisableOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1495 Controlled Demolition (cm\terran\controlled-demolition.grp) +# 1496 Emergency Detonation (cm\terran\emergency-detonation.grp) +.headerstart +IsId 646 +Type 1 +Init TerranSelfDestructInit +Death TerranSelfDestructDeath +.headerend +# ----------------------------------------------------------------------------- # + +TerranSelfDestructInit: + playfram 0x00 + wait 1 + playfram 1 + 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 +TerranSelfDestructLocal00: + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 32 + wait 1 + playfram 33 + wait 1 + playfram 34 + wait 1 + playfram 35 + wait 1 + playfram 36 + wait 1 + playfram 37 + wait 1 + playfram 38 + wait 1 + playfram 39 + wait 1 + playfram 40 + goto TerranSelfDestructLocal00 + +TerranSelfDestructDeath: + wait 1 + playfram 41 + wait 1 + playfram 42 + wait 1 + playfram 43 + wait 1 + playfram 44 + wait 1 + playfram 45 + wait 1 + playfram 46 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1497 Madrigal Death Explosion (cm\terran\madrigal-death.grp) +.headerstart +IsId 647 +Type 1 +Init MadrigalDeathInit +Death MadrigalDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalDeathInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 +MadrigalDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1498 Penumbra Death Explosion (Primary) (cm\terran\penumbra-death-big.grp) +.headerstart +IsId 648 +Type 1 +Init PenumbraDeathInit +Death PenumbraDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +PenumbraDeathInit: + playfram 0x00 + wait 1 + playfram 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + playfram 30 +PenumbraDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1499 Tarasque Muzzle Flash (cm\shared\tarasque-muzzle-flash.grp) +.headerstart +IsId 649 +Type 1 +Init TarasqueMuzzleFlashInit +Death TarasqueMuzzleFlashDeath +.headerend +# ----------------------------------------------------------------------------- # + +TarasqueMuzzleFlashInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 +TarasqueMuzzleFlashDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1500 Blackjack Remains (cm\terran\blackjack-corpse.grp) +# 1635 Mason Remnants (cm\terran\mason-remnants.grp) +# 1642 Vulture Remains (cm\terran\vulture-remains.grp) +# 1643 Quazilisk Remains (cm\zerg\quazilisk-remains.grp) +# 1644 Zealot Remains (cm\protoss\zealot-remains.grp) +# 1645 Cyclops Remains (cm\terran\cyclops-remains.grp) +# 1647 Goliath Remains (cm\terran\goliath-remains.grp) +# 1648 Ecclesiast Remains (cm\protoss\ecclesiast-remains.grp) +# 1648 Lanifect Remains (cm\protoss\lanifect-death.grp) +# 1904 Trojan Remains (cm\terran\trojan-death.grp) +# 1905 Envoy Remains (cm\protoss\envoy-death.grp) +# 1906 Ovileth Remains (cm\zerg\ovileth-death.grp) +# 1907 Phalanx (Tank) Remains (cm\terran\phalanx-tank-death.grp) +# 1908 Phalanx (Siege) Remains (cm\terran\phalanx-siege-death.grp) +# 1909 Hierophant Remains (cm\protoss\hierophant-death.grp) +# 1914 Simulacrum Remains (cm\protoss\simulacrum-death.grp) +# 1915 Vassal Remains (cm\protoss\vassal-death.grp) +# 1916 Nathrokor Remains (cm\zerg\nathrokor-death.grp) +.headerstart +IsId 650 +Type 1 +Init GenericRemnantsFiveInit +Death GenericRemnantsFiveDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFiveInit: + playfram 0x00 + wait 239 +GenericRemnantsFiveDeath: + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + playfram 4 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1524 Fusion Cutter Hit Damageless (bullet\scvspark.grp) +.headerstart +IsId 656 +Type 1 +Init FusionCutterHitDamagelessInit +Death FusionCutterHitDamagelessDeath +.headerend +# ----------------------------------------------------------------------------- # + +FusionCutterHitDamagelessInit: + playfram 0x00 + playsndbtwn 35 39 # terran\SCV\EDrRep00.wav | terran\SCV\EDrRep04.wav + goto FusionCutterHitDamagelessCont +FusionCutterHitDamagelessCont: + wait 1 + playfram 1 + wait 1 + 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 +FusionCutterHitDamagelessDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 296 Sentinel (Base) +.headerstart +IsId 666 +Type 20 +Init Sentinel_Base_Init +Death AtelierDeath +GndAttkInit SkryrokorLocal00 +AirAttkInit SkryrokorLocal00 +Unused1 [NONE] +GndAttkRpt SkryrokorLocal00 +AirAttkRpt SkryrokorLocal00 +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle SkryrokorLocal00 +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Sentinel_Base_AlmostBuilt +Built Sentinel_Base_Built +Landing Sentinel_Base_Landing +LiftOff Sentinel_Base_LiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle Sentinel_Base_WorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Sentinel_Base_Init: + playfram 2 + imgul 1546 0 0 # Sentinel (Base) Shadow + goto SkryrokorLocal00 + +Sentinel_Base_AlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +Sentinel_Base_LiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 3 + wait 1 +# playfram 5 + wait 8 +# playfram 2 + wait 8 +# playfram 3 + wait 8 +# playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +Sentinel_Base_Landing: + nobrkcodestart + wait 15 + playsnd 472 # Misc\Land.WAV +# playfram 4 + wait 8 +# playfram 3 + wait 8 +# playfram 2 + wait 8 +# playfram 5 + wait 8 + playfram 2 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +Sentinel_Base_Built: + imgol 1545 0 0 # Sentinel (Turret) +Sentinel_Base_WorkingToIdle: + playfram 2 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 297 Sentinel (Turret) +.headerstart +IsId 667 +Type 24 +Init Sentinel_Turret_Init +Death Generic_Wait1End +GndAttkInit Sentinel_Turret_GndAttkInit +AirAttkInit Sentinel_Turret_GndAttkInit +Unused1 [NONE] +GndAttkRpt Sentinel_Turret_GndAttkInit +AirAttkRpt Sentinel_Turret_GndAttkInit +CastSpell [NONE] +GndAttkToIdle Sentinel_Turret_GndAttkToIdle +AirAttkToIdle Sentinel_Turret_GndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SkryrokorLocal00 +Built Sentinel_Turret_Built +Landing Sentinel_Turret_Landing +LiftOff Sentinel_Turret_LiftOff +IsWorking Sentinel_Turret_Built +WorkingToIdle Sentinel_Turret_Built +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Sentinel_Turret_Init: + playfram 0x00 +Sentinel_Turret_Built: + wait 125 + goto Sentinel_Turret_Built + +Sentinel_Turret_LiftOff: + nobrkcodestart + wait 1 + wait 8 + wait 8 + wait 8 + nobrkcodeend + goto SkryrokorLocal00 + +Sentinel_Turret_Landing: + nobrkcodestart + wait 15 + wait 8 + wait 8 + wait 8 + wait 8 + nobrkcodeend + goto Sentinel_Turret_Built + +Sentinel_Turret_GndAttkInit: + wait 1 + nobrkcodestart + attack + playfram 0x33 + playsndbtwn 2619 2621 # Sentinel weaponfire 01, 02, 03 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + sigorder 1 + wait 13 + ignorerest +Sentinel_Turret_GndAttkToIdle: + goto Sentinel_Turret_Built + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1553 Salamander Death (cm\terran\salamander-death.grp) +.headerstart +IsId 671 +Type 1 +Init SalamanderDeathInit +Death SalamanderDeathDeath +.headerend +# ----------------------------------------------------------------------------- # + +SalamanderDeathInit: + playfram 0x00 + wait 1 + playfram 1 + 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 +SalamanderDeathDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1018 Sundog (cm\terran\sundog.grp) +.headerstart +IsId 679 +Type 12 +Init SundogInit +Death SundogDeath +GndAttkInit SundogGndAttkInit +AirAttkInit SundogGndAttkInit +Unused1 [NONE] +GndAttkRpt SundogGndAttkInit +AirAttkRpt SundogGndAttkInit +CastSpell [NONE] +GndAttkToIdle SundogGndAttkToIdle +AirAttkToIdle SundogGndAttkToIdle +Unused2 [NONE] +Walking SundogWalking +WalkingToIdle SundogGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SundogInit: + imgul 1019 0 42 # Sundog Shadow (terran\phoenix.grp) + playfram 0x00 + goto SundogGndAttkToIdle + +SundogGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto SundogGndAttkToIdle + +SundogDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +SundogGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1148 1153 # Sundog weapon fire 01, 02, 03, 04, 05, 06 + attackwith 1 + wait 4 + playsndbtwn 1148 1153 # Sundog weapon fire 01, 02, 03, 04, 05, 06 + attackwith 1 + nobrkcodeend + gotorepeatattk + goto SundogLocal00 + +SundogLocal00: + wait 125 + goto SundogLocal00 + +SundogWalking: + setvertpos 0 + imgol 1577 0 0 # Sundog Engines (cm\terran\sundog-engine.grp) + goto SundogLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1523 Matador Tank Mode (cm\terran\matador.grp) +.headerstart +IsId 680 +Type 12 +Init MatadorInit +Death MatadorDeath +GndAttkInit MatadorGndAttkInit +AirAttkInit MatadorGndAttkInit +Unused1 MatadorUnused1 +GndAttkRpt MatadorGndAttkInit +AirAttkRpt MatadorGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking MatadorWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatadorInit: + imgul 1533 0 0 # Matador Shadow (cm\terran\matador-shadow.grp) + playfram 0x00 + goto InfestedTerranWalkingToIdle + +MatadorDeath: + playsndbtwn 1385 1386 # Matador death 01, 02 + imgol 332 0 -5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small + wait 1 + end + +MatadorUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1705 1706 + sprol 742 0 0 + setfldirect 12 + wait 12 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +MatadorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x100 + playsndbtwn 2736 2738 # Matador weaponfire 2 01, 02, 03 + imgol 421 0 0 # FlameThrower (thingy\flamer.grp) + attkshiftproj 24 + sigorder 32 + wait 1 + playfram 0x00 + attkshiftproj 52 + sigorder 32 + wait 1 + playfram 0x100 + attkshiftproj 80 + sigorder 32 + wait 1 + playfram 0x00 + wait 3 + nobrkcodeend + gotorepeatattk + goto InfestedTerranWalkingToIdle + +MatadorWalking: + 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 + goto MatadorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1036 Starpad (cm\terran\starpad.grp) +.headerstart +IsId 681 +Type 20 +Init StarpadInit +Death FulcrumDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 StarpadSpecialState1 +SpecialState2 [NONE] +AlmostBuilt StarpadAlmostBuilt +Built StarpadBuilt +Landing StarpadLanding +LiftOff StarpadLiftOff +IsWorking StarpadIsWorking +WorkingToIdle StarpadBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +StarpadInit: + imgul 1055 0 0 # Starpad Shadow (cm\terran\starpad-shadow.grp) +StarpadBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +StarpadSpecialState1: + playfram 3 + goto SkryrokorLocal00 + +StarpadAlmostBuilt: + playfram 5 + goto SkryrokorLocal00 + +StarpadLanding: + nobrkcodestart + wait 20 + playsnd 472 # Misc\Land.WAV + playfram 3 + wait 5 + playfram 2 + wait 5 + playfram 1 + wait 5 + playfram 4 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StarpadLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 4 + wait 5 + playfram 1 + wait 5 + playfram 2 + wait 5 + playfram 3 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +StarpadIsWorking: + imgol 1618 0 0 # Starpad Overlay (cm\terran\starpad-overlay.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1075 Ancile (cm\terran\ancile.grp) +.headerstart +IsId 682 +Type 12 +Init AncileInit +Death AncileDeath +GndAttkInit AncileGndAttkInit +AirAttkInit AncileGndAttkInit +Unused1 [NONE] +GndAttkRpt AncileGndAttkInit +AirAttkRpt AncileGndAttkInit +CastSpell AncileCastSpell +GndAttkToIdle AncileGndAttkToIdle +AirAttkToIdle AncileGndAttkToIdle +Unused2 [NONE] +Walking AncileWalking +WalkingToIdle AncileGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AncileInit: + imgul 1076 0 42 # Ancile Shadow (cm\terran\ancile.grp) + playfram 0x00 + goto AncileGndAttkToIdle + +AncileGndAttkToIdle: + setvertpos 1 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto AncileGndAttkToIdle + +AncileDeath: + playsndbtwn 3074 3076 # Ancile death 01, 02, 03 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 919 0 42 # Ancile Remains + wait 1 + end + +AncileGndAttkInit: + wait 1 + attackwith 1 + gotorepeatattk + goto AncileLocal00 + +AncileLocal00: + wait 125 + goto AncileLocal00 + +AncileCastSpell: + nobrkcodestart + castspell + sigorder 2 + nobrkcodeend + gotorepeatattk + goto AncileGndAttkToIdle + +AncileWalking: + setvertpos 0 + imgol 1077 0 0 # Ancile Engines (cm\terran\ancile-engines.grp) + goto AncileLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1100 Hippogriff (cm\terran\hippogriff.grp) +.headerstart +IsId 683 +Type 12 +Init HippogriffInit +Death HippogriffDeath +GndAttkInit HippogriffGndAttkInit +AirAttkInit HippogriffAirAttkInit +Unused1 [NONE] +GndAttkRpt HippogriffGndAttkInit +AirAttkRpt HippogriffAirAttkInit +CastSpell [NONE] +GndAttkToIdle HippogriffGndAttkToIdle +AirAttkToIdle HippogriffGndAttkToIdle +Unused2 [NONE] +Walking HippogriffWalking +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HippogriffInit: + imgul 1101 0 42 # Hippogriff Shadow (cm\terran\hippogriff.grp) +HippogriffGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +HippogriffDeath: + playsnd 177 # Terran\BATTLE\tbaDth00.wav + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 274 0 42 # Terran Building Rubble Large + wait 1 + end + +HippogriffGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 2139 2141 # Hippogriff Cannon Weaponfire 01, 02, 03 + playfram 0x20 + attack + attack + wait 1 + playfram 0x00 + wait 2 + playsndbtwn 2139 2141 # Hippogriff Cannon Weaponfire 01, 02, 03 + playfram 0x40 + attack + attack + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +HippogriffAirAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 3 + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 3 + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 3 + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 3 + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 3 + playsndbtwn 2146 2149 # Hippogriff Missile Weaponfire 01, 02, 03, 04 + attack + wait 1 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +HippogriffLocal00: + wait 125 + goto HippogriffLocal00 + +HippogriffWalking: + setvertpos 0 + imgol 1551 0 0 # Hippogriff Engines (cm\terran\hippogriff-engines.grp) + goto HippogriffLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1085 Wyvern (cm\terran\wyvern.grp) +.headerstart +IsId 685 +Type 12 +Init WyvernInit +Death WyvernDeath +GndAttkInit WyvernGndAttkInit +AirAttkInit WyvernGndAttkInit +Unused1 [NONE] +GndAttkRpt WyvernGndAttkInit +AirAttkRpt WyvernGndAttkInit +CastSpell WyvernCastSpell +GndAttkToIdle WyvernGndAttkToIdle +AirAttkToIdle WyvernGndAttkToIdle +Unused2 [NONE] +Walking WyvernWalking +WalkingToIdle WyvernGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WyvernInit: + imgul 1132 0 42 # Wyvern Shadow (protoss\scout.grp) + playfram 0x00 + goto SkryrokorLocal00 + +WyvernGndAttkToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +WyvernDeath: + playsnd 2838 # Wyvern death 01 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +WyvernGndAttkInit: + playfram 0x00 + playsndbtwn 3135 3137 # Wyvern weapon charge 01, 02, 03 + wait 12 + gotorepeatattk + ignorerest + goto WyvernGndAttkToIdle + +WyvernCastSpell: + sigorder 64 + wait 1 + nobrkcodestart + castspell + sigorder 2 + wait 1 + nobrkcodeend + gotorepeatattk + sigorder 128 + goto WyvernGndAttkToIdle + +WyvernWalking: + setvertpos 0 + imgol 1201 0 0 # Wyvern Engine (cm\terran\wyvern-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1226 Shaman Support Mode (cm\terran\shaman.grp) +.headerstart +IsId 688 +Type 13 +Init ShamanSupportModeInit +Death ShamanSupportModeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 ShamanSupportModeUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell ShamanSupportModeCastSpell +GndAttkToIdle ShamanSupportModeGndAttkToIdle +AirAttkToIdle ShamanSupportModeGndAttkToIdle +Unused2 [NONE] +Walking ShamanSupportModeWalking +WalkingToIdle ShamanSupportModeGndAttkToIdle +SpecialState1 ShamanSupportModeSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ShamanSupportModeInit: + imgul 1227 0 4 # Shaman Shadow (cm\terran\shaman-shadow.grp) + playfram 0x00 + goto ShamanSupportModeGndAttkToIdle + +ShamanSupportModeGndAttkToIdle: + playfram 0x00 + setvertpos 1 + wait 8 + setvertpos 2 + wait 8 + setvertpos 1 + wait 8 + setvertpos 0 + wait 8 + goto ShamanSupportModeGndAttkToIdle + +ShamanSupportModeDeath: + playsndbtwn 2834 2835 # Shaman Death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 821 0 0 # Shaman Remains + wait 1 + end + +ShamanSupportModeUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1705 1706 # Shaman Death Reversed 01, 02 + sprol 742 0 0 # Orange Explosion Medium Reversed + setfldirect 12 + wait 12 + nobrkcodeend + goto ShamanSupportModeGndAttkToIdle + +ShamanSupportModeCastSpell: + playfram 0x00 + wait 6 + goto ShamanSupportModeGndAttkToIdle + +ShamanSupportModeWalking: + setvertpos 0 + goto SkryrokorLocal00 + +ShamanSupportModeSpecialState1: + attackwith 1 + sigorder 1 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1341 Aion (cm\terran\aion.grp) +.headerstart +IsId 693 +Type 12 +Init AionInit +Death AionDeath +GndAttkInit AionGndAttkInit +AirAttkInit AionGndAttkInit +Unused1 AionUnused1 +GndAttkRpt AionGndAttkInit +AirAttkRpt AionGndAttkInit +CastSpell [NONE] +GndAttkToIdle AionGndAttkToIdle +AirAttkToIdle AionGndAttkToIdle +Unused2 [NONE] +Walking AionWalking +WalkingToIdle AionGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AionInit: + imgul 1361 0 7 # Aion Shadow (cm\terran\aion.grp) + playfram 0x00 + goto AionGndAttkToIdle + +AionGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto AionGndAttkToIdle + +AionDeath: + playsnd 353 # Terran\VULTURE\TVuDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +AionUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1699 # Aion revive 01 + sprol 742 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto AionGndAttkToIdle + +AionGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x20 + playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + playfram 0x40 + playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x00 + wait 3 + playfram 0x60 + playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + playfram 0x80 + playsndbtwn 2200 2202 # Aion weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto AionGndAttkToIdle + +AionWalking: + playfram 0x00 + setvertpos 0 + goto AionLocal00 + +AionLocal00: + wait 125 + goto AionLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1579 Azazel (cm\terran\azazel.grp) +.headerstart +IsId 700 +Type 12 +Init AzazelInit +Death AzazelDeath +GndAttkInit AzazelGndAttkToIdle +AirAttkInit AzazelGndAttkToIdle +Unused1 [NONE] +GndAttkRpt AzazelGndAttkToIdle +AirAttkRpt AzazelGndAttkToIdle +CastSpell AzazelCastSpell +GndAttkToIdle AzazelGndAttkToIdle +AirAttkToIdle AzazelGndAttkToIdle +Unused2 [NONE] +Walking AzazelWalking +WalkingToIdle AzazelGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AzazelInit: + imgul 1580 0 42 # Azazel Shadow (neutral\Kcritter.grp) + playfram 0x00 + goto AzazelGndAttkToIdle + +AzazelGndAttkToIdle: + setvertpos 1 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto AzazelGndAttkToIdle + +AzazelDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +AzazelLocal00: + wait 125 + goto AzazelLocal00 + +AzazelCastSpell: + nobrkcodestart + castspell + sigorder 2 + nobrkcodeend + gotorepeatattk + goto AzazelGndAttkToIdle + +AzazelWalking: + setvertpos 0 + imgol 1032 0 0 # Azazel Engines (cm\terran\azazel-engine.grp) + goto AzazelLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1581 Wendigo (cm\terran\wendigo.grp) +.headerstart +IsId 701 +Type 12 +Init WendigoInit +Death WendigoDeath +GndAttkInit WendigoGndAttkInit +AirAttkInit WendigoGndAttkInit +Unused1 [NONE] +GndAttkRpt WendigoGndAttkInit +AirAttkRpt WendigoGndAttkInit +CastSpell [NONE] +GndAttkToIdle WendigoGndAttkToIdle +AirAttkToIdle WendigoGndAttkToIdle +Unused2 [NONE] +Walking WendigoWalking +WalkingToIdle WendigoGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WendigoInit: + imgul 1582 0 42 # Wendigo Shadow (cm\terran\wendigo.grp) + playfram 0x00 + goto WendigoGndAttkToIdle + +WendigoGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto WendigoGndAttkToIdle + +WendigoDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 42 # Terran Unit Rubble Small + wait 1 + end + +WendigoGndAttkInit: + playfram 0x20 + wait 1 + nobrkcodestart + playfram 0x40 + playsndbtwn 2453 2454 # Wendigo weaponfire 01, 02 + attackwith 1 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto WendigoLocal00 + +WendigoLocal00: + wait 125 + goto WendigoLocal00 + +WendigoWalking: + playfram 0x00 + wait 125 + goto WendigoWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1583 Southpaw (cm\terran\southpaw.grp) +.headerstart +IsId 702 +Type 12 +Init SouthpawInit +Death SouthpawDeath +GndAttkInit SouthpawGndAttkInit +AirAttkInit SouthpawGndAttkInit +Unused1 [NONE] +GndAttkRpt SouthpawGndAttkInit +AirAttkRpt SouthpawGndAttkInit +CastSpell [NONE] +GndAttkToIdle SouthpawGndAttkToIdle +AirAttkToIdle SouthpawGndAttkToIdle +Unused2 [NONE] +Walking SouthpawWalking +WalkingToIdle SouthpawGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SouthpawInit: + imgul 1584 0 7 # Southpaw Shadow (cm\terran\southpaw.grp) + playfram 0x00 + goto SouthpawGndAttkToIdle + +SouthpawGndAttkToIdle: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto SouthpawGndAttkToIdle + +SouthpawDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small + wait 1 + end + +SouthpawGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x20 + playsndbtwn 2442 2443 # Southpaw weaponfire 01, 02 + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + playfram 0x40 + playsndbtwn 2442 2443 # Southpaw weaponfire + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + playfram 0x60 + playsndbtwn 2442 2443 # Southpaw weaponfire + attackwith 1 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto SouthpawLocal00 + +SouthpawLocal00: + wait 125 + goto SouthpawLocal00 + +SouthpawWalking: + setvertpos 0 + imgol 1585 0 0 # Southpaw Engines (cm\terran\southpaw-engine.grp) + goto SouthpawLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1586 Cyprian (cm\terran\cyprian.grp) +.headerstart +IsId 703 +Type 12 +Init CyprianInit +Death CyprianDeath +GndAttkInit CyprianGndAttkInit +AirAttkInit CyprianGndAttkInit +Unused1 [NONE] +GndAttkRpt CyprianGndAttkRpt +AirAttkRpt CyprianGndAttkRpt +CastSpell CyprianCastSpell +GndAttkToIdle CyprianGndAttkToIdle +AirAttkToIdle CyprianGndAttkToIdle +Unused2 [NONE] +Walking CyprianWalking +WalkingToIdle CyprianWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CyprianInit: + imgul 1587 0 -2 # Cyprian Shadow (cm\terran\cyprian.grp) +CyprianWalkingToIdle: + playfram 0x00 + goto CyprianLocal00 + +CyprianLocal00: + wait 125 + goto CyprianLocal00 + +CyprianDeath: + playsndbtwn 276 277 # Maverick death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 820 0 0 # Cyprian Remains (cm\terran\cyprian-remains.grp) + wait 1 + end + +CyprianGndAttkInit: + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 +CyprianGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x1E0 + playsndbtwn 1189 1193 # Cyprian weaponfire 01, 02, 03, 04, 05 + attackwith 1 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +CyprianGndAttkToIdle: + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + goto CyprianWalkingToIdle + +CyprianCastSpell: + wait 1 + goto CyprianGndAttkToIdle + +CyprianWalking: + move 3 + wait 1 + playfram 0x80 + move 3 + wait 1 + playfram 0xA0 + move 3 + wait 1 + playfram 0xC0 + move 3 + wait 1 + playfram 0xE0 + move 3 + wait 1 + playfram 0x100 + move 3 + wait 1 + playfram 0x20 + move 3 + wait 1 + playfram 0x40 + move 3 + wait 1 + playfram 0x60 + goto CyprianWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1149 Cataphract (cm\terran\cataphract.grp) +.headerstart +IsId 704 +Type 12 +Init CataphractInit +Death CataphractDeath +GndAttkInit CataphractGndAttkInit +AirAttkInit CataphractGndAttkInit +Unused1 CataphractUnused1 +GndAttkRpt CataphractGndAttkInit +AirAttkRpt CataphractGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking CataphractWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CataphractInit: + imgul 1167 0 0 # Cataphract shadow (cm\terran\cataphract-shadow.grp) + goto InfestedTerranWalkingToIdle + +CataphractDeath: + playsndbtwn 3067 3073 # Cataphract death 01, 02, 03, 04, 05, 06, 07 + imgol 333 0 0 # Explosion2 (Medium) (thingy\tBangL.grp) + wait 3 + lowsprul 273 0 0 # Terran Building Rubble Small +# lowsprul 816 0 0 # Cataphract Remains + wait 1 + end + +CataphractUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 744 0 0 # Large Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +CataphractGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x220 + playsndbtwn 2347 2350 # Cataphract weapon fire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + ignorerest + goto InfestedTerranWalkingToIdle + +CataphractWalking: + playfram 0xA0 + move 3 + wait 1 + playfram 0xC0 + move 3 + wait 1 + playfram 0xE0 + move 3 + wait 1 + playfram 0x100 + move 3 + wait 1 + playfram 0x120 + move 3 + wait 1 + playfram 0x140 + move 3 + wait 1 + playfram 0x160 + move 3 + wait 1 + playfram 0x180 + move 3 + wait 1 + playfram 0x1A0 + move 3 + wait 1 + playfram 0x1C0 + move 3 + wait 1 + playfram 0x1E0 + move 3 + wait 1 + playfram 0x20 + move 3 + wait 1 + playfram 0x40 + move 3 + wait 1 + playfram 0x60 + move 3 + wait 1 + playfram 0x80 + move 3 + wait 1 + goto CataphractWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1589 Durendal (cm\terran\durendal.grp) +.headerstart +IsId 705 +Type 12 +Init DurendalInit +Death DurendalDeath +GndAttkInit DurendalGndAttkInit +AirAttkInit DurendalGndAttkInit +Unused1 DurendalUnused1 +GndAttkRpt DurendalGndAttkRpt +AirAttkRpt DurendalGndAttkRpt +CastSpell [NONE] +GndAttkToIdle DurendalGndAttkToIdle +AirAttkToIdle DurendalGndAttkToIdle +Unused2 [NONE] +Walking DurendalWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DurendalInit: + imgul 1590 0 -9 # Durendal shadow (cm\terran\durendal-shadow.grp) + goto InfestedTerranWalkingToIdle + +DurendalDeath: + playsndbtwn 1598 1602 # Durendal death 01, 02, 03, 04, 05 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 0 # Terran Unit Rubble Medium + wait 1 + end + +DurendalUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 # Small Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +DurendalGndAttkInit: + playfram 0x220 + wait 1 + playfram 0x240 +DurendalGndAttkRpt: + wait 1 + nobrkcodestart + wait 1 + playfram 0x260 + imgol 421 0 0 # FlameThrower (thingy\flamer.grp) + attkshiftproj 24 + sigorder 32 + wait 1 + playfram 0x280 + attkshiftproj 52 + sigorder 32 + wait 1 + attkshiftproj 80 + sigorder 32 + wait 6 + nobrkcodeend + gotorepeatattk + ignorerest +DurendalGndAttkToIdle: + playfram 0x240 + wait 1 + playfram 0x220 + wait 1 + goto InfestedTerranWalkingToIdle + +DurendalWalking: + playfram 0xA0 + move 5 + wait 1 + playfram 0xC0 + move 5 + wait 1 + playfram 0xE0 + move 5 + wait 1 + playfram 0x100 + move 5 + wait 1 + playfram 0x120 + move 5 + wait 1 + playfram 0x140 + move 5 + wait 1 + playfram 0x160 + move 5 + wait 1 + 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 0x20 + move 5 + wait 1 + playfram 0x40 + move 5 + wait 1 + playfram 0x60 + move 5 + wait 1 + playfram 0x80 + move 5 + wait 1 + goto DurendalWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1591 Sevenstep (cm\terran\sevenstep.grp) +.headerstart +IsId 706 +Type 12 +Init SevenstepInit +Death SevenstepDeath +GndAttkInit SevenstepGndAttkInit +AirAttkInit SevenstepGndAttkInit +Unused1 [NONE] +GndAttkRpt SevenstepGndAttkRpt +AirAttkRpt SevenstepGndAttkRpt +CastSpell SevenstepCastSpell +GndAttkToIdle SevenstepGndAttkToIdle +AirAttkToIdle SevenstepGndAttkToIdle +Unused2 [NONE] +Walking SevenstepWalking +WalkingToIdle SevenstepWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SevenstepInit: + imgul 1592 0 0 # Sevenstep Shadow (cm\terran\sevenstep-shadow.grp) +SevenstepWalkingToIdle: + playfram 0x00 + goto SevenstepLocal00 + +SevenstepLocal00: + wait 62 + randcondjmp 25 SevenstepLocal01 + goto SevenstepLocal00 + +SevenstepLocal01: + 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 0x00 + wait 1 + goto SevenstepLocal00 + +SevenstepDeath: + playsndbtwn 276 277 # Maverick death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 2 + lowsprul 230 0 0 # Eidolon Remnants (terran\tghDeath.grp) + wait 1 + end + +SevenstepGndAttkInit: + playfram 0x280 + wait 1 + playfram 0x2C0 + wait 1 + playfram 0x300 + wait 1 + playfram 0x340 +SevenstepGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x3A0 + playsndbtwn 2092 2094 # Sevenstep weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x3C0 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +SevenstepGndAttkToIdle: + playfram 0x320 + wait 1 + playfram 0x2E0 + wait 1 + playfram 0x2C0 + wait 1 + playfram 0x2A0 + wait 1 + goto SevenstepWalkingToIdle + +SevenstepCastSpell: + wait 1 + goto SevenstepGndAttkToIdle + +SevenstepWalking: + 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 + move 4 + wait 1 + playfram 0x200 + move 4 + wait 1 + playfram 0x220 + move 4 + wait 1 + playfram 0x240 + move 4 + wait 1 + playfram 0x260 + goto SevenstepWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1595 Dilettante (cm\terran\dilettante.grp) +.headerstart +IsId 708 +Type 12 +Init DilettanteInit +Death DilettanteDeath +GndAttkInit DilettanteGndAttkInit +AirAttkInit DilettanteGndAttkInit +Unused1 DilettanteUnused1 +GndAttkRpt DilettanteGndAttkRpt +AirAttkRpt DilettanteGndAttkRpt +CastSpell [NONE] +GndAttkToIdle DilettanteGndAttkToIdle +AirAttkToIdle DilettanteGndAttkToIdle +Unused2 [NONE] +Walking DilettanteWalking +WalkingToIdle DilettanteWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DilettanteInit: + imgul 1596 0 -3 # Dilettante Shadow (cm\terran\dilettante-shadow.grp) +DilettanteWalkingToIdle: + playfram 0x00 +DilettanteLocal00: + wait 62 + randcondjmp 25 DilettanteLocal01 + randcondjmp 128 DilettanteLocal02 + goto DilettanteLocal00 + +DilettanteLocal01: + playfram 0x77 + wait 1 + randcondjmp 192 DilettanteLocal03 + 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 DilettanteLocal04 + +DilettanteLocal04: + playfram 0x00 + wait 1 + goto DilettanteWalkingToIdle + +DilettanteLocal03: + wait 13 + playfram 0x77 + wait 1 + playfram 0x00 + wait 1 + goto DilettanteWalkingToIdle + +DilettanteLocal02: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + turnrand 3 + wait 1 + playfram 0x11 + wait 1 + goto DilettanteWalkingToIdle + +DilettanteDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + setfldirect 0 + playfram 170 + wait 2 + playfram 171 + wait 2 + playfram 172 + wait 2 + playfram 173 + wait 2 + playfram 174 + wait 2 + playfram 175 + wait 2 + playfram 176 + wait 2 + lowsprul 797 0 0 # Dilettante Remnants (cm\terran\dilettante-remains.grp) + wait 1 + end + +DilettanteUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1161 1162 # Maverick revive 01, 02 + playfram 175 + wait 2 + playfram 174 + wait 2 + playfram 173 + wait 2 + playfram 172 + wait 2 + playfram 171 + wait 2 + playfram 170 + wait 2 + setfldirect 12 + nobrkcodeend + goto DilettanteWalkingToIdle + +DilettanteGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x77 +DilettanteGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2088 2091 # Dilettante weapon fire 01, 02 + attackwith 1 + playfram 0x99 + wait 1 + playfram 0x77 + nobrkcodeend + gotorepeatattk + ignorerest +DilettanteGndAttkToIdle: + playfram 0x77 + wait 2 + playfram 0x00 + goto DilettanteWalkingToIdle + +DilettanteWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + goto DilettanteWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1598 Hypnagogue (cm\terran\hypnagogue.grp) +.headerstart +IsId 709 +Type 12 +Init HypnagogueInit +Death HypnagogueDeath +GndAttkInit HypnagogueGndAttkInit +AirAttkInit HypnagogueGndAttkInit +Unused1 HypnagogueUnused1 +GndAttkRpt HypnagogueGndAttkRpt +AirAttkRpt HypnagogueGndAttkRpt +CastSpell HypnagogueCastSpell +GndAttkToIdle HypnagogueGndAttkToIdle +AirAttkToIdle HypnagogueGndAttkToIdle +Unused2 [NONE] +Walking HypnagogueWalking +WalkingToIdle HypnagogueWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HypnagogueInit: + imgul 1599 0 0 # Hypnagogue Shadow (cm\terran\hypnagogue-shadow.grp) +HypnagogueWalkingToIdle: + playfram 0x00 +HypnagogueLocal00: + wait 62 + randcondjmp 25 HypnagogueLocal01 + randcondjmp 128 HypnagogueLocal02 + goto HypnagogueLocal00 + +HypnagogueLocal01: + playfram 0x77 + wait 1 + randcondjmp 192 HypnagogueLocal03 + 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 HypnagogueLocal04 + +HypnagogueLocal04: + playfram 0x00 + wait 1 + goto HypnagogueWalkingToIdle + +HypnagogueLocal03: + wait 13 + playfram 0x77 + wait 1 + playfram 0x00 + wait 1 + goto HypnagogueWalkingToIdle + +HypnagogueLocal02: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + turnrand 3 + wait 1 + playfram 0x11 + wait 1 + goto HypnagogueWalkingToIdle + +HypnagogueDeath: + playsndbtwn 276 277 # Terran\MARINE\TMaDth00.WAV | Terran\MARINE\TMaDth01.WAV + setfldirect 0 + playfram 306 + wait 2 + playfram 307 + wait 2 + playfram 308 + wait 2 + playfram 309 + wait 2 + playfram 310 + wait 2 + playfram 311 + wait 2 + lowsprul 799 0 0 # Hypnagogue Remnants (cm\terran\hypnagogue-remains.grp) + wait 1 + end + +HypnagogueUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsndbtwn 1161 1162 # Maverick revive 01, 02 + playfram 310 + wait 2 + playfram 309 + wait 2 + playfram 308 + wait 2 + playfram 307 + wait 2 + playfram 306 + wait 2 + setfldirect 12 + nobrkcodeend + goto HypnagogueWalkingToIdle + +HypnagogueGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x77 +HypnagogueGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2103 2105 # Hypnagogue weaponfire 01, 02, 03 + attackwith 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 3 + attackwith 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +HypnagogueGndAttkToIdle: + playfram 0x00 + wait 1 + goto HypnagogueWalkingToIdle + +HypnagogueCastSpell: + wait 1 + castspell + sigorder 2 + goto HypnagogueWalkingToIdle + +HypnagogueWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + goto HypnagogueWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1619 Apothecary (cm\terran\apothecary.grp) +.headerstart +IsId 711 +Type 20 +Init ApothecaryInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 ApothecarySpecialState1 +SpecialState2 [NONE] +AlmostBuilt ApothecaryAlmostBuilt +Built ApothecaryBuilt +Landing ApothecaryLanding +LiftOff ApothecaryLiftOff +IsWorking ApothecaryIsWorking +WorkingToIdle ApothecaryBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ApothecaryInit: + imgul 1620 0 0 # Apothecary Shadow (cm\terran\apothecary-shadow.grp) +ApothecaryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +ApothecarySpecialState1: + playfram 0 + goto SkryrokorLocal00 + +ApothecaryAlmostBuilt: + playfram 5 + goto SkryrokorLocal00 + +ApothecaryLanding: + nobrkcodestart + wait 20 + playsnd 472 # Misc\Land.WAV +# playfram 3 + wait 5 +# playfram 2 + wait 5 +# playfram 1 + wait 5 +# playfram 4 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +ApothecaryLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV +# playfram 4 + wait 5 +# playfram 1 + wait 5 +# playfram 2 + wait 5 +# playfram 3 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +ApothecaryIsWorking: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0 + wait 1 + goto ApothecaryIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1646 Cyclops Fragmentary Arming (cm\terran\cyclops-fragmentary-shells.grp) +.headerstart +IsId 714 +Type 1 +Init CyclopsFragmentaryArmingInit +Death CyclopsFragmentaryArmingDeath +.headerend +# ----------------------------------------------------------------------------- # + +CyclopsFragmentaryArmingInit: + wait 2 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + 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 +CyclopsFragmentaryArmingDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1656 Ramesses (cm\terran\ramesses.grp) +.headerstart +IsId 715 +Type 12 +Init RamessesInit +Death RamessesDeath +GndAttkInit RamessesGndAttkInit +AirAttkInit RamessesGndAttkInit +Unused1 RamessesUnused1 +GndAttkRpt RamessesGndAttkInit +AirAttkRpt RamessesGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking RamessesWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +RamessesInit: + imgul 1657 0 0 # Ramesses shadow (cm\terran\ramesses-shadow.grp) + goto InfestedTerranWalkingToIdle + +RamessesDeath: + playsndbtwn 1598 1602 # Ramesses death 01, 02, 03, 04, 05 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small +# lowsprul 816 0 0 # Ramesses Remains + wait 1 + end + +RamessesUnused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 # Small Orange Explosion Reversed + wait 12 + setfldirect 13 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +RamessesGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x99 + playsndbtwn 2085 2087 # Ramesses weapon fire 01, 02, 03 + attack + wait 1 + playfram 0xaa + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto InfestedTerranWalkingToIdle + +RamessesWalking: + 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 + move 5 + wait 1 + playfram 0x11 + move 5 + wait 1 + playfram 0x22 + move 5 + wait 1 + goto RamessesWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1619 Mantle (cm\terran\mantle.grp) +.headerstart +IsId 716 +Type 20 +Init MantleInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 MantleSpecialState1 +SpecialState2 [NONE] +AlmostBuilt MantleAlmostBuilt +Built MantleBuilt +Landing MantleLanding +LiftOff MantleLiftOff +IsWorking MantleIsWorking +WorkingToIdle MantleBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MantleInit: + imgul 1655 0 0 # Mantle Shadow (cm\terran\mantle-shadow.grp) +MantleBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +MantleSpecialState1: + playfram 0 + goto SkryrokorLocal00 + +MantleAlmostBuilt: + playfram 20 + goto SkryrokorLocal00 + +MantleLanding: + nobrkcodestart + wait 20 + playsnd 472 # Misc\Land.WAV +# playfram 3 + wait 5 +# playfram 2 + wait 5 +# playfram 1 + wait 5 +# playfram 4 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +MantleLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV +# playfram 4 + wait 5 +# playfram 1 + wait 5 +# playfram 2 + wait 5 +# playfram 3 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +MantleIsWorking: + playfram 1 + wait 1 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 0 + goto MantleIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1659 Durendal weaponfire (cm\terran\durendal-weaponfire.grp) +.headerstart +IsId 717 +Type 1 +Init DurendalWeaponfireInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DurendalWeaponfireInit: + playfram 0x00 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1698 Madrigal Dirge Proc (cm\terran\madrigal-dirge-proc.grp) +.headerstart +IsId 726 +Type 1 +Init MadrigalDirgeProcInit +Death MadrigalDirgeProcDeath +.headerend +# ----------------------------------------------------------------------------- # + +MadrigalDirgeProcInit: + playsndbtwn 2306 2308 # Madrigal Dirge proc 01, 02, 03 + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +MadrigalDirgeProcDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 245 Wraith Engine (terran\wraith-engine.grp) +# 1199 Aurora Engines (cm\protoss\aurora-engine.grp) +# 1206 Vassal Engines (cm\protoss\vassal-engine.grp) +.headerstart +IsId 730 +Type 15 +Init Engines_MultiGlowHeader_OmniInit +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_MultiGlowHeader_OmniInit +WalkingToIdle Generic_Wait1End +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +Engines_MultiGlowHeader_OmniInit: + engframe 0 + wait 1 + engframe 32 + wait 1 + goto Engines_MultiGlowHeader_OmniInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1716 Hammerfall Beacon (cm\terran\ion-cannon-beacon.grp) +.headerstart +IsId 731 +Type 2 +Init HammerfallBeaconInit +Death HammerfallBeaconDeath +GndAttkInit HammerfallBeaconGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HammerfallBeaconInit: + playfram 0x00 + playsnd 106 # Bullet\tvuFir00.wav + wait 1 + sigorder 1 + wait 1 +HammerfallBeaconGndAttkInit: + sprol 310 0 0 # Grenade Shot Smoke (thingy\GreSmoke.grp) + wait 1 +HammerfallBeaconLocal00: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto HammerfallBeaconLocal00 + +HammerfallBeaconDeath: + imgol 440 0 0 # Fragmentation Grenade Hit (thingy\efgHit.grp) + domissiledmg + wait 1 + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 14 + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 14 + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 14 + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 14 + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1718 Cyprian Rail (cm\terran\cyprian-rail.grp) +.headerstart +IsId 733 +Type 2 +Init OmniBulletOneInit +Death OmniBulletOneDeathOrange +GndAttkInit OmniBulletOneGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OmniBulletOneInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +OmniBulletOneGndAttkInit: + playfram 0x00 + wait 125 + goto OmniBulletOneGndAttkInit + +OmniBulletOneDeathOrange: + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1719 Sentinel Rail (cm\terran\cyprian-rail.grp) +.headerstart +IsId 825 +Type 2 +Init OmniBulletOneInit +Death OmniBulletOneBlueDeath +GndAttkInit OmniBulletOneGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OmniBulletOneBlueDeath: + imgol 1505 0 0 # Burst Lasers Blue Impact (thingy\elbHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1725 Phalanx Mortar (cm\terran\phalanx-mortar.grp) +.headerstart +IsId 735 +Type 2 +Init PhalanxMortarInit +Death PhalanxMortarDeath +GndAttkInit PhalanxMortarGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhalanxMortarInit: + playfram 0x00 + wait 1 + sigorder 1 + playfram 0x20 + wait 1 +PhalanxMortarGndAttkInit: + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + goto PhalanxMortarGndAttkInit + +PhalanxMortarDeath: + imgol 1382 0 0 # Shock Cannon Explosion Damageless + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 307 Wellbore (cm\terran\wellbore.grp) +.headerstart +IsId 736 +Type 20 +Init WellboreInit +Death WellboreDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 WellboreSpecialState1 +SpecialState2 WellboreSpecialState2 +AlmostBuilt WellboreAlmostBuilt +Built WellboreBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle WellboreBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WellboreInit: + imgul 1692 0 0 # Wellbore Shadow (cm\terran\wellbore-shadow.grp) + playfram 1 +WellboreLocal00: + 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 WellboreLocal00 + +WellboreDeath: + playsnd 7 # Misc\ExploLrg.wav + sprol 272 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + end + +WellboreSpecialState1: + playfram 2 + goto WellboreLocal00 + +WellboreSpecialState2: + playfram 3 + goto WellboreLocal00 + +WellboreAlmostBuilt: + playfram 4 + goto WellboreLocal00 + +WellboreBuilt: + playfram 0x00 + wait 5 +WellboreLocal01: + creategasoverlays 0 + wait 20 + waitrand 5 100 + goto WellboreLocal01 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1726 Matador Cinder Mode (cm\terran\matador.grp) +.headerstart +IsId 737 +Type 14 +Init MatadorCinderModeInit +Death MatadorCinderModeDeath +GndAttkInit MatadorCinderModeGndAttkInit +AirAttkInit MatadorCinderModeGndAttkInit +Unused1 MatadorCinderModeUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle MatadorCinderModeGndAttkToIdle +AirAttkToIdle MatadorCinderModeGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MatadorCinderModeSpecialState2 +SpecialState2 MatadorCinderModeSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatadorCinderModeInit: + imgul 1533 0 0 # Matador Shadow (cm\terran\matador-shadow.grp) + wait 1 + playsnd 2429 # Matador Cinder Transform + setflspeed 0 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 6 + sigorder 1 + goto MatadorCinderModeGndAttkToIdle + +MatadorCinderModeGndAttkToIdle: + playfram 0x180 + goto SkryrokorLocal00 + +MatadorCinderModeDeath: + playsndbtwn 1385 1386 # Matador death 01, 02 + imgol 332 0 -5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small + wait 1 + end + +MatadorCinderModeUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1705 1706 + sprol 742 0 0 + setfldirect 12 + wait 12 + nobrkcodeend + goto MatadorCinderModeGndAttkToIdle + +MatadorCinderModeGndAttkInit: + playfram 0x180 + wait 1 + nobrkcodestart + playfram 0x1A0 + playsndbtwn 2736 2738 # Matador weaponfire 2 01, 02, 03 + imgol 421 0 0 # FlameThrower (thingy\flamer.grp) + attkshiftproj 24 + sigorder 32 + wait 1 + playfram 0x180 + attkshiftproj 52 + sigorder 32 + wait 1 + attkshiftproj 80 + sigorder 32 + wait 4 + playfram 0x180 + nobrkcodeend + gotorepeatattk + goto MatadorCinderModeGndAttkToIdle + +MatadorCinderModeSpecialState2: + playsnd 2430 # Matador Tank Transform + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + playfram 0x120 + wait 1 + playfram 0x00 + wait 6 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1523 Matador Tank Mode Turret (cm\terran\matador-turret.grp) +.headerstart +IsId 738 +Type 12 +Init InfestedTerranWalkingToIdle +Death Generic_Wait1End +GndAttkInit MatadorGndAttkInit +AirAttkInit MatadorGndAttkInit +Unused1 [NONE] +GndAttkRpt MatadorGndAttkInit +AirAttkRpt MatadorGndAttkInit +CastSpell [NONE] +GndAttkToIdle InfestedTerranWalkingToIdle +AirAttkToIdle InfestedTerranWalkingToIdle +Unused2 [NONE] +Walking MatadorWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1726 Matador Turret Cinder Mode (cm\terran\matador-turret.grp) +.headerstart +IsId 739 +Type 14 +Init MatadorCinderModeTurretInit +Death Generic_Wait1End +GndAttkInit MatadorCinderModeGndAttkInit +AirAttkInit MatadorCinderModeGndAttkInit +Unused1 [NONE] +GndAttkRpt MatadorCinderModeGndAttkInit +AirAttkRpt MatadorCinderModeGndAttkInit +CastSpell [NONE] +GndAttkToIdle MatadorCinderModeGndAttkToIdle +AirAttkToIdle MatadorCinderModeGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 MatadorCinderModeSpecialState2 +SpecialState2 MatadorCinderModeSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatadorCinderModeTurretInit: + wait 1 + setflspeed 0 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 6 + sigorder 1 + goto MatadorCinderModeGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1729 Wyvern Turret (cm\terran\wyvern-turret.grp) +.headerstart +IsId 740 +Type 12 +Init WyvernTurretInit +Death Generic_Wait1End +GndAttkInit WyvernTurretGndAttkInit +AirAttkInit WyvernTurretGndAttkInit +Unused1 [NONE] +GndAttkRpt WyvernTurretGndAttkInit +AirAttkRpt WyvernTurretGndAttkInit +CastSpell WyvernCastSpell +GndAttkToIdle WyvernGndAttkToIdle +AirAttkToIdle WyvernGndAttkToIdle +Unused2 [NONE] +Walking WyvernGndAttkToIdle +WalkingToIdle WyvernGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +WyvernTurretInit: + playfram 0x00 + goto WyvernGndAttkToIdle + +WyvernTurretGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + wait 12 +# playfram 0x20 + attackwith 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto WyvernGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1739 Shaman Visionary Mode (cm\terran\shaman.grp) +.headerstart +IsId 745 +Type 14 +Init ShamanVisionaryModeInit +Death ShamanVisionaryModeDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 ShamanVisionaryModeUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell ShamanVisionaryModeGndAttkToIdle +GndAttkToIdle ShamanVisionaryModeGndAttkToIdle +AirAttkToIdle ShamanVisionaryModeGndAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ShamanVisionaryModeSpecialState2 +SpecialState2 ShamanVisionaryModeSpecialState2 +AlmostBuilt [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ShamanVisionaryModeInit: + imgul 1227 0 0 # Shaman Shadow (cm\terran\shaman-shadow.grp) + wait 1 + playsnd 2429 # Shaman Visionary Transform + setflspeed 0 + playfram 0x00 + wait 2 + playfram 0x20 + wait 1 + playfram 0x40 + wait 3 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0xC0 + wait 6 + sigorder 1 + goto ShamanVisionaryModeGndAttkToIdle + +ShamanVisionaryModeGndAttkToIdle: + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x120 + wait 2 + playfram 0x140 + wait 2 + playfram 0x160 + wait 2 + playfram 0x180 + wait 2 + playfram 0x1A0 + wait 2 + playfram 0x1C0 + wait 2 + goto ShamanVisionaryModeGndAttkToIdle + +ShamanVisionaryModeDeath: + playsndbtwn 2834 2835 # Shaman Death 01, 02 + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small + wait 1 + end + +ShamanVisionaryModeUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1705 1706 # Shaman Death Reversed 01, 02 + sprol 742 0 0 # Orange Explosion Medium Reversed + setfldirect 12 + wait 12 + nobrkcodeend + goto ShamanVisionaryModeGndAttkToIdle + +ShamanVisionaryModeSpecialState2: + playsnd 2430 # Matador Tank Transform + playfram 0xC0 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + wait 3 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + wait 6 + sigorder 1 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1740 Terran Cancel Structure (thingy\tmnExplo.grp) +.headerstart +IsId 746 +Type 1 +Init SpiderMineExplosionDeath +Death Generic_Wait1End +.headerend + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1745 Philoc (cm\faction\philoc.grp) +.headerstart +IsId 751 +Type 12 +Init PhilocInit +Death PhilocDeath +GndAttkInit PhilocGndAttkInit +AirAttkInit PhilocGndAttkInit +Unused1 [NONE] +GndAttkRpt PhilocGndAttkInit +AirAttkRpt PhilocGndAttkInit +CastSpell [NONE] +GndAttkToIdle WraithGndAttkToIdle +AirAttkToIdle WraithGndAttkToIdle +Unused2 [NONE] +Walking PhilocWalking +WalkingToIdle WraithGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PhilocInit: + imgulnextid 0 42 # Philoc Shadow (terran\philoc.grp) + playfram 0x00 + goto WraithGndAttkToIdle + +PhilocDeath: + playsnd 257 # Terran\PHOENIX\TPhDth00.WAV + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + end + +PhilocGndAttkInit: + nobrkcodestart + wait 1 + playfram 0x20 + attackwith 1 + playsnd 74 # Bullet\TPhFi100.wav + wait 1 + playfram 0x00 + gotorepeatattk + nobrkcodeend + goto SkryrokorLocal00 + +PhilocWalking: + setvertpos 0 + imgol 1747 0 0 # Philoc Engines (terran\wraith-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1749 Heavy Missile Explosion (Orange) (cm\terran\heavy-missile-explosion-orange.grp) +# 1750 Heavy Missile Explosion (Green) (cm\terran\heavy-missile-explosion-green.grp) +.headerstart +IsId 753 +Type 1 +Init TerranHeavyMissileExplosionInit +Death TerranHeavyMissileExplosionDeath +.headerend +# ----------------------------------------------------------------------------- # + +TerranHeavyMissileExplosionInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +TerranHeavyMissileExplosionDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1753 Sevenstep Rail (cm\terran\sentinel-rail.grp) +.headerstart +IsId 756 +Type 2 +Init SevenstepRailInit +Death SevenstepRailDeath +GndAttkInit SevenstepRailGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SevenstepRailInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +SevenstepRailGndAttkInit: + playfram 0x00 + wait 125 + goto SevenstepRailGndAttkInit + +SevenstepRailDeath: + imgol 1249 0 0 # Burst Lasers Blue Impact (thingy\elbHit.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1248 Cyclops Weapon Impact (thingy\elbHit.grp) +.headerstart +IsId 762 +Type 1 +Init CyclopsWeaponImpactInit +Death CyclopsWeaponImpactDeath +.headerend +# ----------------------------------------------------------------------------- # + +CyclopsWeaponImpactInit: + wait 1 + playsndbtwn 2551 2553 # Cyclops weaponhit 01 +# playsnd 2550 # Cyclops weapon channel 01 + sigorder 1 + wait 1 +CyclopsWeaponImpactDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1769 Helix Bolt Orange (cm\terran\helix-bolt.grp) +# 1770 Helix Bolt Blue 1 (cm\terran\helix-bolt.grp) +# 1771 Helix Bolt Blue 2 (cm\terran\helix-bolt-blue.grp) +.headerstart +IsId 763 +Type 2 +Init HelixBoltInit +Death HelixBoltDeath +GndAttkInit HelixBoltGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HelixBoltInit: + playfram 0x00 + wait 1 + sigorder 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 +HelixBoltGndAttkInit: + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + goto HelixBoltGndAttkInit + +HelixBoltDeath: + playfram 0x99 + domissiledmg + wait 1 + playfram 0xAA + wait 1 + playfram 0xBB + wait 1 + playfram 0xCC + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1141 Hotshot (cm\faction\hotshot.grp) +.headerstart +IsId 764 +Type 12 +Init HotshotInit +Death MadcapDeath +GndAttkInit MadcapGndAttkInit +AirAttkInit MadcapGndAttkInit +Unused1 [NONE] +GndAttkRpt MadcapGndAttkRpt +AirAttkRpt MadcapGndAttkRpt +CastSpell [NONE] +GndAttkToIdle MadcapGndAttkToIdle +AirAttkToIdle MadcapGndAttkToIdle +Unused2 [NONE] +Walking MadcapWalking +WalkingToIdle MadcapWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HotshotInit: + imgul 1777 0 0 # Hotshot Shadow (cm\faction-t\hotshot-shadow.grp) + goto MadcapWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1785 Qilin (cm\faction\qilin.grp) +.headerstart +IsId 765 +Type 12 +Init QilinInit +Death QilinDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking QilinWalking +WalkingToIdle TrojanLocal00 +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +QilinInit: + imgul 1786 0 42 # Qilin Shadow (cm\faction\qilin.grp) + playfram 0x00 + goto TrojanLocal00 + +QilinDeath: + playsnd 210 # Terran\DROPSHIP\TDrDth00.wav + imgol 332 0 0 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 844 0 42 # Terran Unit Rubble Medium + wait 1 + end + +QilinWalking: + setvertpos 0 + imgol 1787 0 0 # Qilin Engines (cm\faction\qilin-engine.grp) + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1789 (cm\faction\auriel.grp) +.headerstart +IsId 766 +Type 13 +Init AurielInit +Death AurielDeath +GndAttkInit AurielGndAttkInit +AirAttkInit AurielGndAttkInit +Unused1 AurielUnused1 +GndAttkRpt AurielGndAttkRpt +AirAttkRpt AurielGndAttkRpt +CastSpell [NONE] +GndAttkToIdle AurielGndAttkToIdle +AirAttkToIdle AurielGndAttkToIdle +Unused2 [NONE] +Walking AurielWalking +WalkingToIdle AurielWalkingToIdle +SpecialState1 AurielSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +AurielInit: + imgul 1790 0 -5 # Auriel Shadow (cm\faction\auriel-shadow.grp) +AurielWalkingToIdle: + playfram 0x00 +AurielLocal00: + wait 62 + randcondjmp 25 AurielLocal01 + randcondjmp 128 AurielLocal01 + goto AurielLocal00 + +AurielLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 192 AurielLocal03 + 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 AurielLocal04 + +AurielLocal04: + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto AurielWalkingToIdle + +AurielLocal03: + wait 13 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto AurielWalkingToIdle + +AurielDeath: + playsnd 238 # Terran\Ghost\TGhDth00.wav + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 2 + lowsprul 950 0 0 # Savant remains + wait 1 + end + +AurielUnused1: + wait 1 + nobrkcodestart + playsndbtwn 1166 1167 + setfldirect 0 + playfram 0x00 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 6 + nobrkcodeend + goto AurielWalkingToIdle + +AurielGndAttkInit: + playfram 0x99 + wait 1 +AurielGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0xaa + playsndbtwn 2739 2741 # Auriel weaponfire 01, 02, 03 + attack + wait 1 + playfram 0xbb + wait 2 + playsndbtwn 2739 2741 # Auriel weaponfire 01, 02, 03 + attack + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +AurielGndAttkToIdle: + playfram 0x99 + wait 1 + goto AurielWalkingToIdle + +AurielWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + goto AurielWalking + +AurielSpecialState1: + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1725 Spoke Shell (cm\terran\spoke-shell.grp) +.headerstart +IsId 767 +Type 2 +Init SpokeShellInit +Death SpokeShellDeath +GndAttkInit SpokeShellGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpokeShellInit: + playfram 0x00 + wait 1 + sigorder 1 +SpokeShellGndAttkInit: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x00 + wait 1 + goto SpokeShellGndAttkInit + +SpokeShellDeath: + #playsndbtwn 0 0 # X Weaponhit 01 + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1807 Addon Weld Overlay (bullet\scvspark.grp) +.headerstart +IsId 775 +Type 1 +Init FusionCutterHitDamagelessSilentInit +Death FusionCutterHitDamagelessDeath +.headerend +# ----------------------------------------------------------------------------- # + +FusionCutterHitDamagelessSilentInit: + playfram 0x00 + goto FusionCutterHitDamagelessCont + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1844 Gorgon Petrification (cm\terran\gorgon-petrification.grp) +# 1845 Autocrat Controlled Opposition (cm\terran\autocrat-controlled-opposition.grp) +.headerstart +IsId 776 +Type 1 +Init GorgonPetrificationInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GorgonPetrificationInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 18 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1847 Maverick Stimpack (cm\terran\maverick-stimpack.grp) +.headerstart +IsId 777 +Type 1 +Init MaverickStimpackInit +Death MaverickStimpackDeath +.headerend +# ----------------------------------------------------------------------------- # + +MaverickStimpackInit: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 4 + wait 1 + playfram 5 +MaverickStimpackDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1869 Olympian Dishonorable Discharge 1 (cm\terran\olympian-dishonorable-discharge-1.grp) +# 1870 Olympian Dishonorable Discharge 2 (cm\terran\olympian-dishonorable-discharge-2.grp) +# 1871 Olympian Dishonorable Discharge 3 (cm\terran\olympian-dishonorable-discharge-3.grp) +.headerstart +IsId 784 +Type 1 +Init OlympianDishonorableDischargeInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +OlympianDishonorableDischargeInit: + playfram 0x00 + wait 1 + playfram 2 + wait 1 + playfram 4 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1872 Magnetar Law of Attraction 1 (cm\terran\magnetar-law-of-attraction-1.grp) +# 1873 Magnetar Law of Attraction 2 (cm\terran\magnetar-law-of-attraction-2.grp) +# 1874 Magnetar Law of Attraction 3 (cm\terran\magnetar-law-of-attraction-3.grp) +# 1875 Salamander Weaponhit (cm\terran\salamander-weaponhit.grp) +.headerstart +IsId 785 +Type 1 +Init MagnetarLawOfAttractionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MagnetarLawOfAttractionInit: + 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 18 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1910 Angeltear Rockets (bullet\SMmissle.grp) +.headerstart +IsId 792 +Type 2 +Init AngeltearRocketInit +Death AngeltearRocketDeath +GndAttkInit AngeltearRocketGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AngeltearRocketInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +AngeltearRocketGndAttkInit: + sprol 927 0 0 # Angeltear Rockets Trail (cm\terran\salamander-rocket-trail.grp) + wait 2 + goto AngeltearRocketGndAttkInit + +AngeltearRocketDeath: + playsndbtwn 3133 3134 # Salamander weapon 2 hit 01, 02 + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1044 Cestus (cm\terran\cestus.grp) +.headerstart +IsId 821 +Type 20 +Init CestusInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CestusAlmostBuilt +Built CestusWorkingToIdle +Landing CestusLanding +LiftOff CestusLiftOff +IsWorking SkryrokorLocal00 +WorkingToIdle CestusWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CestusInit: + imgul 1045 0 0 # Cestus Shadow (cm\terran\cestus-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CestusAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +CestusWorkingToIdle: + playfram 0x00 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + goto CestusWorkingToIdle + +CestusLanding: + nobrkcodestart + wait 25 + playsnd 472 # Misc\Land.WAV + playfram 0x00 +# playfram 4 +# wait 4 +# playfram 2 +# wait 4 +# playfram 3 +# wait 4 +# playfram 5 +# wait 4 +# playfram 0x00 + wait 16 + sigorder 16 + nobrkcodeend + goto CestusWorkingToIdle + +CestusLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV +# playfram 5 +# wait 4 +# playfram 3 +# wait 4 +# playfram 2 +# wait 4 +# playfram 4 + wait 16 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 353 Facade (cm\terran\facade.grp) +.headerstart +IsId 822 +Type 20 +Init FacadeInit +Death FulcrumDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 StarpadBuilt +SpecialState2 [NONE] +AlmostBuilt FacadeAlmostBuilt +Built StarpadBuilt +Landing FacadeLanding +LiftOff FacadeLiftOff +IsWorking [NONE] +WorkingToIdle StarpadBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +FacadeInit: + imgul 1133 0 0 # Facade Shadow (cm\terran\facade-shadow.grp) + goto StarpadBuilt + +FacadeAlmostBuilt: + playfram 20 + goto SkryrokorLocal00 + +FacadeLanding: + nobrkcodestart + wait 20 + playsnd 472 # Misc\Land.WAV + playfram 0 + wait 20 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +FacadeLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 0 + wait 16 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1078 Prying Eyes Overlay (cm\effect\cruciblepennant-medium.grp) +.headerstart +IsId 823 +Type 1 +Init PryingEyesInit +Death PryingEyesDeath +.headerend +# ----------------------------------------------------------------------------- # + +PryingEyesInit: + playfram 0x00 + wait 1 + playfram 1 + 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 2 + playfram 17 + wait 1 + playfram 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + goto PryingEyesInit + +PryingEyesDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2017 Tencendur (cm\terran\tencendur.grp) +.headerstart +IsId 816 +Type 24 +Init TencendurInit +Death AtelierDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle SkryrokorLocal00 +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TencendurAlmostBuilt +Built TencendurBuilt +Landing TencendurLanding +LiftOff TencendurLiftOff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable SkryrokorLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TencendurInit: + imgul 2018 0 0 # Tencendur Shadow (cm\terran\tencendur-shadow.grp) + goto SkryrokorLocal00 + +TencendurAlmostBuilt: + playfram 1 + goto SkryrokorLocal00 + +TencendurBuilt: + imgol 2023 0 -48 # Tencendur Flag (cm\terran\tencendur-flag.grp) + playfram 0x00 + goto SkryrokorLocal00 + +TencendurLiftOff: + nobrkcodestart + playsnd 471 + playfram 0x02 + wait 1 + playfram 0x03 + wait 1 + playfram 0x04 + wait 1 + playfram 0x05 + wait 1 + playfram 0x06 + wait 2 + playfram 0x07 + wait 2 + playfram 0x08 + wait 2 + playfram 0x09 + wait 2 + playfram 0x0A + wait 2 + playfram 0x0B + wait 2 + playfram 0x0C + wait 2 + playfram 0x0D + wait 2 + playfram 0x0E + wait 2 + playfram 0x0F + wait 2 + playfram 0x10 + wait 2 + playfram 0x11 + wait 2 + playfram 0x12 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +TencendurLanding: + nobrkcodestart + wait 12 + playfram 0x11 + wait 2 + playfram 0x10 + wait 2 + playfram 0x0F + wait 2 + playfram 0x0E + wait 2 + playfram 0x0D + wait 2 + playsnd 472 + playfram 0x0C + wait 2 + playfram 0x0B + wait 2 + playfram 0x0A + wait 2 + playfram 0x09 + wait 2 + playfram 0x08 + wait 2 + playfram 0x07 + wait 2 + playfram 0x06 + wait 2 + playfram 0x05 + wait 1 + playfram 0x04 + wait 1 + playfram 0x03 + wait 1 + playfram 0x02 + wait 1 + sigorder 16 + nobrkcodeend + goto TencendurBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2008 Tiangou Base (cm\faction-t\tiangou-base.grp) +.headerstart +IsId 817 +Type 12 +Init Tiangou_Base_Init +Death Tiangou_Base_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 Tiangou_Base_Unused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking Tiangou_Base_Walking +WalkingToIdle Tiangou_Base_WalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Tiangou_Base_Init: + imgul 2010 0 0 # Tiangou Shadow (cm\faction-t\tiangou-shadow.grp) +Tiangou_Base_WalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +Tiangou_Base_Death: + playsndbtwn 1385 1386 # Matador death 01, 02 + imgol 332 0 -5 # Explosion2 (Small) (thingy\tBangS.grp) + wait 3 + lowsprul 845 0 0 # Terran Unit Rubble Small + wait 1 + end + +Tiangou_Base_Unused1: + wait 1 + nobrkcodestart + playsnd 1700 + sprol 742 0 0 + wait 12 + setfldirect 13 + nobrkcodeend + goto Tiangou_Base_WalkingToIdle + +Tiangou_Base_Walking: + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + 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 Tiangou_Base_Walking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2009 Tiangou Turret (cm\faction-t\tiangou-turret.grp) +.headerstart +IsId 818 +Type 12 +Init Tiangou_Turret_Init +Death Generic_Wait1End +GndAttkInit Tiangou_Turret_GndAttkInit +AirAttkInit Tiangou_Turret_GndAttkInit +Unused1 [NONE] +GndAttkRpt Tiangou_Turret_GndAttkRpt +AirAttkRpt Tiangou_Turret_GndAttkRpt +CastSpell [NONE] +GndAttkToIdle Tiangou_Turret_Init +AirAttkToIdle Tiangou_Turret_Init +Unused2 [NONE] +Walking Tiangou_Turret_Init +WalkingToIdle Tiangou_Turret_Init +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Tiangou_Turret_Init: + playfram 0x00 + goto SkryrokorLocal00 + +Tiangou_Turret_GndAttkInit: + wait 1 +Tiangou_Turret_GndAttkRpt: + wait 1 + nobrkcodestart + playfram 0xdd + attackwith 1 + wait 1 + playfram 0x121 + wait 2 + playfram 0xee + attackwith 1 + wait 1 + playfram 0x121 + wait 6 + playfram 0xff + attackwith 1 + wait 1 + playfram 0x121 + wait 2 + playfram 0x110 + attackwith 1 + wait 1 + playfram 0x121 + wait 3 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto Tiangou_Turret_Init + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2023 Tencendur Flag (cm\terran\tencendur-flag.grp) +.headerstart +IsId 819 +Type 24 +Init TencendurFlagGround +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking TencendurFlagAir +WalkingToIdle TencendurFlagGround +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TencendurFlagGround +Built TencendurFlagGround +Landing TencendurFlagAir +LiftOff TencendurFlagAir +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable TencendurFlagGround +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TencendurFlagGround: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 +TencendurFlagLocal01: + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + playfram 0x88 + wait 2 + goto TencendurFlagLocal01 + +TencendurFlagAir: + playfram 0x99 + wait 2 + playfram 0xAA + wait 2 + playfram 0xBB + wait 2 + playfram 0xCC + wait 2 + playfram 0xDD + wait 2 + playfram 0xEE + wait 2 + goto TencendurFlagAir + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# All shadows +.headerstart +IsId 275 +Type 1 +Init ShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ShadowHeaderInit: + wait 1 + followmaingraphic + goto ShadowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1195 Pariah Attack Overlay (cm\protoss\pariah-attack.grp) +.headerstart +IsId 504 +Type 1 +Init PariahAttackOverlayInit +Death PariahAttackOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +PariahAttackOverlayInit: + goto PariahAttackOverlayLocal00 + +PariahAttackOverlayLocal00: + 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 PariahAttackOverlayDeath + +PariahAttackOverlayDeath: + nobrkcodeend + gotorepeatattk + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 450 Flames1 Type1 (Small) (thingy\oFireC.grp) +# 451 Flames1 Type2 (Small) (thingy\oFireF.grp) +# 452 Flames1 Type3 (Small) (thingy\oFireV.grp) +# 453 Flames2 Type3 (Small) (thingy\oFireV.grp) +# 454 Flames3 Type3 (Small) (thingy\oFireV.grp) +# 455 Flames4 Type3 (Small) (thingy\oFireV.grp) +# 456 Flames5 Type3 (Small) (thingy\oFireV.grp) +# 457 Flames6 Type3 (Small) (thingy\oFireV.grp) +# 466 Flames2 Type1 (Small) (thingy\oFireC.grp) +# 467 Flames2 Type2 (Small) (thingy\oFireF.grp) +# 468 Flames7 Type3 (Small) (thingy\oFireV.grp) +# 469 Flames3 Type1 (Small) (thingy\oFireC.grp) +# 470 Flames3 Type2 (Small) (thingy\oFireF.grp) +# 471 Flames8 Type3 (Small) (thingy\oFireV.grp) +.headerstart +IsId 322 +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: +# 003 Skryrokor Death (zerg\zavDeath.grp) +.headerstart +IsId 2 +Type 0 +Init SkryrokorDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorDeathInit: + playfram 0x00 + wait 2 + imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 998 Maelstrom Hit (thingy\MaelHit.grp) +.headerstart +IsId 411 +Type 1 +Init MaelstromHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +MaelstromHitInit: + 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 + end diff --git a/mpq/scripts/iscript_zerg.bin b/mpq/scripts/iscript_zerg.bin new file mode 100644 index 0000000000000000000000000000000000000000..46c5fa397978323e9f7e1a81f07ada9eb781e529 GIT binary patch literal 34683 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ß zpY6PER`u*g{3Z!h>U*=lHyc*-Y#uB82(HxU^Vxmp#LJp9XZ{?P%e;5a*^8fvWB+}7 z&P(vM^&Fq`2Z{Y~4vzIk7OfD4u@yqWz1W#P8n( zg71rXUgXrGh3BEx_)C2v=iQ5NulzU8d-uHJ#l?#){1q=&>iBs)eKBV-;f?U8KDR7> z0^uHy-dfys$r${~1)|Q2an3+(TSDm399Z(qk`ws7CQzxSC3ttQvX>Hi^*Cqgnx(hk zw?p8urLW?rROe;&%TOEqr9KOn-G*?lj9)M7a()?p(29T!=O0~m6tVk(<7H%w`u(WU zcuGf)!%r!ETRsY_kkN#9!=L)xH~K#i&N4X0L+j1hqR#u#N?E(7CQ;9=Bt2#L=jU_o z`xWZsLA=h5J%8bCpnMvLJw6;Q`(0UK9|jxPQbzZvKE#_Ooc_dTYo7xMXL{CaZNv2q zmzjJMiQvAy!7Jm&F-ynp!f%7X?~mO-h97Ca0t}vvOG+l*ym9jo&h#7?H;wz@xc|gY zDFY9T!zaq>q(IV;SKn-SC05>R4O=hx`32DP7d!{3l)UOw-Io)aH8evLpXJLRUT(@G zAG?pAI6g79wR^#M`D|IO9nX)Sy*Azwxi|6(em@Y1b!6nu2zu~B!rxxlItSxhcj31X z&h#vE-}pz{Df5}}&r9q}`=w-!tYOdx&hwaC76juqZ|4#N#Rlf6&<`_z!B=Xb~4R46!1R6(jp*^)>aRe{$bBeP_CU=DoPD$(!zt3GV#~?mPN^r>~dy!G!Rst4&(U z|H+l*tA^vJl!2eG#JeK3VHF|MavV;mxMfxPy5GIZb-g zJ=%JnUiFN`KELXDV6WVl`o4~z@sk(*`o;UEuHSV0;&I>VccLHDvEBEtczMO|@Kegb zM^@mCwE9dSX_%MOKhEPNuDb}~)H&T&cU!$d;MwUM=6kuD7yEVI$m>Tg9ck(auNu4F zxXHs=s~=tc)anmcht@FW+iRw-ow;__n%CEyTytbi!P>?(JJ)`5?XTA|&ZJ@8K3jXq zx+n3wZQW1s!=BK(UjV+i4zCK7b&-%J0e#W+2>1B%or{iK^bUTQ{RBRK5%;5eTuewB z%EQQu+nO)VjoJJ!%xsJ1zh-*;y`%r#{XO?%2|RhXf9J|S_c!H{Up*`5RC;uCE8~5# zKEeH^1b36`CO>jkfAM*e>Hl!yy%8W)fbqcR!wdNmJ0$S?ZkUPj;INh35$@IZo{Qu1 zc&PG)%BL$$9Q*gR%J#;{vC4NqtJHgy@40En`|%UDPPh&~SgZo;C)C4z4Dj&@ER(XG zTUA%JsOn2q_+JABVyg-62LyUFuU6#`=z|~D)B>*_a5dbE1(Jqk-7ui7waHfpci;xx@|}#0yZFCI_J#2Hlk= z%_Dw|h%x1Dco^+<^gSMw54reR;_hCd9~O{|+Z5Px+O(dXfUuu{7w5*~y< z^?7XKpAqiWYj5?z>ZhweK+XnUUyU0-RYeUUX)I(gv&P5++p)9e+ck&qQ_8?=YH(?$ zdQ+fRr;Nd0AN*bXup$}!JwRtLuWNi+V7bhT$+fCFXDPy&-bPfn)!eQIQWJ8`hwxNsC8}rqG zja}7Cfk_g5cnu2lUlsZ!@(GC+Oh zl7Z^*C4w0)N^w)8WdHJt!*<@z zGP`!?i}u!?nZCU{kJ$I^d|e&c`KI0D$_jhTm3{49SN_hv=gPP3hp+5s|MAKUU+J#? z_KIB}+PCid$o}E3kL|;|D($y-{lzZc{a1VL?$c_;Ze?xQZCSf^+txk1eb&L<8P=iQ ze(U+&nbwirS=O=Lj-?wrSp|*RR-eYsR&8UhHK8%jn%UUJTHM&xTGd!!UDDXyx2v(( zcTZ!9?{H&p-%E`ZKE0>EHD*txHFHmuwRq0}Yuz5pw{=gob^D$g>%KiheFyi9uukk5 z?K`z+tS@`-g;tNfE3KJ(*H}01U27fOdyD^?GRde;D)`F`i+Sgru*n0NrpILvr`UUHgt6#K=uX)`*|C;x#4cDBo?z!e~ U)=SrXZWUa6+8S}~>C;O6KPNPtD*ylh literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_zerg.txt b/mpq/scripts/iscript_zerg.txt new file mode 100644 index 0000000..14c34fd --- /dev/null +++ b/mpq/scripts/iscript_zerg.txt @@ -0,0 +1,16253 @@ +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 000 Skryrokor (zerg\avenger.grp) +.headerstart +IsId 0 +Type 12 +Init SkryrokorInit +Death SkryrokorDeath +GndAttkInit [NONE] +AirAttkInit SkryrokorAirAttkInit +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt SkryrokorAirAttkInit +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle SkryrokorAirAttkToIdle +Unused2 [NONE] +Walking SkryrokorWalking +WalkingToIdle SkryrokorAirAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorInit: + imgul 1 0 42 # Skryrokor Shadow (zerg\avenger.grp) + playfram 0x00 + wait 2 +SkryrokorAirAttkToIdle: + playfram 0x00 + setvertpos 0 + wait 3 + playfram 0x11 + wait 3 + playfram 0x22 + setvertpos 1 + wait 3 + playfram 0x33 + setvertpos 2 + wait 3 + playfram 0x44 + setvertpos 1 + wait 3 + goto SkryrokorAirAttkToIdle + +SkryrokorDeath: + playsnd 776 # Zerg\AVENGER\ZAvDth00.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + end + +SkryrokorAirAttkInit: + playsnd 778 # Zerg\AVENGER\ZAvHit00.WAV + sprol 132 0 0 # Skryrokor Explosion (zerg\zavExplo.grp) + wait 1 + attackwith 2 + gotorepeatattk + goto SkryrokorAirAttkToIdle + +SkryrokorWalking: + setvertpos 0 +SkryrokorLocal01: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + goto SkryrokorLocal01 + +InfestedTerranWalkingToIdle: + playfram 0x00 +SkryrokorLocal00: + wait 125 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 003 Skryrokor Death (zerg\zavDeath.grp) +.headerstart +IsId 2 +Type 0 +Init SkryrokorDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorDeathInit: + playfram 0x00 + wait 2 + imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 004 Skryrokor Explosion (zerg\zavExplo.grp) +.headerstart +IsId 3 +Type 1 +Init SkryrokorExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorExplosionInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +Generic_Wait1End: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 005 Rilirokor (zerg\brood.grp) +.headerstart +IsId 4 +Type 12 +Init RilirokorInit +Death RilirokorDeath +GndAttkInit RilirokorGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt RilirokorGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle RilirokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking RilirokorWalking +WalkingToIdle RilirokorGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +RilirokorInit: + imgul 6 0 0 # Rilirokor Shadow (zerg\zbrShad.grp) +RilirokorGndAttkToIdle: + playfram 0x11 + wait 27 + playfram 0x22 + wait 27 + goto RilirokorGndAttkToIdle + +RilirokorDeath: + wait 1 + randcondjmp 51 RilirokorDeathFinal + wait 1 + waitrand 1 2 + goto RilirokorDeathFinal +RilirokorDeathFinal: + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV + lowsprul 134 0 0 # Rilirokor Remnants (zerg\zbrDeath.grp) + wait 1 + end + +RilirokorGndAttkInit: + playfram 0x77 + wait 1 + nobrkcodestart + playfram 0x88 + wait 1 + playfram 0x99 + attackmelee 1 786 # Zerg\BROODLING\ZBrAtt00.WAV + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + nobrkcodeend + gotorepeatattk + goto RilirokorGndAttkToIdle + +RilirokorWalking: + move 7 + wait 1 + playfram 0x11 + move 7 + wait 1 + playfram 0x22 + move 7 + wait 1 + playfram 0x33 + move 7 + wait 1 + playfram 0x44 + move 7 + wait 1 + playfram 0x55 + move 7 + wait 1 + playfram 0x66 + move 7 + wait 1 + playfram 0x00 + goto RilirokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 008 Infested Terran (zerg\bugguy.grp) +.headerstart +IsId 6 +Type 0 +Init InfestedTerranInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InfestedTerranInit: + imgul 9 0 0 # Infested Terran Shadow (zerg\zbgShad.grp) + goto InfestedTerranWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 010 Infested Terran Explosion (thingy\zbgExplo.grp) +.headerstart +IsId 7 +Type 1 +Init InfestedTerranExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +InfestedTerranExplosionInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 011 Zerg Cocoon (zerg\cocoon.grp) +.headerstart +IsId 8 +Type 14 +Init ZergCocoonInit +Death ZergCocoonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 ZergCocoonUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell ZergCocoonCastSpell +GndAttkToIdle ZergCocoonGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 ZergCocoonUnused2 +Walking ZergCocoonWalking +WalkingToIdle [NONE] +SpecialState1 ZergCocoonSpecialState1 +SpecialState2 ZergCocoonSpecialState2 +AlmostBuilt ZergCocoonAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ZergCocoonInit: + imgul 12 0 42 # Zerg Cocoon Shadow (zerg\cocoon.grp) + # Mutalisk mutate + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + waitrand 10 15 +ZergCocoonWalking: + 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 + goto ZergCocoonWalking + +ZergCocoonDeath: + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) + wait 1 + end + +ZergCocoonSpecialState1: + sigorder 4 + goto SkryrokorLocal00 + +ZergCocoonSpecialState2: + playfram 14 + wait 2 + playfram 13 + wait 2 + playfram 12 + wait 2 + playfram 11 + wait 2 + playfram 10 + wait 2 + playfram 9 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +ZergCocoonGndAttkToIdle: + wait 1 + goto ZergCocoonWalking + +ZergCocoonUnused1: + # unused + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + playfram 27 + wait 2 + playfram 28 + wait 2 + goto ZergCocoonWalking + +ZergCocoonUnused2: + # unused + playfram 27 + wait 2 + playfram 26 + wait 2 + playfram 25 + wait 2 + playfram 24 + wait 2 + playfram 23 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +ZergCocoonAlmostBuilt: + # Ovileth mutate + playfram 29 + wait 2 + playfram 30 + wait 2 + playfram 31 + wait 2 + playfram 32 + wait 2 + playfram 33 + wait 2 + playfram 34 + wait 2 + goto ZergCocoonWalking + +ZergCocoonCastSpell: + # Ovileth cancel + playfram 33 + wait 2 + playfram 32 + wait 2 + playfram 31 + wait 2 + playfram 30 + wait 2 + playfram 29 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 013 Isthrathaleth (zerg\defiler.grp) +.headerstart +IsId 9 +Type 26 +Init IsthrathalethInit +Death IsthrathalethDeath +GndAttkInit IsthrathalethGndAttkInit +AirAttkInit [NONE] +Unused1 IsthrathalethUnused1 +GndAttkRpt IsthrathalethGndAttkInit +AirAttkRpt [NONE] +CastSpell IsthrathalethCastSpell +GndAttkToIdle IsthrathalethGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 IsthrathalethUnused2 +Walking IsthrathalethWalking +WalkingToIdle IsthrathalethGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 IsthrathalethSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow IsthrathalethBurrow +UnBurrow IsthrathalethUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IsthrathalethInit: + imgul 14 0 3 # Isthrathaleth Shadow (zerg\defiler.grp) + playfram 0x00 + wait 2 +IsthrathalethGndAttkToIdle: + playfram 0x00 + wait 3 + playfram 0x11 + wait 3 + playfram 0x22 + wait 3 + playfram 0x11 + wait 3 + goto IsthrathalethGndAttkToIdle + +IsthrathalethDeath: + playsnd 815 # Zerg\DEFILER\ZDeDth00.WAV + setfldirect 0 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xaa + wait 2 + playfram 0xbb + wait 2 + lowsprul 139 0 0 # Isthrathaleth Remnants (zerg\zdeDeath.grp) + wait 1 + end + +IsthrathalethUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1180 + playfram 0xbb + wait 2 + playfram 0xaa + wait 2 + playfram 0x99 + wait 2 + playfram 0x88 + wait 2 + setfldirect 13 + nobrkcodeend + goto IsthrathalethGndAttkToIdle + +IsthrathalethGndAttkInit: + playsnd 110 # Bullet\zdeAtt00.wav + imgoluselo 518 0 0 # Geszithalor Attack Overlay (thingy\eplMuzz.grp) + attackwith 1 + gotorepeatattk + goto IsthrathalethGndAttkToIdle + +IsthrathalethCastSpell: + playfram 0x00 + nobrkcodestart + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + castspell + nobrkcodeend + gotorepeatattk + sigorder 2 + goto IsthrathalethGndAttkToIdle + +IsthrathalethUnused2: + playfram 0x00 + nobrkcodestart + sigorder 32 + playsnd 820 # Isthrathaleth pissed 02 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + castspell + nobrkcodeend + sigorder 2 + goto IsthrathalethGndAttkToIdle + +IsthrathalethWalking: + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + goto IsthrathalethWalking + +IsthrathalethSpecialState2: + playfram 0x110 + goto SkryrokorLocal00 + +IsthrathalethBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +IsthrathalethUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xff + wait 1 + playfram 0xee + wait 1 + playfram 0xdd + wait 1 + playfram 0xcc + wait 1 + sigorder 4 + goto IsthrathalethGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 017 Droleth (zerg\drone.grp) +.headerstart +IsId 11 +Type 26 +Init DrolethInit +Death DrolethDeath +GndAttkInit DrolethGndAttkInit +AirAttkInit [NONE] +Unused1 DrolethUnused1 +GndAttkRpt DrolethGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking DrolethWalking +WalkingToIdle InfestedTerranWalkingToIdle +SpecialState1 [NONE] +SpecialState2 DrolethSpecialState2 +AlmostBuilt DrolethAlmostBuilt +Built [NONE] +Landing DrolethWalking +LiftOff DrolethLiftOff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow DrolethBurrow +UnBurrow DrolethUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DrolethInit: + imgul 18 0 7 # Droleth Shadow (zerg\drone.grp) + goto InfestedTerranWalkingToIdle + +DrolethDeath: + playsnd 833 # Zerg\DRONE\ZDrDth00.WAV + setfldirect 0 + playfram 0xaa + wait 2 + playfram 0xbb + wait 2 + playfram 0xcc + wait 2 + playfram 0xdd + wait 2 + playfram 0xee + wait 2 + playfram 0xff + wait 2 + playfram 0x110 + wait 2 + playfram 0x121 + wait 2 + lowsprul 141 0 0 # Droleth Remnants (zerg\zdrDeath.grp) + wait 1 + end + +DrolethUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1169 # Droleth Revive 01 + playfram 0x121 + wait 2 + playfram 0x110 + wait 2 + playfram 0xff + wait 2 + playfram 0xee + wait 2 + playfram 0xdd + wait 2 + playfram 0xcc + wait 2 + playfram 0xbb + wait 2 + playfram 0xaa + wait 2 + setfldirect 13 + nobrkcodeend + goto InfestedTerranWalkingToIdle + +DrolethGndAttkInit: + setvertpos 0 + playsnd 2485 # Droleth Weaponfire 01 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + wait 1 + attackwith 1 + gotorepeatattk + goto SkryrokorLocal00 + +DrolethWalking: + setvertpos 0 +DrolethLocal00: + playfram 0x11 + move 4 + wait 1 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + move 4 + wait 1 + playfram 0x00 + move 4 + wait 1 + move 4 + wait 1 + goto DrolethLocal00 + +DrolethSpecialState2: + playfram 0x176 + goto SkryrokorLocal00 + +DrolethAlmostBuilt: + setvertpos 0 + wait 1 + waitrand 4 7 + playsndbtwn 1533 1535 # Droleth mining 01, 02, 03 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0x55 + goto DrolethAlmostBuilt + +DrolethLiftOff: + sigorder 16 + goto SkryrokorLocal00 + +DrolethBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + playfram 0x154 + wait 1 + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +DrolethUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x165 + wait 1 + playfram 0x154 + wait 1 + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x00 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 021 Egg (zerg\egg.grp) +.headerstart +IsId 13 +Type 13 +Init EggInit +Death EggDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 EggSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +EggInit: + imgul 22 0 -4 # Egg Shadow (zerg\zegShad.grp) + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 +EggLocal00: + 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 EggLocal00 + +EggDeath: + playsnd 830 # Zerg\Egg\ZEgDth00.WAV + lowsprul 143 0 0 # Egg Remnants (zerg\zegDeath.grp) + wait 1 + end + +EggSpecialState1: + wait 1 + nobrkcodestart + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 024 Egg Remnants (zerg\zegDeath.grp) +.headerstart +IsId 14 +Type 1 +Init EggRemnantsInit +Death EggRemnantsDeath +.headerend +# ----------------------------------------------------------------------------- # + +EggRemnantsInit: + 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 219 +EggRemnantsDeath: + wait 1 + playfram 10 + wait 255 + wait 24 + playfram 11 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 025 Geszithalor (zerg\guardian.grp) +.headerstart +IsId 15 +Type 12 +Init GeszithalorInit +Death GeszithalorDeath +GndAttkInit GeszithalorGndAttkInit +AirAttkInit GeszithalorGndAttkInit +Unused1 GeszithalorUnused1 +GndAttkRpt GeszithalorGndAttkInit +AirAttkRpt GeszithalorGndAttkInit +CastSpell [NONE] +GndAttkToIdle GeszithalorGndAttkToIdle +AirAttkToIdle GeszithalorGndAttkToIdle +Unused2 [NONE] +Walking GeszithalorWalking +WalkingToIdle GeszithalorGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GeszithalorInit: + imgul 26 0 42 # Geszithalor Shadow (zerg\guardian.grp) + playfram 0x00 + wait 2 +GeszithalorGndAttkToIdle: + 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 + goto GeszithalorGndAttkToIdle + +GeszithalorDeath: + playsnd 852 # Zerg\Geszithalor\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 186 0 42 # Zerg Building Rubble Small + wait 1 + end + +GeszithalorUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1175 # Geszithalor revive 01 + wait 8 + sprol 753 0 0 + wait 10 + setfldirect 14 + tmprmgraphicend + nobrkcodeend + goto GeszithalorGndAttkToIdle + +GeszithalorGndAttkInit: + playsnd 71 # Bullet\ZGuFir00.wav + imgoluselo 518 0 0 # Geszithalor Attack Overlay (thingy\eplMuzz.grp) + attackwith 1 + gotorepeatattk + goto GeszithalorGndAttkToIdle + +GeszithalorWalking: + 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 + goto GeszithalorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 027 Geszithalor Birth (zerg\cocoon.grp) +.headerstart +IsId 16 +Type 13 +Init GeszithalorBirthInit +Death ZergCocoonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GeszithalorBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +GeszithalorBirthInit: + imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) + goto ZergCocoonWalking + +GeszithalorBirthSpecialState1: + wait 1 + nobrkcodestart + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 028 Geszithalor Death (zerg\zguDeath.grp) +.headerstart +IsId 17 +Type 0 +Init GeszithalorDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GeszithalorDeathInit: + playfram 0x00 + wait 2 + imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 029 Hydralisk (zerg\hydra.grp) +.headerstart +IsId 18 +Type 26 +Init HydraliskInit +Death HydraliskDeath +GndAttkInit HydraliskGndAttkInit +AirAttkInit HydraliskGndAttkInit +Unused1 HydraliskUnused1 +GndAttkRpt HydraliskGndAttkRpt +AirAttkRpt HydraliskGndAttkRpt +CastSpell [NONE] +GndAttkToIdle HydraliskGndAttkToIdle +AirAttkToIdle HydraliskGndAttkToIdle +Unused2 [NONE] +Walking HydraliskWalking +WalkingToIdle HydraliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 HydraliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow HydraliskBurrow +UnBurrow HydraliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HydraliskInit: + imgul 30 0 0 # Hydralisk Shadow (zerg\zhyShad.grp) +HydraliskWalkingToIdle: + playfram 0x55 +HydraliskLocal00: + wait 62 + randcondjmp 25 HydraliskLocal01 + randcondjmp 128 HydraliskLocal02 + goto HydraliskLocal00 + +HydraliskLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 25 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto HydraliskWalkingToIdle + +HydraliskLocal02: + randcondjmp 128 HydraliskLocal03 + playfram 0x66 + wait 1 + turnccwise 1 + playfram 0x77 + wait 1 + turnccwise 1 + playfram 0x88 + wait 1 + turnccwise 1 + playfram 0x99 + wait 1 + turnccwise 1 + playfram 0xaa + wait 1 + turnccwise 1 + playfram 0xbb + wait 1 + turnccwise 1 + goto HydraliskWalkingToIdle + +HydraliskLocal03: + playfram 0x66 + wait 1 + turncwise 1 + playfram 0x77 + wait 1 + turncwise 1 + playfram 0x88 + wait 1 + turncwise 1 + playfram 0x99 + wait 1 + turncwise 1 + playfram 0xaa + wait 1 + turncwise 1 + playfram 0xbb + wait 1 + turncwise 1 + goto HydraliskWalkingToIdle + +HydraliskDeath: + playsnd 867 # Zerg\Hydra\ZHyDth00.WAV + setfldirect 0 + playfram 0x121 + wait 2 + playfram 290 + wait 2 + playfram 291 + wait 2 + playfram 292 + wait 2 + playfram 293 + wait 2 + playfram 294 + wait 2 + playfram 295 + wait 2 + playfram 296 + wait 2 + lowsprul 147 0 0 # Hydralisk Remnants (zerg\zhyDeath.grp) + wait 1 + end + +HydraliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 # Hydralisk Revive 01 + playfram 296 + wait 2 + playfram 295 + wait 2 + playfram 294 + wait 2 + playfram 293 + wait 2 + playfram 292 + wait 2 + playfram 291 + wait 2 + playfram 290 + wait 2 + playfram 0x121 + wait 2 + setfldirect 12 + nobrkcodeend + goto HydraliskWalkingToIdle + +HydraliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x22 + wait 1 +HydraliskGndAttkRpt: + wait 1 + playfram 0x44 + playsnd 64 # Bullet\SpoogHit.wav + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + attack + wait 1 + playfram 0x33 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +HydraliskGndAttkToIdle: + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto HydraliskWalkingToIdle + +HydraliskWalking: + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0x55 + goto HydraliskWalking + +HydraliskSpecialState2: + playfram 0x110 + goto SkryrokorLocal00 + +HydraliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +HydraliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xff + wait 1 + playfram 0xee + wait 1 + playfram 0xdd + wait 1 + playfram 0xcc + wait 1 + sigorder 4 + goto HydraliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 032 Hydralisk Remnants (zerg\zhyDeath.grp) +# 1237 Bactalisk Remnants (cm\zerg\bactalisk-death.grp) +# 1415 Axitrilisk Remnants (cm\shared\axitrilisk-death.grp) +.headerstart +IsId 19 +Type 1 +Init HydraliskRemnantsInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +HydraliskRemnantsInit: + playfram 0x00 + wait 255 + wait 24 + 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: +# 033 Infested Kerrigan (zerg\uikerr.grp) +.headerstart +IsId 20 +Type 26 +Init InfestedKerriganInit +Death InfestedKerriganDeath +GndAttkInit InfestedKerriganGndAttkInit +AirAttkInit InfestedKerriganGndAttkInit +Unused1 [NONE] +GndAttkRpt InfestedKerriganGndAttkRpt +AirAttkRpt InfestedKerriganGndAttkRpt +CastSpell InfestedKerriganCastSpell +GndAttkToIdle InfestedKerriganGndAttkToIdle +AirAttkToIdle InfestedKerriganGndAttkToIdle +Unused2 [NONE] +Walking InfestedKerriganWalking +WalkingToIdle InfestedKerriganWalkingToIdle +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 InfestedKerriganBurrow +UnBurrow InfestedKerriganUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InfestedKerriganInit: + imgul 34 0 0 # Infested Kerrigan Shadow (zerg\uikShad.grp) +InfestedKerriganWalkingToIdle: + playfram 0x88 +InfestedKerriganLocal00: + wait 62 + randcondjmp 128 InfestedKerriganLocal01 + goto InfestedKerriganLocal00 + +InfestedKerriganLocal01: + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + turnrand 3 + wait 1 + playfram 0x88 + wait 1 + goto InfestedKerriganWalkingToIdle + +InfestedKerriganDeath: + playsnd 967 # Zerg\ZERGKERRI\UKiDth00.wav + imgol 231 0 0 # Ghost Death (terran\ghost.grp) + wait 1 + end + +InfestedKerriganGndAttkInit: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 +InfestedKerriganGndAttkRpt: + nobrkcodestart + playsnd 112 # Bullet\UKiFir00.wav + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + attackmelee 1 0 # Protoss\Artanis\PAtYes03.wav + wait 3 + playfram 0x66 + wait 2 + playfram 0x55 + wait 2 + playfram 0x44 + wait 2 + playfram 0x33 + wait 2 + nobrkcodeend + gotorepeatattk + ignorerest +InfestedKerriganGndAttkToIdle: + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + playfram 0x00 + wait 2 + goto InfestedKerriganWalkingToIdle + +InfestedKerriganCastSpell: + playfram 0x00 + nobrkcodestart + 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 + castspell + sigorder 2 + wait 2 + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto SkryrokorLocal00 + +InfestedKerriganWalking: + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0xdd + move 4 + wait 1 + playfram 0xee + move 4 + wait 1 + playfram 0xff + move 4 + wait 1 + playfram 0x88 + goto InfestedKerriganWalking + +InfestedKerriganBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + sigorder 4 + goto SkryrokorLocal00 + +InfestedKerriganUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x88 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 036 Larva (zerg\larva.grp) +.headerstart +IsId 21 +Type 12 +Init LarvaInit +Death LarvaDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking LarvaWalking +WalkingToIdle LarvaInit +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LarvaInit: + playfram 0x00 # Frame set 0 + goto SkryrokorLocal00 + +LarvaDeath: + playsnd 849 # Zerg\Larva\ZLaDth00.WAV + lowsprul 150 0 0 # Larva Remnants (zerg\zlaDeath.grp) + wait 1 + end + +LarvaWalking: + move 2 + wait 1 + playfram 0x00 + move 2 + wait 1 + playfram 0x11 + move 2 + wait 1 + playfram 0x22 + move 2 + wait 1 + playfram 0x33 + move 2 + wait 1 + playfram 0x44 + goto LarvaWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 037 Larva Remnants (zerg\zlaDeath.grp) +.headerstart +IsId 22 +Type 1 +Init LarvaRemnantsInit +Death LarvaRemnantsDeath +.headerend +# ----------------------------------------------------------------------------- # + +LarvaRemnantsInit: + 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 227 +LarvaRemnantsDeath: + wait 1 + playfram 7 + wait 255 + wait 24 + playfram 8 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 038 Mutalisk (zerg\mutalid.grp) +.headerstart +IsId 23 +Type 12 +Init MutaliskInit +Death MutaliskDeath +GndAttkInit MutaliskGndAttkInit +AirAttkInit MutaliskGndAttkInit +Unused1 MutaliskUnused1 +GndAttkRpt MutaliskGndAttkInit +AirAttkRpt MutaliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle MutaliskGndAttkToIdle +AirAttkToIdle MutaliskGndAttkToIdle +Unused2 [NONE] +Walking MutaliskWalking +WalkingToIdle MutaliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MutaliskInit: + imgul 39 0 42 # Mutalisk Shadow (zerg\mutalid.grp) + playfram 0x00 + wait 2 +MutaliskGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + goto MutaliskGndAttkToIdle + +MutaliskDeath: + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +MutaliskUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1173 + wait 8 + sprol 753 0 0 # Zerg Air Death Explosion (Small) + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto MutaliskGndAttkToIdle + +MutaliskGndAttkInit: + playsnd 113 # Bullet\zmuFir00.wav + wait 1 + attackwith 1 + gotorepeatattk + goto MutaliskGndAttkToIdle + +MutaliskWalking: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + goto MutaliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 041 Mutalisk Death (zerg\zmuDeath.grp) +.headerstart +IsId 24 +Type 0 +Init MutaliskDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MutaliskDeathInit: + playfram 0x00 # Frame set 0 + wait 2 + imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 042 Ovileth (zerg\ovileth.grp) +.headerstart +IsId 25 +Type 12 +Init OvilethInit +Death OvilethDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 OvilethUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking OvilethWalking +WalkingToIdle OvilethWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvilethInit: + imgul 43 0 42 # Ovileth Shadow (zerg\ovileth.grp) + playfram 0x00 + goto OvilethLocal00 + +OvilethLocal00: + setvertpos 0 + wait 8 + setvertpos 0 + wait 8 + setvertpos -1 + wait 8 + setvertpos 0 + wait 8 + goto OvilethLocal00 + +OvilethDeath: + playsnd 910 # Zerg\OVERLORD\ZOvDth00.WAV + imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) + wait 1 + lowsprul 922 0 42 # Ovileth remains + wait 1 + end + +OvilethUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1170 + wait 8 + sprol 753 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + playfram 0x00 + nobrkcodeend + goto OvilethLocal00 + +OvilethWalking: + setvertpos 0 + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 +OvilethLocal01: + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + goto OvilethLocal01 + +OvilethWalkingToIdle: + playfram 0x33 + wait 2 + playfram 0x22 + wait 2 + playfram 0x11 + wait 2 + playfram 0x00 + wait 2 + goto OvilethLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 045 Ovileth Death (zerg\zovDeath.grp) +.headerstart +IsId 26 +Type 0 +Init OvilethDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvilethDeathInit: + playfram 0x00 + wait 2 + imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 046 Matraleth (zerg\queen.grp) +.headerstart +IsId 27 +Type 12 +Init MatralethInit +Death MatralethDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 MatralethUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell MatralethCastSpell +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 MatralethUnused2 +Walking MatralethWalking +WalkingToIdle MatralethGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatralethInit: + imgul 47 0 42 # Matraleth Shadow (zerg\queen.grp) + playfram 0x00 + wait 2 +MatralethGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + goto MatralethGndAttkToIdle + +MatralethDeath: + playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV + sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +MatralethUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1176 # Matraleth revive 01 + wait 8 + sprol 753 0 0 + wait 10 + setfldirect 15 + tmprmgraphicend + nobrkcodeend + goto MatralethGndAttkToIdle + +MatralethCastSpell: + setvertpos 0 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + playsnd 1276 # Blissful Embrace channel + wait 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 1 + playfram 0x66 + wait 1 + gotorepeatattk + goto MatralethGndAttkToIdle + +MatralethUnused2: + setvertpos 0 + playfram 0x55 + nobrkcodestart + sigorder 32 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + playsnd 920 # Matraleth cast 01 + wait 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 1 + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 1 + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x77 + wait 1 + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + castspell + sigorder 2 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + nobrkcodeend + gotorepeatattk + goto MatralethGndAttkToIdle + +MatralethWalking: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + goto MatralethWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 048 Matraleth Death (zerg\zquDeath.grp) +.headerstart +IsId 28 +Type 0 +Init MatralethDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatralethDeathInit: + playfram 0x00 + wait 2 + imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 050 Ultrokor (zerg\ultra.grp) +.headerstart +IsId 29 +Type 26 +Init UltrokorInit +Death UltrokorDeath +GndAttkInit UltrokorGndAttkInit +AirAttkInit [NONE] +Unused1 UltrokorUnused1 +GndAttkRpt UltrokorGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle UltrokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking UltrokorWalking +WalkingToIdle UltrokorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 UltrokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow UltrokorBurrow +UnBurrow UltrokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +UltrokorInit: + imgul 51 0 0 # Ultrokor Shadow (zerg\zulShad.grp) +UltrokorGndAttkToIdle: + playfram 0x99 + goto UltrokorLocal00 + +UltrokorLocal00: + wait 62 + randcondjmp 25 UltrokorLocal01 + randcondjmp 128 UltrokorLocal02 + goto UltrokorLocal00 + +UltrokorLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 10 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto UltrokorGndAttkToIdle + +UltrokorLocal02: + randcondjmp 128 UltrokorLocal03 + playfram 0x66 + wait 1 + turnccwise 1 + playfram 0x77 + wait 1 + turnccwise 1 + playfram 0x88 + wait 1 + turnccwise 1 + playfram 0x99 + wait 1 + turnccwise 1 + playfram 0xaa + wait 1 + turnccwise 1 + playfram 0xbb + wait 1 + turnccwise 1 + goto UltrokorGndAttkToIdle + +UltrokorLocal03: + playfram 0x66 + wait 1 + turncwise 1 + playfram 0x77 + wait 1 + turncwise 1 + playfram 0x88 + wait 1 + turncwise 1 + playfram 0x99 + wait 1 + turncwise 1 + playfram 0xaa + wait 1 + turncwise 1 + playfram 0xbb + wait 1 + turncwise 1 + goto UltrokorGndAttkToIdle + +UltrokorDeath: + playsnd 878 # Zerg\Ultra\ZUlDth00.WAV + setfldirect 0 + playfram 408 + wait 2 + playfram 409 + wait 2 + playfram 410 + wait 2 + playfram 411 + wait 2 + playfram 412 + wait 2 + playfram 413 + wait 2 + playfram 414 + wait 2 + playfram 415 + wait 2 + playfram 416 + wait 2 + playfram 417 + wait 2 + lowsprul 158 0 0 # Ultrokor Remnants (zerg\zulDeath.grp) + wait 1 + end + +UltrokorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1181 + playfram 417 + wait 2 + playfram 416 + wait 2 + playfram 415 + wait 2 + playfram 414 + wait 2 + playfram 413 + wait 2 + playfram 412 + wait 2 + playfram 411 + wait 2 + playfram 410 + wait 2 + playfram 409 + wait 2 + playfram 408 + wait 2 + setfldirect 14 + nobrkcodeend + goto UltrokorGndAttkToIdle + +UltrokorGndAttkInit: + playfram 0xee +UltrokorGndAttkRpt: + wait 1 + nobrkcodestart + playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV | Zerg\Ultra\zulAtt01.WAV | Zerg\Ultra\zulAtt02.WAV + wait 1 + playfram 0xdd + wait 1 + playfram 0xcc + attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 2 + playfram 0xbb + wait 2 + playfram 0xcc + wait 1 + playfram 0xdd + wait 2 + playfram 0xee + wait 1 + nobrkcodeend + gotorepeatattk + goto UltrokorGndAttkToIdle + +UltrokorWalking: + move 5 + wait 1 + playfram 0x00 + 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 + move 5 + wait 1 + playfram 0x99 + goto UltrokorWalking + +UltrokorSpecialState2: + playfram 0x187 + goto SkryrokorLocal00 + +UltrokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -18 15 # Burrowing Dust (thingy\bDust.grp) + playsnd 1093 # Zerg\LURKER\ZLuBurrw.wav + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 -18 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x154 + wait 1 + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 + playfram 0x187 + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 9 15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 21 # Burrowing Dust (thingy\bDust.grp) + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +UltrokorUnBurrow: + wait 1 + waitrand 1 2 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x176 + wait 1 + playfram 0x165 + wait 1 + playfram 0x154 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x121 + wait 1 + playfram 0x110 + wait 1 + playfram 0xff + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -15 9 # Burrowing Dust (thingy\bDust.grp) + wait 1 + sigorder 4 + goto UltrokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 054 Zethrokor (zerg\zergling.grp) +.headerstart +IsId 31 +Type 26 +Init ZethrokorInit +Death ZethrokorDeath +GndAttkInit ZethrokorGndAttkInit +AirAttkInit [NONE] +Unused1 ZethrokorUnused1 +GndAttkRpt ZethrokorGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle ZethrokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking ZethrokorWalking +WalkingToIdle ZethrokorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 ZethrokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ZethrokorBurrow +UnBurrow ZethrokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZethrokorInit: + imgul 55 0 -1 # Zethrokor Shadow (zerg\zzeShad.grp) +ZethrokorGndAttkToIdle: + playfram 0x55 + goto ZethrokorLocal00 + +ZethrokorLocal00: + wait 63 + randcondjmp 25 ZethrokorLocal01 + randcondjmp 128 ZethrokorLocal02 + goto ZethrokorLocal00 + +ZethrokorLocal01: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 12 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x00 + wait 1 + goto ZethrokorGndAttkToIdle + +ZethrokorLocal02: + randcondjmp 128 ZethrokorLocal03 + playfram 0x66 + wait 1 + turnccwise 1 + playfram 0x77 + wait 1 + turnccwise 1 + playfram 0x88 + wait 1 + turnccwise 1 + playfram 0x99 + wait 1 + turnccwise 1 + playfram 0xaa + wait 1 + turnccwise 1 + playfram 0xbb + wait 1 + turnccwise 1 + goto ZethrokorGndAttkToIdle + +ZethrokorLocal03: + playfram 0x66 + wait 1 + turncwise 1 + playfram 0x77 + wait 1 + turncwise 1 + playfram 0x88 + wait 1 + turncwise 1 + playfram 0x99 + wait 1 + turncwise 1 + playfram 0xaa + wait 1 + turncwise 1 + playfram 0xbb + wait 1 + turncwise 1 + goto ZethrokorGndAttkToIdle + +ZethrokorDeath: + playsnd 896 # Zerg\Zergling\ZZeDth00.WAV + setfldirect 0 + playfram 289 + wait 2 + playfram 290 + wait 2 + playfram 291 + wait 2 + playfram 292 + wait 2 + playfram 293 + wait 2 + playfram 294 + wait 2 + playfram 295 + wait 2 + lowsprul 160 0 0 # Zethrokor Remnants (zerg\zzeDeath.grp) + wait 1 + end + +ZethrokorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1171 + playfram 295 + wait 2 + playfram 294 + wait 2 + playfram 293 + wait 2 + playfram 292 + wait 2 + playfram 291 + wait 2 + playfram 290 + wait 2 + playfram 289 + wait 2 + setfldirect 10 + nobrkcodeend + goto ZethrokorGndAttkToIdle + +ZethrokorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x22 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x33 + wait 1 + nobrkcodeend + playfram 0x44 + wait 1 + gotorepeatattk + goto ZethrokorGndAttkToIdle + +ZethrokorWalking: + move 6 + wait 1 + playfram 0x66 + move 6 + wait 1 + playfram 0x77 + move 6 + wait 1 + playfram 0x88 + move 6 + wait 1 + playfram 0x99 + move 6 + wait 1 + playfram 0xaa + move 6 + wait 1 + playfram 0xbb + move 6 + wait 1 + playfram 0x55 + goto ZethrokorWalking + +ZethrokorSpecialState2: + playfram 0x110 + goto SkryrokorLocal00 + +ZethrokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +ZethrokorUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xff + wait 1 + playfram 0xee + wait 1 + playfram 0xdd + wait 1 + playfram 0xcc + wait 1 + sigorder 4 + goto ZethrokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 058 Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) +# 059 Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) +.headerstart +IsId 33 +Type 1 +Init ZergAirDeathExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergAirDeathExplosionInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 060 Zerg Building Explosion (thingy\zBldDthS.grp) +.headerstart +IsId 34 +Type 1 +Init ZergBuildingExplosionInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergBuildingExplosionInit: + playfram 0 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 002 Skryrokor Birth (zerg\zavBirth.grp) +# 015 Isthrathaleth Birth (zerg\zdebirth.grp) +# 019 Droleth Birth (zerg\zdrbirth.grp) +# 031 Hydralisk Birth (zerg\zhybirth.grp) +# 040 Mutalisk Birth (zerg\zmubirth.grp) +# 044 Ovileth Birth (zerg\zovBirth.grp) +# 049 Matraleth Birth (zerg\zquBirth.grp) +# 052 Ultrokor Birth (zerg\zulbirth.grp) +# 056 Zethrokor Birth (zerg\zzebirth.grp) +# 919 Lurker Birth (zerg\zLubirth.grp) +# 1244 Nathrokor Birth (cm\zerg\nathrokor-birth.grp) +# 1294 Quazilisk Birth (cm\zerg\quazilisk-birth.grp) +# 1297 Almaksalisk Birth (cm\zerg\almaksalisk-birth.grp) +# 1298 Zoryusthaleth Birth (cm\zerg\zoryusthaleth-birth.grp) +# 1365 Konvilisk Birth (cm\zerg\konvilisk-birth.grp) +# 1501 Sovroleth Birth (cm\zerg\sovroleth-birth.grp) +# 1506 Cohort Birth (cm\shared\cohort-birth.grp) +# 1507 Tarasque Birth (cm\shared\tarasque-birth.grp) +# 1510 Charlatan Birth (cm\shared\charlatan-birth.grp) +# 1511 Anticthon Birth (cm\shared\anticthon-birth.grp) +# 1514 Gosvileth Birth (cm\zerg\gosvileth-birth.grp) +# 1517 Empress Birth (cm\shared\empress-birth.grp) +# 1518 Othstoleth Birth (cm\zerg\othstoleth-birth.grp) +# 1525 Axitrilisk Birth (cm\shared\axitrilisk-birth.grp) +# 1553 Kagralisk Birth +.headerstart +IsId 36 +Type 13 +Init ZergBirthInit +Death EggDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 ZergBirthUnused +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ZergBirthInit: + playfram 0x00 + goto SkryrokorLocal00 + +ZergBirthUnused: + wait 1 + nobrkcodestart + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + sigorder 4 + lowsprul 319 0 0 # Egg Spawn (zerg\zegspawn.grp) + nobrkcodeend + goto SkryrokorLocal00 + +ZergBirthSpecialState1: + wait 1 + nobrkcodestart + 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 + sigorder 4 + lowsprul 319 0 0 # Egg Spawn (zerg\zegspawn.grp) + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 023 Egg Spawn (zerg\zegspawn.grp) +.headerstart +IsId 37 +Type 0 +Init EggSpawnInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EggSpawnInit: + playfram 0x00 + wait 100 + playfram 1 + wait 100 + playfram 2 + wait 100 + playfram 3 + wait 100 + playfram 4 + wait 100 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 061 Cerebrate (zerg\UCereb.grp) +.headerstart +IsId 38 +Type 20 +Init CerebrateInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CerebrateAlmostBuilt +Built CerebrateBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking CerebrateIsWorking +WorkingToIdle CerebrateIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CerebrateInit: + imgul 62 0 0 # Cerebrate Shadow (zerg\zucShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CerebrateDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +CerebrateAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +CerebrateBuilt: + playfram 0x00 + wait 2 +CerebrateIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 0x00 + wait 2 + goto CerebrateIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 063 Infested Ministry (terran\control.grp) +.headerstart +IsId 39 +Type 20 +Init InfestedMinistryInit +Death InfestedMinistryDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking SkryrokorLocal00 +WalkingToIdle InfestedMinistryBuilt +SpecialState1 InfestedMinistrySpecialState1 +SpecialState2 [NONE] +AlmostBuilt [NONE] +Built InfestedMinistryBuilt +Landing InfestedMinistryLanding +LiftOff InfestedMinistryLiftOff +IsWorking InfestedMinistryIsWorking +WorkingToIdle InfestedMinistryBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InfestedMinistryInit: + imgul 277 0 0 # Ministry Shadow (terran\tccShad.grp) + imgol 101 0 0 # Infested Ministry Overlay (zerg\Infest03.grp) +InfestedMinistryBuilt: + playfram 0x00 + goto SkryrokorLocal00 + +InfestedMinistryDeath: + playsnd 7 # Misc\ExploLrg.wav + imgol 334 0 0 # Building Explosion (Large) (thingy\tBangX.grp) + wait 3 + liftoffcondjmp LiftedTerranStructureDeath + lowsprul 274 0 0 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +LiftedTerranStructureDeath: + lowsprul 274 0 42 # Terran Building Rubble (Large) (thingy\RubbleL.grp) + wait 1 + end + +InfestedMinistrySpecialState1: + playfram 4 + goto SkryrokorLocal00 + +InfestedMinistryLanding: + nobrkcodestart + wait 18 + playsnd 472 # Misc\Land.WAV + playfram 4 + wait 5 + playfram 3 + wait 5 + playfram 2 + wait 5 + playfram 5 + wait 5 + playfram 0x00 + sigorder 16 + nobrkcodeend + goto InfestedMinistryBuilt + +InfestedMinistryLiftOff: + nobrkcodestart + playsnd 471 # Misc\LiftOff.WAV + playfram 5 + wait 5 + playfram 2 + wait 5 + playfram 3 + wait 5 + playfram 4 + sigorder 16 + nobrkcodeend + goto SkryrokorLocal00 + +InfestedMinistryIsWorking: + playfram 6 + wait 4 + playfram 0 + wait 1 + playfram 6 + wait 1 + playfram 0 + wait 1 + playfram 6 + wait 3 + playfram 0 + wait 1 + playfram 6 + wait 3 + playfram 0 + wait 1 + playfram 6 + wait 4 + playfram 0 + wait 1 + playfram 6 + wait 1 + playfram 0 + wait 1 + playfram 6 + wait 3 + playfram 0 + wait 1 + playfram 6 + wait 3 + playfram 0 + wait 1 + playfram 6 + wait 4 + playfram 0 + wait 1 + playfram 6 + wait 3 + playfram 0 + wait 1 + playfram 6 + wait 1 + playfram 0 + wait 1 + playfram 6 + wait 1 + playfram 0 + wait 1 + goto InfestedMinistryIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 064 Quazrok Pool (zerg\chrysal.grp) +.headerstart +IsId 40 +Type 20 +Init QuazethPoolInit +Death QuazethPoolDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt QuazethPoolAlmostBuilt +Built QuazethPoolBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking QuazethPoolIsWorking +WorkingToIdle QuazethPoolWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +QuazethPoolInit: + playfram 0x00 + imgul 65 0 0 # Quazrok Pool Shadow (zerg\zchShad.grp) + goto QuazethPoolWorkingToIdle + +QuazethPoolWorkingToIdle: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto QuazethPoolWorkingToIdle + +QuazethPoolDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +QuazethPoolAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto QuazethPoolBuilt + +QuazethPoolBuilt: + playfram 0x00 + wait 2 + goto QuazethPoolWorkingToIdle + +QuazethPoolIsWorking: + playfram 4 + wait 2 + playfram 5 + wait 3 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 3 + playfram 5 + wait 2 + playfram 6 + waitrand 2 3 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + waitrand 2 4 + goto QuazethPoolIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 066 Evolution Chamber (zerg\cerebrat.grp) +.headerstart +IsId 41 +Type 20 +Init QuazethPoolInit +Death QuazethPoolDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt QuazethPoolAlmostBuilt +Built QuazethPoolBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking QuazethPoolIsWorking +WorkingToIdle QuazethPoolWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 068 Cagrant Cesiant (zerg\cagrant-cesiant.grp) +.headerstart +IsId 42 +Type 20 +Init CagrantCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CagrantCesiantAlmostBuilt +Built CagrantCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CagrantCesiantInit: + imgul 69 0 0 # Cagrant Cesiant Shadow (zerg\cagrant-cesiant-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +CagrantCesiantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +CagrantCesiantBuilt: + playfram 0x00 + wait 2 +CagrantCesiantLocal00: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 0x00 + wait 2 + goto CagrantCesiantLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 070 Hachirosk (zerg\hatchery.grp) +.headerstart +IsId 43 +Type 20 +Init HachiroskInit +Death HachiroskDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt HachiroskAlmostBuilt +Built HachiroskBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking HachiroskIsWorking +WorkingToIdle HachiroskWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HachiroskInit: + imgul 71 0 0 # Hachirosk Shadow (zerg\zhaShad.grp) + playfram 0x00 + goto HachiroskWorkingToIdle + +HachiroskWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto HachiroskWorkingToIdle + +HachiroskDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 1 + end + +HachiroskAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +HachiroskBuilt: + playfram 0x00 + wait 2 + goto HachiroskWorkingToIdle + +HachiroskIsWorking: + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 3 + playfram 9 + wait 2 + playfram 10 + wait 3 + playfram 11 + wait 3 + playfram 10 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 3 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 7 + waitrand 2 3 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 3 + playfram 11 + waitrand 2 3 + playfram 10 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + waitrand 2 4 + goto HachiroskIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 072 Gathtelosk (zerg\Hive.grp) +.headerstart +IsId 44 +Type 20 +Init GathteloskInit +Death GathteloskDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt GathteloskAlmostBuilt +Built GathteloskBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking GathteloskIsWorking +WorkingToIdle GathteloskWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GathteloskInit: + imgul 73 0 0 # Gathtelosk Shadow (zerg\zhiShad.grp) + playfram 0x00 + goto GathteloskWorkingToIdle + +GathteloskWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto GathteloskWorkingToIdle + +GathteloskDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 1 + end + +GathteloskAlmostBuilt: + imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) +GathteloskBuilt: + playfram 0x00 + wait 2 + goto GathteloskWorkingToIdle + +GathteloskIsWorking: + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 2 + playfram 8 + waitrand 2 3 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 7 + waitrand 2 3 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + waitrand 2 4 + goto GathteloskIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 074 Caphrolosk (zerg\lair.grp) +.headerstart +IsId 45 +Type 20 +Init CaphroloskInit +Death CaphroloskDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CaphroloskAlmostBuilt +Built CaphroloskBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking CaphroloskIsWorking +WorkingToIdle CaphroloskWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CaphroloskInit: + imgul 75 0 0 # Caphrolosk Shadow (zerg\zlrShad.grp) + playfram 0x00 + goto CaphroloskWorkingToIdle + +CaphroloskWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto CaphroloskWorkingToIdle + +CaphroloskDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 1 + end + +CaphroloskAlmostBuilt: + imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) +CaphroloskBuilt: + playfram 0x00 + wait 2 + goto CaphroloskWorkingToIdle + +CaphroloskIsWorking: + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 2 + playfram 8 + waitrand 2 3 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 7 + waitrand 2 3 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + waitrand 2 4 + goto CaphroloskIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 076 Surkith Cesiant (zerg\Lurker.grp) +.headerstart +IsId 46 +Type 20 +Init SurkithCesiantInit +Death CerebrateDeath +GndAttkInit SurkithCesiantGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt SurkithCesiantGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SurkithCesiantGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SurkithCesiantAlmostBuilt +Built SurkithCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SurkithCesiantIsWorking +WorkingToIdle SurkithCesiantIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SurkithCesiantInit: + playfram 0x00 + imgul 77 0 0 # Surkith Cesiant Shadow (zerg\zluShad.grp) + goto SkryrokorLocal00 + +SurkithCesiantGndAttkInit: + playsnd 78 # Bullet\ZLuFir00.wav + trgtarccondjmp 74 42 SurkithCesiantLocal00 + trgtarccondjmp 159 42 SurkithCesiantLocal01 + nobrkcodestart + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 33 + wait 1 + attackwith 1 + wait 6 + playfram 32 + wait 1 + playfram 31 + wait 1 + playfram 30 + wait 1 + playfram 29 + wait 1 + playfram 28 + wait 1 + playfram 27 + wait 1 + playfram 26 + wait 1 + playfram 25 + wait 1 + playfram 24 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +SurkithCesiantGndAttkToIdle: + goto SurkithCesiantIsWorking + +SurkithCesiantIsWorking: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto SurkithCesiantIsWorking + +SurkithCesiantLocal00: + nobrkcodestart + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 13 + wait 1 + attackwith 1 + wait 6 + playfram 12 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SurkithCesiantIsWorking + +SurkithCesiantLocal01: + nobrkcodestart + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 0x11 + wait 1 + playfram 18 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 23 + wait 1 + attackwith 1 + wait 6 + playfram 23 + wait 1 + playfram 22 + wait 1 + playfram 21 + wait 1 + playfram 20 + wait 1 + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 0x11 + wait 1 + playfram 16 + wait 1 + playfram 15 + wait 1 + playfram 14 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SurkithCesiantIsWorking + +SurkithCesiantAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +SurkithCesiantBuilt: + playfram 0x00 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto SurkithCesiantIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 078 Mature Chrysalis (neutral\kerrChry.grp) +.headerstart +IsId 47 +Type 20 +Init MatureChrysalisInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt MatureChrysalisAlmostBuilt +Built MatureChrysalisBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking MatureChrysalisIsWorking +WorkingToIdle MatureChrysalisIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatureChrysalisInit: + playfram 0x00 + imgul 79 0 0 # Mature Chrysalis Shadow (neutral\nkoShad.grp) + goto SkryrokorLocal00 + +MatureChrysalisAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto MatureChrysalisBuilt + +MatureChrysalisBuilt: + playfram 0x00 + wait 2 +MatureChrysalisIsWorking: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + goto MatureChrysalisIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 080 Tosvrol Haunt (zerg\MutaCham.grp) +.headerstart +IsId 48 +Type 20 +Init TosvrolHauntInit +Death TosvrolHauntDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TosvrolHauntAlmostBuilt +Built TosvrolHauntBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking TosvrolHauntIsWorking +WorkingToIdle TosvrolHauntWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TosvrolHauntInit: + imgul 81 0 0 # Tosvrol Haunt Shadow (zerg\zmcShad.grp) + playfram 0x00 + goto TosvrolHauntWorkingToIdle + +TosvrolHauntWorkingToIdle: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto TosvrolHauntWorkingToIdle + +TosvrolHauntDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +TosvrolHauntAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +TosvrolHauntBuilt: + playfram 0x00 + wait 2 + goto TosvrolHauntWorkingToIdle + +TosvrolHauntIsWorking: + playfram 4 + wait 2 + playfram 5 + wait 4 + playfram 6 + wait 3 + playfram 7 + wait 4 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 3 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 3 + waitrand 2 3 + goto TosvrolHauntIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 082 ElthisthMound (zerg\Mutapit.grp) +.headerstart +IsId 49 +Type 20 +Init ElthisthMoundInit +Death ElthisthMoundDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ElthisthMoundAlmostBuilt +Built ElthisthMoundBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ElthisthMoundIsWorking +WorkingToIdle ElthisthMoundWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ElthisthMoundInit: + imgul 83 0 0 # Elthisth Mound Shadow (zerg\zmhShad.grp) + playfram 0x00 + goto ElthisthMoundWorkingToIdle + +ElthisthMoundWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 3 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 3 + goto ElthisthMoundWorkingToIdle + +ElthisthMoundDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +ElthisthMoundAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +ElthisthMoundBuilt: + playfram 0x00 + wait 2 + goto ElthisthMoundWorkingToIdle + +ElthisthMoundIsWorking: + playfram 4 + wait 2 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 3 + playfram 5 + wait 2 + goto ElthisthMoundIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 084 Matravil Nest (zerg\nest.grp) +.headerstart +IsId 50 +Type 20 +Init MatravilNestInit +Death MatravilNestDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt MatravilNestAlmostBuilt +Built MatravilNestBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking MatravilNestIsWorking +WorkingToIdle MatravilNestWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatravilNestInit: + imgul 85 0 0 # Matravil Nest Shadow (zerg\zneShad.grp) + playfram 0x00 + goto MatravilNestWorkingToIdle + +MatravilNestWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 4 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto MatravilNestWorkingToIdle + +MatravilNestDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +MatravilNestAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +MatravilNestBuilt: + playfram 0x00 + wait 2 + goto MatravilNestWorkingToIdle + +MatravilNestIsWorking: + playfram 4 + wait 1 + waitrand 1 2 + playfram 5 + wait 2 + playfram 6 + wait 4 + playfram 7 + wait 3 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + waitrand 2 3 + playfram 5 + wait 2 + playfram 6 + wait 3 + playfram 7 + waitrand 2 4 + playfram 5 + waitrand 2 3 + goto MatravilNestIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 086 Nydus Cesiant (zerg\NydusPit.grp) +.headerstart +IsId 51 +Type 20 +Init NydusCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt NydusCesiantAlmostBuilt +Built NydusCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking NydusCesiantIsWorking +WorkingToIdle NydusCesiantIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NydusCesiantInit: + playfram 0x00 + imgul 87 0 0 # Nydus Cesiant Shadow (zerg\znyShad.grp) + goto SkryrokorLocal00 + +NydusCesiantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +NydusCesiantBuilt: + playfram 0x00 + wait 2 +NydusCesiantIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto NydusCesiantIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 088 Overmind (with shell) (zerg\Over1.grp) +.headerstart +IsId 52 +Type 20 +Init OvermindShellInit +Death OvermindShellDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt OvermindShellAlmostBuilt +Built OvermindShellBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking OvermindShellIsWorking +WorkingToIdle OvermindShellIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvermindShellInit: + imgul 1257 0 0 # Overmind (with shell) Shadow (cm\zerg\overmind-shell-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +OvermindShellDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 7 + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 7 + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 3 + end + +OvermindShellAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto OvermindShellBuilt + +OvermindShellBuilt: + wait 2 +OvermindShellIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + wait 1 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto OvermindShellIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 089 Overmind Remnants (zerg\Over2.grp) +.headerstart +IsId 53 +Type 1 +Init OvermindRemnantsInit +Death OvermindRemnantsDeath +.headerend +# ----------------------------------------------------------------------------- # + +OvermindRemnantsInit: + playfram 0x00 + wait 63 + goto OvermindRemnantsDeath + +OvermindRemnantsDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 090 Overmind (without shell) (zerg\Over2.grp) +.headerstart +IsId 54 +Type 20 +Init OvermindNoShellInit +Death OvermindNoShellDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt OvermindNoShellAlmostBuilt +Built OvermindNoShellBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking OvermindNoShellIsWorking +WorkingToIdle OvermindNoShellIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvermindNoShellInit: + imgul 1234 0 0 # Overmind (without shell) Shadow (cm\zerg\overmind-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +OvermindNoShellDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 187 0 0 # Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) + wait 1 + end + +OvermindNoShellAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto OvermindNoShellBuilt + +OvermindNoShellBuilt: + waitrand 1 3 +OvermindNoShellIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + wait 1 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto OvermindNoShellIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 091 Ultrok Cavern (zerg\RCluster.grp) +.headerstart +IsId 55 +Type 20 +Init UltrokCavernInit +Death UltrokCavernDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt UltrokCavernAlmostBuilt +Built UltrokCavernBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking UltrokCavernIsWorking +WorkingToIdle UltrokCavernWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +UltrokCavernInit: + imgul 92 0 0 # Ultrok Cavern Shadow (zerg\zrcShad.grp) + playfram 0x00 + goto UltrokCavernWorkingToIdle + +UltrokCavernWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 4 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto UltrokCavernWorkingToIdle + +UltrokCavernDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +UltrokCavernAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +UltrokCavernBuilt: + playfram 0x00 + wait 2 + goto UltrokCavernWorkingToIdle + +UltrokCavernIsWorking: + playfram 3 + wait 2 + playfram 4 + wait 3 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 3 + playfram 4 + waitrand 2 3 + goto UltrokCavernIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 093 Excisant (zerg\Extract.grp) +.headerstart +IsId 56 +Type 20 +Init ExcisantInit +Death ExcisantDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ExcisantAlmostBuilt +Built ExcisantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ExcisantIsWorking +WorkingToIdle ExcisantIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ExcisantInit: + imgul 94 0 0 # Excisant Shadow (zerg\zreShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +ExcisantDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + sprol 185 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + end + +ExcisantAlmostBuilt: + imgol 109 0 0 # Zerg Building Spawn (Large) (zerg\zSpawn03.grp) +ExcisantBuilt: + playfram 0x00 + wait 2 +ExcisantIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + creategasoverlays 0 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto ExcisantIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 095 Hydrith Den (zerg\Snakey.grp) +.headerstart +IsId 57 +Type 20 +Init HydrithDenInit +Death HydrithDenDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt HydrithDenAlmostBuilt +Built HydrithDenBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking HydrithDenIsWorking +WorkingToIdle HydrithDenWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +HydrithDenInit: + imgul 96 0 0 # Hydrith Den Shadow (zerg\zsbShad.grp) + playfram 0x00 + goto HydrithDenWorkingToIdle + +HydrithDenWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 4 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto HydrithDenWorkingToIdle + +HydrithDenDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +HydrithDenAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +HydrithDenBuilt: + playfram 0x00 + wait 2 + goto HydrithDenWorkingToIdle + +HydrithDenIsWorking: + playfram 3 + wait 1 + waitrand 1 2 + playfram 4 + wait 2 + playfram 5 + wait 3 + playfram 6 + waitrand 3 4 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 5 + waitrand 2 3 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + waitrand 2 3 + goto HydrithDenIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 097 Mutath Spire (zerg\spire.grp) +.headerstart +IsId 58 +Type 20 +Init MutathSpireInit +Death MutathSpireDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt MutathSpireAlmostBuilt +Built MutathSpireBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking MutathSpireIsWorking +WorkingToIdle MutathSpireWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MutathSpireInit: + imgul 98 0 0 # Spire Shadow (zerg\zspShad.grp) + playfram 0x00 + goto MutathSpireWorkingToIdle + +MutathSpireWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 4 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto MutathSpireWorkingToIdle + +MutathSpireDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +MutathSpireAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +MutathSpireBuilt: + playfram 0x00 + wait 2 + goto MutathSpireWorkingToIdle + +MutathSpireIsWorking: + playfram 2 + wait 2 + playfram 3 + wait 3 + playfram 4 + wait 4 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + waitrand 2 3 + goto MutathSpireIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 099 Spraith Cesiant (zerg\SCesiant.grp) +.headerstart +IsId 59 +Type 20 +Init SpraithCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit SpraithCesiantAirAttkInit +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt SpraithCesiantAirAttkInit +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle SpraithCesiantAirAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SpraithCesiantAlmostBuilt +Built SpraithCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SpraithCesiantBuilt +WorkingToIdle SpraithCesiantBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpraithCesiantInit: + imgul 100 0 0 # Spraith Cesiant Shadow (zerg\zscShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +SpraithCesiantAirAttkInit: + playfram 4 + wait 1 + playfram 5 + attackwith 2 + playsndbtwn 2155 2157 # Spraith Cesiant weaponfire 01, 02, 03 + wait 2 + playfram 6 + wait 1 + playfram 7 + wait 2 + gotorepeatattk + ignorerest + goto SpraithCesiantAirAttkToIdle + +SpraithCesiantAirAttkToIdle: + playfram 4 + wait 2 + goto SpraithCesiantBuilt + +SpraithCesiantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 +SpraithCesiantBuilt: + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 0x00 + wait 2 + goto SpraithCesiantBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 101 Infested Ministry Overlay (zerg\Infest03.grp) +# 1487 Infested Overlay (Small) (cm\zerg\infested-small.grp) +# 1488 Infested Overlay (Medium) (cm\zerg\infested-medium.grp) +# 1489 Infested Overlay (Large) (cm\zerg\infested-large.grp) +.headerstart +IsId 60 +Type 1 +Init InfestedOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +InfestedOverlayInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + goto InfestedOverlayInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 105 Zerg Construction (Small) (zerg\ZBuild.grp) +.headerstart +IsId 61 +Type 15 +Init ZergConstruction_Small_Init +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergConstruction_Small_SpecialState1 +SpecialState2 ZergConstruction_Small_SpecialState1 +AlmostBuilt ZergConstruction_Small_AlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ZergConstruction_Small_Init: + imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +ZergConstruction_Small_SpecialState1: + 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 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + goto ZergConstruction_Small_SpecialState1 + +ZergConstruction_Small_AlmostBuilt: + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 104 Zerg Construction (Medium) (zerg\ZBuild.grp) +.headerstart +IsId 62 +Type 15 +Init ZergConstruction_Medium_Init +Death ZergConstruction_Medium_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergConstruction_Medium_SpecialState1 +SpecialState2 ZergConstruction_Medium_SpecialState1 +AlmostBuilt ZergConstruction_Medium_AlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ZergConstruction_Medium_Init: + imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +ZergConstruction_Medium_Local00: + 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 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + goto ZergConstruction_Medium_Local00 + +ZergConstruction_Medium_Death: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +ZergConstruction_Medium_SpecialState1: + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 0x11 + wait 2 + playfram 16 + wait 2 + playfram 15 + wait 2 + playfram 14 + wait 2 + goto ZergConstruction_Medium_SpecialState1 + +ZergConstruction_Medium_AlmostBuilt: + sigorder 32 + playfram 19 + wait 2 + playfram 20 + wait 2 + playfram 21 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 103 Zerg Building Morph (zerg\ZBuild.grp) +.headerstart +IsId 63 +Type 15 +Init ZergBuildingMorphInit +Death OvermindRemnantsDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergBuildingMorphSpecialState1 +SpecialState2 ZergBuildingMorphSpecialState2 +AlmostBuilt ZergBuildingMorphAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ZergBuildingMorphInit: + imgul 106 0 0 # Zerg Building Construction Shadow (zerg\ZBShad.grp) + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 +ZergBuildingMorphLocal00: + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + goto ZergBuildingMorphLocal00 + +ZergBuildingMorphSpecialState1: + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + wait 2 + playfram 0x11 + wait 2 + playfram 16 + wait 2 + playfram 15 + wait 2 + playfram 14 + wait 2 + goto ZergBuildingMorphSpecialState1 + +ZergBuildingMorphSpecialState2: + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + playfram 27 + wait 2 + playfram 26 + wait 2 + playfram 25 + wait 2 + playfram 24 + wait 2 + playfram 23 + wait 2 + goto ZergBuildingMorphSpecialState2 + +ZergBuildingMorphAlmostBuilt: + playfram 28 + wait 2 + playfram 29 + wait 2 + playfram 30 + wait 2 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 102 Zerg Construction (Large) (zerg\ZBuild.grp) +.headerstart +IsId 64 +Type 15 +Init ZergConstruction_Large_Init +Death ZergConstruction_Large_Death +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergBuildingMorphSpecialState2 +SpecialState2 ZergBuildingMorphSpecialState2 +AlmostBuilt ZergBuildingMorphAlmostBuilt +.headerend +# ----------------------------------------------------------------------------- # + +ZergConstruction_Large_Init: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + goto ZergBuildingMorphSpecialState2 + +ZergConstruction_Large_Death: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + sprol 185 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 107 Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +# 108 Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +# 109 Zerg Building Spawn (Large) (zerg\zSpawn03.grp) +.headerstart +IsId 65 +Type 1 +Init ZergBuildingSpawnInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergBuildingSpawnInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 110 Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) +# 111 Zerg Building Rubble (Large) (thingy\ZRubbleL.grp) +# 216 Protoss Building Rubble (Small) (thingy\PRubbleS.grp) +# 217 Protoss Building Rubble (Large) (thingy\PRubbleL.grp) +# 335 Terran Building Rubble (Small) (thingy\RubbleS.grp) +# 336 Terran Building Rubble (Large) (thingy\RubbleL.grp) +# 1707 Terran Unit Rubble (Medium) (cm\terran\rubble-unit-medium.grp) +# 1708 Terran Unit Rubble (Small) (cm\terran\rubble-unit-small.grp) +# 1709 Protoss Unit Rubble (Medium) (cm\protoss\rubble-unit-medium.grp) +# 1710 Protoss Unit Rubble (Small) (cm\protoss\rubble-unit-small.grp) +# 1711 Zerg Unit Rubble (Medium) (cm\zerg\rubble-unit-medium.grp) +# 1712 Zerg Unit Rubble (Small) (cm\zerg\rubble-unit-small.grp) +# 1713 Zerg Unit Rubble (Tiny) (cm\zerg\rubble-unit-tiny.grp) +.headerstart +IsId 145 +Type 1 +Init BuildingRubbleHeaderInit +Death BuildingRubbleHeaderDeath +.headerend +# ----------------------------------------------------------------------------- # + +BuildingRubbleHeaderInit: + playfram 0x00 + wait 239 +BuildingRubbleHeaderDeath: + 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: +# 393 Vorvrokor (cm\zerg\vorvrokor.grp) +.headerstart +IsId 220 +Type 26 +Init VorvrokorInit +Death VorvrokorDeath +GndAttkInit VorvrokorGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt VorvrokorGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle VorvrokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking VorvrokorWalking +WalkingToIdle VorvrokorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 VorvrokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow VorvrokorBurrow +UnBurrow VorvrokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VorvrokorInit: + imgul 1772 -1 -5 # Vorvrokor Shadow (cm\zerg\vorvrokor-shadow.grp) +VorvrokorGndAttkToIdle: + playfram 0x55 + goto ZethrokorLocal00 + +VorvrokorDeath: + playsnd 1160 # Vorvrokor death 01 + setfldirect 0 + playfram 0x121 + wait 2 + playfram 290 + wait 2 + playfram 291 + wait 2 + playfram 292 + wait 2 + playfram 293 + wait 2 + playfram 294 + wait 2 + playfram 295 + wait 2 + lowsprul 942 0 0 # Vorvrokor Remnants (cm\zerg\vorvrokor-death.grp) + wait 1 + end + +VorvrokorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + nobrkcodeend + gotorepeatattk + goto VorvrokorGndAttkToIdle + +VorvrokorWalking: + move 7 + wait 1 + playfram 0x66 + move 7 + wait 1 + playfram 0x77 + move 7 + wait 1 + playfram 0x88 + move 7 + wait 1 + playfram 0x99 + move 7 + wait 1 + playfram 0xaa + move 7 + wait 1 + playfram 0xbb + move 7 + wait 1 + playfram 0x55 + goto VorvrokorWalking + +VorvrokorSpecialState2: + playfram 0x110 + goto SkryrokorLocal00 + +VorvrokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +VorvrokorUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xff + wait 1 + playfram 0xee + wait 1 + playfram 0xdd + wait 1 + playfram 0xcc + wait 1 + sigorder 4 + goto VorvrokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 505 Plasma Drip Hit (Unused) (bullet\PDripHit.grp) +.headerstart +IsId 255 +Type 0 +Init Unknown255Init +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown255Init: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 504 Needle Spine Hit (bullet\zspark.grp) +.headerstart +IsId 256 +Type 2 +Init NeedleSpinesHitInit +Death NeedleSpinesHitDeath +GndAttkInit NeedleSpinesHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NeedleSpinesHitInit: + wait 1 + sigorder 1 + wait 1 +NeedleSpinesHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 507 Venom (Unused Zerg Weapon) (thingy\ep2Fire.grp) +.headerstart +IsId 257 +Type 13 +Init Venom_Unused_Init +Death Venom_Unused_Death +GndAttkInit SkryrokorLocal00 +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 Venom_Unused_SpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +Venom_Unused_Init: + playfram 0x00 + wait 1 + sigorder 1 + goto SkryrokorLocal00 + +Venom_Unused_Death: + domissiledmg + playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 + imgol 508 0 0 # Venom Hit (Unused) (thingy\etgHit.grp) + wait 1 + end + +Venom_Unused_SpecialState1: + playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 506 Surkith Cesiant Tentacle (bullet\Tentacle.grp) +.headerstart +IsId 258 +Type 2 +Init SubterraneanTentacleInit +Death SubterraneanTentacleDeath +GndAttkInit SubterraneanTentacleDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SubterraneanTentacleInit: + playsnd 79 # Bullet\ZLuHit00.wav + wait 1 + sigorder 1 + wait 1 +SubterraneanTentacleDeath: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + domissiledmg + wait 2 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 508 Venom Hit (Unused) (thingy\etgHit.grp) +.headerstart +IsId 259 +Type 1 +Init VenomHit_Unused_Init +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +VenomHit_Unused_Init: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 509 Acid Spore (thingy\ep3Shot.grp) +.headerstart +IsId 260 +Type 2 +Init AcidSporeInit +Death AcidSporeDeath +GndAttkInit AcidSporeGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AcidSporeInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +AcidSporeGndAttkInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + goto AcidSporeGndAttkInit + +AcidSporeDeath: + domissiledmg + playsnd 72 # Bullet\ZGuHit00.wav + imgol 510 0 0 # Acid Spore Hit (thingy\ep3Burst.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 510 Acid Spore Hit (thingy\ep3Burst.grp) +.headerstart +IsId 261 +Type 1 +Init AcidSporeHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSporeHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 518 Geszithalor Attack Overlay (thingy\eplMuzz.grp) +.headerstart +IsId 262 +Type 1 +Init GeszithalorAttackOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GeszithalorAttackOverlayInit: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 511 Glave Wurm (bullet\spores.grp) +.headerstart +IsId 264 +Type 13 +Init GlaveWurmInit +Death GlaveWurmDeath +GndAttkInit GlaveWurmGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GlaveWurmSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +GlaveWurmInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +GlaveWurmGndAttkInit: + sprol 367 0 0 # Glave Wurm Trail + playfram 0x00 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 1 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 2 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 3 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 4 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 5 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 6 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 7 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 8 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + playfram 9 + wait 1 + goto GlaveWurmGndAttkInit + +GlaveWurmDeath: + playsnd 93 # Bullet\ZQuHit02.wav + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +GlaveWurmSpecialState1: + playsndbtwn 91 92 # Bullet\ZQuHit00.wav | Bullet\ZQuHit01.wav + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto GlaveWurmGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 512 Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) +.headerstart +IsId 265 +Type 1 +Init GlaveWurmHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GlaveWurmHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 515 Seeker Spores (bullet\Spore2.grp) +.headerstart +IsId 266 +Type 2 +Init SeekerSporesInit +Death SeekerSporesDeath +GndAttkInit SeekerSporesGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SeekerSporesInit: + playfram 0x00 + playsnd 78 # Bullet\ZLuFir00.wav + wait 1 + sigorder 1 + wait 1 +SeekerSporesGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + goto SeekerSporesGndAttkInit + +SeekerSporesDeath: + playsnd 79 # Bullet\ZLuHit00.wav + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 516 Matraleth Spell Holder (bullet\parasite.grp) +.headerstart +IsId 267 +Type 2 +Init MatralethSpellHolderInit +Death MatralethSpellHolderDeath +GndAttkInit MatralethSpellHolderGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MatralethSpellHolderInit: + playfram 0x00 + wait 1 + sigorder 1 +MatralethSpellHolderGndAttkInit: + goto SkryrokorLocal00 + +MatralethSpellHolderDeath: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 513 Glave Wurm Trail (thingy\SpoTrail.grp) +.headerstart +IsId 269 +Type 1 +Init GlaveWurmTrailInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +GlaveWurmTrailInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 514 Seeker Spores Overlay (thingy\gSmoke.grp) +.headerstart +IsId 270 +Type 1 +Init SeekerSporesOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +SeekerSporesOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 419 Acid Spray (Unused) (thingy\plasma.grp) +.headerstart +IsId 271 +Type 1 +Init AcidSprayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSprayInit: + imgol 556 0 0 # EMP Shockwave Hit (Part2) (thingy\empl.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 420 Plasma Drip (Unused) (thingy\PlasDrip.grp) +.headerstart +IsId 272 +Type 1 +Init Unknown272Init +Death Unknown272Death +.headerend +# ----------------------------------------------------------------------------- # + +Unknown272Init: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 1 +Unknown272Death: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 423 Burrowing Dust (thingy\bDust.grp) +.headerstart +IsId 274 +Type 1 +Init BurrowingDustInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +BurrowingDustInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 387 Plague Cloud (thingy\ebbCloud.grp) +.headerstart +IsId 296 +Type 2 +Init PlagueCloudInit +Death PlagueCloudDeath +GndAttkInit PlagueCloudDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PlagueCloudInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +PlagueCloudDeath: + playsnd 816 # Zerg\DEFILER\ZDeBlo00.WAV + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + domissiledmg + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 388 Plague Overlay (Small) (thingy\ebbHitS.grp) +# 389 Plague Overlay (Medium) (thingy\ebbHitM.grp) +# 390 Plague Overlay (Large) (thingy\ebbHitL.grp) +.headerstart +IsId 297 +Type 1 +Init PlagueOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlagueOverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +PlagueOverlayLocal00: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + waitrand 2 3 + goto PlagueOverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 517 Consume (thingy\consume.grp) +.headerstart +IsId 298 +Type 2 +Init ConsumeInit +Death ConsumeDeath +GndAttkInit ConsumeDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ConsumeInit: + wait 1 + sigorder 1 + wait 1 +ConsumeDeath: + playsnd 813 # Zerg\DEFILER\ZDeCon00.WAV + 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 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + domissiledmg + wait 2 + playfram 0x11 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 337 Dark Swarm (thingy\Dswarm.grp) +.headerstart +IsId 299 +Type 1 +Init DarkSwarmInit +Death DarkSwarmDeath +.headerend +# ----------------------------------------------------------------------------- # + +DarkSwarmInit: + playsnd 922 # Zerg\Matraleth\ZQuSwm00.WAV + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 +DarkSwarmLocal00: + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 3 + playfram 8 + wait 3 + playfram 9 + wait 3 + playfram 8 + wait 3 + playfram 7 + wait 3 + playfram 6 + wait 3 + goto DarkSwarmLocal00 + +DarkSwarmDeath: + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 383 Ensnare Cloud (thingy\Ensnare.grp) +.headerstart +IsId 302 +Type 1 +Init EnsnareInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +EnsnareInit: + playsnd 924 # Zerg\Matraleth\ZQuEns00.WAV + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 384 Ensnare Overlay (Small) (thingy\ensGooS.grp) +# 385 Ensnare Overlay (Medium) (thingy\ensGooM.grp) +# 386 Ensnare Overlay (Large) (thingy\ensGooL.grp) +.headerstart +IsId 303 +Type 1 +Init EnsnareOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +EnsnareOverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +EnsnareOverlayLocal00: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + waitrand 2 3 + goto EnsnareOverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 035 Needle Spines (thingy\spooge.grp) +.headerstart +IsId 311 +Type 1 +Init NeedleSpinesOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +NeedleSpinesOverlayInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 946 Cleric Remnants (terran\tmeDeath.grp) +# 1362 Scribe Remnants (cm\protoss\scribe-death.grp) +# 1542 Evigrilisk Remains (cm\zerg\evigrilisk-remains.grp) +# 1899 Ancile Remains (cm\terran\ancile-death.grp) +.headerstart +IsId 361 +Type 1 +Init GenericRemnantsFourInit +Death GenericRemnantsFourDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFourInit: + playfram 0x00 + wait 239 +GenericRemnantsFourDeath: + 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: +# 961 Subterranean Spines (bullet\Spike.grp) +.headerstart +IsId 380 +Type 1 +Init SubterraneanSpinesInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +SubterraneanSpinesInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 962 Corrosive Acid Shot (thingy\ZDvPuke.grp) +.headerstart +IsId 381 +Type 2 +Init CorrosiveAcidInit +Death CorrosiveAcidDeath +GndAttkInit CorrosiveAcidGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CorrosiveAcidInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +CorrosiveAcidGndAttkInit: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + goto SkryrokorLocal00 + +CorrosiveAcidDeath: + playsnd 72 # Bullet\ZGuHit00.wav + imgol 963 0 0 # Corrosive Acid Hit (thingy\ZDvHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 963 Corrosive Acid Hit (thingy\ZDvHit.grp) +.headerstart +IsId 382 +Type 1 +Init CorrosiveAcidHitInit +Death CorrosiveAcidHitDeath +.headerend +# ----------------------------------------------------------------------------- # + +CorrosiveAcidHitInit: + playfram 0x00 + playsnd 1095 # Zerg\Devourer\goophit.wav + wait 1 + playfram 1 + wait 1 + 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 +CorrosiveAcidHitDeath: + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 986 Acid Spores (1) Overlay (Small) (thingy\ZdvGooS.grp) +# 990 Acid Spores (1) Overlay (Medium) (thingy\ZdvGooM.grp) +# 994 Acid Spores (1) Overlay (Large) (thingy\ZdvGooL.grp) +.headerstart +IsId 383 +Type 1 +Init AcidSpores_1_OverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSpores_1_OverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +AcidSpores_1_OverlayLocal00: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + goto AcidSpores_1_OverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 987 Acid Spores (2-3) Overlay (Small) (thingy\ZdvGooS.grp) +# 991 Acid Spores (2-3) Overlay (Medium) (thingy\ZdvGooM.grp) +# 995 Acid Spores (2-3) Overlay (Large) (thingy\ZdvGooL.grp) +.headerstart +IsId 384 +Type 1 +Init AcidSpores_2_3_OverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSpores_2_3_OverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +AcidSpores_2_3_OverlayLocal00: + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + playfram 0x66 + wait 2 + playfram 0x77 + wait 2 + goto AcidSpores_2_3_OverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 988 Acid Spores (4-5) Overlay (Small) (thingy\ZdvGooS.grp) +# 992 Acid Spores (4-5) Overlay (Medium) (thingy\ZdvGooM.grp) +# 996 Acid Spores (4-5) Overlay (Large) (thingy\ZdvGooL.grp) +.headerstart +IsId 385 +Type 1 +Init AcidSpores_4_5_OverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSpores_4_5_OverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +AcidSpores_4_5_OverlayLocal00: + playfram 0x88 + wait 2 + playfram 0x99 + wait 2 + playfram 0xaa + wait 2 + playfram 0xbb + wait 2 + goto AcidSpores_4_5_OverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 989 Acid Spores (6-9) Overlay (Small) (thingy\ZdvGooS.grp) +# 993 Acid Spores (6-9) Overlay (Medium) (thingy\ZdvGooM.grp) +# 997 Acid Spores (6-9) Overlay (Large) (thingy\ZdvGooL.grp) +.headerstart +IsId 386 +Type 1 +Init AcidSpores_6_9_OverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +AcidSpores_6_9_OverlayInit: + tmprmgraphicstart + wait 2 + tmprmgraphicend +AcidSpores_6_9_OverlayLocal00: + playfram 0xcc + wait 2 + playfram 0xdd + wait 2 + playfram 0xee + wait 2 + playfram 0xff + wait 2 + goto AcidSpores_6_9_OverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 985 Subterranean Spines Hit (zerg\zmarker.grp) +.headerstart +IsId 395 +Type 2 +Init Unknown395Init +Death Unknown395Death +GndAttkInit Unknown395GndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +Unknown395Init: + wait 1 + sigorder 1 + wait 1 +Unknown395GndAttkInit: + grdsprol 511 0 0 # Subterranean Spines (bullet\Spike.grp) + dogrddamage + wait 2 + goto Unknown395GndAttkInit + +Unknown395Death: + playsnd 1110 # Bullet\ZLrkHit1.wav + imgol 530 0 0 # Gemini Missiles Explosion (thingy\ecaHit.grp) + dogrddamage + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 923 Overmind Cocoon (zerg\XOvermnd.grp) +.headerstart +IsId 405 +Type 20 +Init OvermindCocoonInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt OvermindCocoonAlmostBuilt +Built OvermindCocoonBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking OvermindCocoonIsWorking +WorkingToIdle OvermindCocoonIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvermindCocoonInit: + imgul 924 0 0 # Overmind Cocoon Shadow (zerg\ZovShad.grp) + playfram 0x00 + goto SkryrokorLocal00 + +OvermindCocoonAlmostBuilt: + playfram 0x00 + goto OvermindCocoonBuilt + +OvermindCocoonBuilt: + wait 1 + waitrand 1 2 +OvermindCocoonIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + wait 1 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto OvermindCocoonIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1015 Gorgrokor (cm\zerg\gorgrokor.grp) +.headerstart +IsId 413 +Type 12 +Init GorgrokorInit +Death GorgrokorDeath +GndAttkInit GorgrokorGndAttkInit +AirAttkInit GorgrokorAirAttkInit +Unused1 [NONE] +GndAttkRpt GorgrokorGndAttkInit +AirAttkRpt GorgrokorAirAttkInit +CastSpell [NONE] +GndAttkToIdle GorgrokorWalkingToIdle +AirAttkToIdle GorgrokorWalkingToIdle +Unused2 [NONE] +Walking GorgrokorWalking +WalkingToIdle GorgrokorWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GorgrokorInit: + imgul 1017 0 42 # Gorgrokor Shadow (cm\zerg\gorgrokor.grp) + playfram 0x00 + wait 2 +GorgrokorWalkingToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + goto GorgrokorWalkingToIdle + +GorgrokorDeath: + playsnd 852 # Zerg\Guardian\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 963 0 42 # Zerg Building Rubble Small + wait 1 + end + +GorgrokorGndAttkInit: + nobrkcodestart + playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x180 + attackwith 1 + playsndbtwn 3171 3174 # Gorgrokor weaponhit 01, 02, 03, 04 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x180 + wait 1 + nobrkcodeend + gotorepeatattk + goto GorgrokorWalkingToIdle + +GorgrokorAirAttkInit: + nobrkcodestart + playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + attackwith 2 + playfram 0x140 + wait 1 + nobrkcodeend + gotorepeatattk + goto GorgrokorWalkingToIdle + +GorgrokorWalking: + 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 0x00 + wait 1 + goto GorgrokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1003 Iroleth (cm\zerg\iroleth.grp) +.headerstart +IsId 414 +Type 12 +Init IrolethInit +Death IrolethDeath +GndAttkInit IrolethGndAttkInit +AirAttkInit IrolethGndAttkInit +Unused1 [NONE] +GndAttkRpt IrolethGndAttkInit +AirAttkRpt IrolethGndAttkInit +CastSpell [NONE] +GndAttkToIdle IrolethWalkingToIdle +AirAttkToIdle IrolethWalkingToIdle +Unused2 [NONE] +Walking IrolethWalking +WalkingToIdle IrolethWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IrolethInit: + imgul 1016 0 42 # Iroleth Shadow (cm\zerg\Iroleth.grp) + playfram 0x00 + goto IrolethLocal00 + +IrolethLocal00: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x00 + wait 2 + goto IrolethLocal00 + +IrolethDeath: + playsnd 910 # Zerg\Ovileth\ZOvDth00.WAV + imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +IrolethGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart +# playsndbtwn 1934 1936 # Akistrokor weaponfire 01, 02, 03 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto IrolethLocal00 + +IrolethWalking: + 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 0x100 + wait 1 + playfram 0x00 + wait 1 + goto IrolethWalking + +IrolethWalkingToIdle: + playfram 0x00 + wait 1 + goto IrolethLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1020 Gorgrokor Birth (zerg\cocoon.grp) +.headerstart +IsId 417 +Type 13 +Init GorgrokorBirthInit +Death ZergCocoonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 GorgrokorBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +GorgrokorBirthInit: + imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) + goto ZergCocoonWalking + +GorgrokorBirthSpecialState1: + wait 1 + nobrkcodestart + playfram 15 + wait 2 + playfram 49 + wait 2 + playfram 50 + wait 2 + playfram 51 + wait 2 + playfram 52 + wait 2 + playfram 53 + wait 2 + playfram 54 + wait 2 + playfram 55 + wait 2 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# Parasite Overlay (cm\effect\parasite-overlay.grp) +.headerstart +IsId 423 +Type 1 +Init ParasiteOverlayInit +Death ParasiteOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +ParasiteOverlayInit: + playsnd 114 # Misc\ZPwrDown.wav + 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 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + wait 2 + playfram 7 + 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 + playsnd 3239 # Rilirokor\ZBrPss02.wav + wait 1 + end + +ParasiteOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1040 Liivral Pond (cm\zerg\liivralpond.grp) +.headerstart +IsId 430 +Type 20 +Init LiivralPondInit +Death LiivralPondDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt LiivralPondAlmostBuilt +Built LiivralPondBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking LiivralPondIsWorking +WorkingToIdle LiivralPondWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LiivralPondInit: + playfram 0x00 + imgul 1042 0 0 # Vorval Pond Shadow (cm\zerg\liivralpond-shad.grp) + goto LiivralPondWorkingToIdle + +LiivralPondWorkingToIdle: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + goto LiivralPondWorkingToIdle + +LiivralPondDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +LiivralPondAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto LiivralPondBuilt + +LiivralPondBuilt: + playfram 0x00 + wait 2 + goto LiivralPondWorkingToIdle + +LiivralPondIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + waitrand 1 2 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + waitrand 1 3 + goto LiivralPondIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1041 Othstol Oviform (cm\zerg\othstoloviform.grp) +.headerstart +IsId 431 +Type 20 +Init OthstolOviformInit +Death OthstolOviformDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt OthstolOviformAlmostBuilt +Built OthstolOviformBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking OthstolOviformIsWorking +WorkingToIdle OthstolOviformWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OthstolOviformInit: + imgul 1043 0 0 # Othstol Oviform Shadow (cm\zerg\othstoloviform-shad.grp) + playfram 0x00 + goto OthstolOviformWorkingToIdle + +OthstolOviformWorkingToIdle: + 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 + goto OthstolOviformWorkingToIdle + +OthstolOviformDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +OthstolOviformAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +OthstolOviformBuilt: + playfram 0x00 + wait 2 + goto OthstolOviformWorkingToIdle + +OthstolOviformIsWorking: + playfram 0x00 + wait 1 + playfram 1 + waitrand 1 2 + playfram 2 + wait 1 + playfram 3 + waitrand 1 2 + playfram 4 + wait 1 + playfram 5 + waitrand 1 2 + playfram 6 + wait 1 + playfram 7 + waitrand 1 2 + playfram 8 + wait 1 + playfram 9 + waitrand 1 2 + playfram 10 + wait 1 + goto OthstolOviformIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1048 Othstoleth (cm\zerg\othstoleth.grp) +.headerstart +IsId 434 +Type 12 +Init OthstolethInit +Death OthstolethDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking OthstolethWalking +WalkingToIdle OthstolethWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OthstolethInit: + imgul 1049 0 42 # Othstoleth Shadow (cm\zerg\othstoleth.grp) + playfram 0x00 + goto OthstolethLocal00 + +OthstolethLocal00: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0x00 + wait 2 + goto OthstolethLocal00 + +OthstolethDeath: + playsnd 910 # Zerg\ovileth\ZOvDth00.WAV + imgol 45 0 0 # Ovileth Death (zerg\zovDeath.grp) + wait 1 + lowsprul 186 0 42 # Zerg Building Rubble Small + wait 1 + end + +OthstolethWalking: + 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 0x00 + wait 1 + goto OthstolethWalking + +OthstolethWalkingToIdle: + playfram 0x00 + wait 2 + goto OthstolethLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1053 Irol Iris (cm\zerg\iroliris.grp) +.headerstart +IsId 436 +Type 20 +Init IrolIrisInit +Death IrolIrisDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt IrolIrisAlmostBuilt +Built IrolIrisBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking IrolIrisIsWorking +WorkingToIdle IrolIrisWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IrolIrisInit: + imgul 1054 0 0 # Irol Iris Shadow (cm\zerg\iroliris-shad.grp) + playfram 0x00 + goto IrolIrisWorkingToIdle + +IrolIrisWorkingToIdle: + 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 + goto IrolIrisWorkingToIdle + +IrolIrisDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +IrolIrisAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +IrolIrisBuilt: + playfram 0x00 + wait 2 + goto IrolIrisWorkingToIdle + +IrolIrisIsWorking: + playfram 0x00 + wait 1 + playfram 1 + waitrand 1 2 + playfram 2 + wait 1 + playfram 3 + waitrand 1 2 + playfram 4 + wait 1 + playfram 5 + waitrand 1 2 + playfram 6 + wait 1 + playfram 7 + waitrand 1 2 + playfram 8 + wait 1 + playfram 9 + waitrand 1 2 + playfram 10 + wait 1 + goto IrolIrisIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1095 Nathrokor (cm\zerg\nathrokor.grp) +.headerstart +IsId 451 +Type 12 +Init NathrokorInit +Death NathrokorDeath +GndAttkInit NathrokorGndAttkInit +AirAttkInit NathrokorAirAttkInit +Unused1 [NONE] +GndAttkRpt NathrokorGndAttkInit +AirAttkRpt NathrokorAirAttkInit +CastSpell [NONE] +GndAttkToIdle NathrokorGndAttkToIdle +AirAttkToIdle NathrokorGndAttkToIdle +Unused2 [NONE] +Walking NathrokorWalking +WalkingToIdle NathrokorGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NathrokorInit: + imgul 1096 0 42 # Nathrokor Shadow (cm\zerg\nathrokor.grp) + playfram 0x00 + wait 2 +NathrokorGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0x00 + wait 2 + goto NathrokorGndAttkToIdle + +NathrokorDeath: + playsnd 1203 # Nathrokor death 01 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + lowsprul 850 0 42 # Zerg Unit Rubble Tiny + wait 1 + end + +NathrokorGndAttkInit: + playfram 0x100 + wait 1 + nobrkcodestart + playfram 0x120 + playsnd 1326 # Nathrokor weaponfire 01 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 2 + playfram 0x140 + wait 2 + playfram 0x120 + wait 2 + playfram 0x100 + wait 1 + nobrkcodeend + gotorepeatattk + goto NathrokorGndAttkToIdle + +NathrokorAirAttkInit: + playfram 0x180 + wait 1 + nobrkcodestart + playfram 0x1A0 + playsnd 1326 # Nathrokor weaponfire 01 + wait 1 + playfram 0x1C0 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x200 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + nobrkcodeend + gotorepeatattk + goto NathrokorGndAttkToIdle + +NathrokorWalking: + 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 0x00 + wait 1 + goto NathrokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1097 Nathrokor Attack Overlay (cm\effect\nathrokor-breath.grp) +.headerstart +IsId 452 +Type 1 +Init NathrokorAttackOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +NathrokorAttackOverlayInit: + 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 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1095 Alkajelisk (cm\zerg\alkajelisk.grp) +.headerstart +IsId 460 +Type 12 +Init AlkajeliskInit +Death AlkajeliskDeath +GndAttkInit AlkajeliskGndAttkInit +AirAttkInit AlkajeliskGndAttkInit +Unused1 [NONE] +GndAttkRpt AlkajeliskGndAttkInit +AirAttkRpt AlkajeliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle AlkajeliskGndAttkToIdle +AirAttkToIdle AlkajeliskGndAttkToIdle +Unused2 [NONE] +Walking AlkajeliskWalking +WalkingToIdle AlkajeliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AlkajeliskInit: + imgul 1112 0 42 # Alkajelisk Shadow (cm\zerg\alkajelisk.grp) + playfram 0x00 + wait 2 +AlkajeliskGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0x00 + wait 2 + goto AlkajeliskGndAttkToIdle + +AlkajeliskDeath: + playsnd 878 # Zerg\Ultra\ZUlDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 186 0 42 # Zerg Building Rubble Small + wait 1 + end + +AlkajeliskGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1784 1787 # Alkajelisk weapon fire 01, 02, 03, 04 + attackwith 1 + wait 2 + attackwith 1 + wait 2 + attackwith 1 + wait 3 + attackwith 1 + wait 2 + attackwith 1 + wait 2 + attackwith 1 + nobrkcodeend + gotorepeatattk + goto AlkajeliskGndAttkToIdle + +AlkajeliskWalking: + 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 0x00 + wait 1 + goto AlkajeliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1113 Keskathalor (zerg\keskathalor.grp) +.headerstart +IsId 461 +Type 26 +Init KeskathalorInit +Death KeskathalorDeath +GndAttkInit KeskathalorGndAttkInit +AirAttkInit KeskathalorGndAttkInit +Unused1 [NONE] +GndAttkRpt KeskathalorGndAttkRpt +AirAttkRpt KeskathalorGndAttkRpt +CastSpell [NONE] +GndAttkToIdle KeskathalorGndAttkToIdle +AirAttkToIdle KeskathalorGndAttkToIdle +Unused2 [NONE] +Walking KeskathalorWalking +WalkingToIdle KeskathalorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 KeskathalorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow KeskathalorBurrow +UnBurrow KeskathalorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KeskathalorInit: + imgul 1114 0 0 # Keskathalor Shadow (cm\zerg\keskathalor-shad.grp) +KeskathalorGndAttkToIdle: + playfram 0x88 + goto KeskathalorLocal00 + +KeskathalorLocal00: + wait 62 + randcondjmp 25 KeskathalorLocal02 + randcondjmp 85 KeskathalorLocal01 + goto KeskathalorLocal00 + +KeskathalorLocal01: + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 25 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + randcondjmp 25 KeskathalorLocal03 + goto KeskathalorGndAttkToIdle + +KeskathalorLocal02: + playfram 0x00 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x00 + wait 1 + turnccwise 1 + playfram 0x88 + wait 1 + turnccwise 1 + goto KeskathalorGndAttkToIdle + +KeskathalorLocal03: + playfram 0x88 + wait 1 + turncwise 1 + playfram 0x00 + wait 1 + turncwise 1 + playfram 0x11 + wait 1 + turncwise 1 + playfram 0x22 + wait 1 + turncwise 1 + playfram 0x11 + wait 1 + turncwise 1 + playfram 0x00 + wait 1 + turncwise 1 + goto KeskathalorGndAttkToIdle + +KeskathalorDeath: + playsnd 878 # Zerg\Ultra\ZUlDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 2 + lowsprul 186 0 0 # Zerg Building Rubble Small + wait 1 + end + +KeskathalorGndAttkInit: + playfram 0x88 +KeskathalorGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x99 + attackwith 1 + sigorder 32 + playsndbtwn 1399 1400 # Keskathalor weapon fire 01, 02 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + nobrkcodeend + gotorepeatattk + ignorerest + goto KeskathalorGndAttkToIdle + +KeskathalorWalking: + move 3 + wait 1 + move 3 + wait 1 + playfram 0x11 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x22 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x33 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x44 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x55 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x66 + move 3 + wait 1 + move 3 + wait 1 + playfram 0x77 + goto KeskathalorWalking + +KeskathalorSpecialState2: + playfram 0x165 + goto SkryrokorLocal00 + +KeskathalorBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x165 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +KeskathalorUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + sigorder 4 + goto KeskathalorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1703 Skortrith Cesiant (cm\zerg\skortrith-cesiant.grp) +.headerstart +IsId 760 +Type 20 +Init SkortrithCesiantInit +Death CerebrateDeath +GndAttkInit SkortrithCesiantGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt SkortrithCesiantGndAttkInit +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle SurkithCesiantGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SurkithCesiantAlmostBuilt +Built SurkithCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SurkithCesiantIsWorking +WorkingToIdle SurkithCesiantIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkortrithCesiantInit: + playfram 0x00 + imgul 1704 0 0 # Skortrith Cesiant Shadow (cm\zerg\skortrith-cesiant-shadow.grp) + goto SkryrokorLocal00 + +SkortrithCesiantGndAttkInit: + playsnd 2540 # Skortrith Cesiant weaponfire 01 + trgtarccondjmp 74 42 SkortrithCesiantLocal00 + trgtarccondjmp 159 42 SkortrithCesiantLocal01 + nobrkcodestart + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 30 + wait 1 + playfram 31 + wait 1 + playfram 33 + wait 1 + attackwith 1 + wait 6 + playfram 32 + wait 1 + playfram 31 + wait 1 + playfram 30 + wait 1 + playfram 29 + wait 1 + playfram 28 + wait 1 + playfram 27 + wait 1 + playfram 26 + wait 1 + playfram 25 + wait 1 + playfram 24 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SurkithCesiantGndAttkToIdle + +SkortrithCesiantLocal00: + nobrkcodestart + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 7 + wait 1 + playfram 8 + wait 1 + playfram 10 + wait 1 + playfram 11 + wait 1 + playfram 13 + wait 1 + attackwith 1 + wait 6 + playfram 12 + wait 1 + playfram 11 + wait 1 + playfram 10 + wait 1 + playfram 9 + wait 1 + playfram 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SurkithCesiantIsWorking + +SkortrithCesiantLocal01: + nobrkcodestart + playfram 14 + wait 1 + playfram 15 + wait 1 + playfram 0x11 + wait 1 + playfram 18 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 23 + wait 1 + attackwith 1 + wait 6 + playfram 23 + wait 1 + playfram 22 + wait 1 + playfram 21 + wait 1 + playfram 20 + wait 1 + playfram 19 + wait 1 + playfram 18 + wait 1 + playfram 0x11 + wait 1 + playfram 16 + wait 1 + playfram 15 + wait 1 + playfram 14 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto SurkithCesiantIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1766 Skortrith Cesiant Tentacle (bullet\Tentacle.grp) +.headerstart +IsId 761 +Type 2 +Init SkortrithTentacleInit +Death SubterraneanTentacleDeath +GndAttkInit SubterraneanTentacleDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkortrithTentacleInit: + playsnd 2541 # Skortrith Cesiant weaponhit 01 + wait 1 + sigorder 1 + wait 1 + goto SubterraneanTentacleDeath + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1766 Evigrilisk Tentacle (bullet\Tentacle.grp) +.headerstart +IsId 796 +Type 2 +Init EvigriliskTentacleInit +Death SubterraneanTentacleDeath +GndAttkInit SubterraneanTentacleDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EvigriliskTentacleInit: + playsndbtwn 3166 3168 # Evigrilisk weaponhit 01, 02, 03 + wait 1 + sigorder 1 + wait 1 + goto SubterraneanTentacleDeath + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1963 Kazitrith Cesiant (cm\zerg\kazitrith-cesiant.grp) +.headerstart +IsId 801 +Type 20 +Init KazitrithCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt CagrantCesiantAlmostBuilt +Built CagrantCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KazitrithCesiantInit: + imgul 1964 0 0 # Kazitrith Cesiant Shadow (cm\zerg\kazitrith-cesiant-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1176 Geszkath Grotto (cm\zerg\keskathcavern.grp) +.headerstart +IsId 494 +Type 20 +Init GeszkathGrottoInit +Death GeszkathGrottoDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt GeszkathGrottoAlmostBuilt +Built GeszkathGrottoBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking GeszkathGrottoIsWorking +WorkingToIdle GeszkathGrottoWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GeszkathGrottoInit: + imgul 1177 0 0 # Geszkath Grotto Shadow (cm\zerg\keskathcavern-shad.grp) + playfram 0x00 + goto GeszkathGrottoWorkingToIdle + +GeszkathGrottoWorkingToIdle: + 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 + goto GeszkathGrottoWorkingToIdle + +GeszkathGrottoDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +GeszkathGrottoAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +GeszkathGrottoBuilt: + playfram 0x00 + wait 2 + goto GeszkathGrottoWorkingToIdle + +GeszkathGrottoIsWorking: + playfram 0x00 + wait 1 + playfram 1 + waitrand 1 2 + playfram 2 + wait 1 + playfram 3 + waitrand 1 2 + playfram 4 + wait 1 + playfram 5 + waitrand 1 2 + playfram 6 + wait 1 + playfram 7 + waitrand 1 2 + playfram 8 + wait 1 + playfram 9 + waitrand 1 2 + goto GeszkathGrottoIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1178 Vithril Haunt (cm\zerg\devourerhaunt.grp) +.headerstart +IsId 495 +Type 20 +Init TosvrolHauntInit +Death TosvrolHauntDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TosvrolHauntAlmostBuilt +Built TosvrolHauntBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking TosvrolHauntIsWorking +WorkingToIdle TosvrolHauntWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1207 Bactalisk (cm\zerg\bactalisk.grp) +.headerstart +IsId 506 +Type 26 +Init BactaliskInit +Death BactaliskDeath +GndAttkInit BactaliskGndAttkInit +AirAttkInit BactaliskGndAttkInit +Unused1 BactaliskUnused1 +GndAttkRpt BactaliskGndAttkInit +AirAttkRpt BactaliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle BactaliskGndAttkToIdle +AirAttkToIdle BactaliskGndAttkToIdle +Unused2 [NONE] +Walking BactaliskWalking +WalkingToIdle BactaliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 BactaliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow BactaliskBurrow +UnBurrow BactaliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BactaliskInit: + imgul 1208 0 0 # Bactalisk Shadow (cm\zerg\bactalisk-shad.grp) +BactaliskWalkingToIdle: + playfram 0xcc + goto BactaliskLocal00 +BactaliskLocal00: + wait 63 + randcondjmp 25 BactaliskLocal01 + randcondjmp 128 BactaliskLocal02 + goto BactaliskLocal00 + +BactaliskLocal01: + playfram 0x00 + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 25 + playfram 0xdd + wait 1 + playfram 0xcc + wait 1 + playfram 0x00 + wait 1 + goto BactaliskWalkingToIdle + +BactaliskLocal02: + 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 BactaliskWalkingToIdle + +BactaliskDeath: + playsnd 2539 # Bactalisk death 01 + setfldirect 0 + playfram 561 + wait 2 + playfram 562 + wait 2 + playfram 563 + wait 2 + playfram 564 + wait 2 + playfram 565 + wait 2 + playfram 566 + wait 2 + playfram 567 + wait 2 + playfram 568 + wait 2 + lowsprul 617 0 0 # Bactalisk Remnants (cm\zerg\bactalisk-death.grp) + wait 1 + end + +BactaliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 # Hydralisk Revive 01 + playfram 567 + wait 2 + playfram 566 + wait 2 + playfram 565 + wait 2 + playfram 564 + wait 2 + playfram 563 + wait 2 + playfram 562 + wait 2 + playfram 561 + wait 2 + setfldirect 14 + nobrkcodeend + goto BactaliskWalkingToIdle + +BactaliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + playsndbtwn 2850 2852 # Bactalisk weaponfire 01, 02, 03 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + attackwith 1 + wait 2 + playfram 0x110 + attackwith 1 + wait 2 + playfram 0x121 + attackwith 1 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + wait 2 + playfram 0x132 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +BactaliskGndAttkToIdle: + playfram 0x00 + wait 1 + goto BactaliskWalkingToIdle + +BactaliskWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0x00 + goto BactaliskWalking + +BactaliskSpecialState2: + playfram 280 # Frame set 16, direction 8 + goto SkryrokorLocal00 + +BactaliskBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 219 + wait 1 + playfram 0x1ba + wait 1 + playfram 0x1cb + wait 1 + playfram 0x1dc + wait 1 + playfram 0x1ed + wait 1 + playfram 0x1fe + wait 1 + playfram 0x20f + wait 1 + playfram 0x220 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +BactaliskUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x20f + wait 1 + playfram 0x1fe + wait 1 + playfram 0x1ed + wait 1 + playfram 0x1dc + wait 1 + playfram 0x1cb + wait 1 + playfram 0x1ba + wait 1 + sigorder 4 + goto BactaliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1213 Kalkalisk (cm\zerg\kalkalisk.grp) +.headerstart +IsId 510 +Type 12 +Init KalkaliskInit +Death KalkaliskDeath +GndAttkInit KalkaliskGndAttkInit +AirAttkInit KalkaliskGndAttkInit +Unused1 [NONE] +GndAttkRpt KalkaliskGndAttkInit +AirAttkRpt KalkaliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle KalkaliskGndAttkToIdle +AirAttkToIdle KalkaliskGndAttkToIdle +Unused2 [NONE] +Walking KalkaliskWalking +WalkingToIdle KalkaliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KalkaliskInit: + imgul 1214 0 42 # Kalkalisk Shadow (cm\zerg\kalkalisk.grp) + playfram 0x00 + wait 2 +KalkaliskGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0x00 + wait 2 + goto KalkaliskGndAttkToIdle + +KalkaliskDeath: + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +KalkaliskGndAttkInit: + playfram 0xC0 + wait 1 + nobrkcodestart + playfram 0xE0 + wait 1 + playfram 0x100 + playsndbtwn 1316 1318 # Kalkalisk attack 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + nobrkcodeend + gotorepeatattk + goto KalkaliskGndAttkToIdle + +KalkaliskWalking: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x00 + wait 1 + goto KalkaliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1215 Zorkiz Shroud (cm\zerg\zorkiz-shroud.grp) +.headerstart +IsId 511 +Type 20 +Init ZorkizShroudInit +Death ZorkizShroudDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ZorkizShroudAlmostBuilt +Built ZorkizShroudBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ZorkizShroudIsWorking +WorkingToIdle ZorkizShroudWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZorkizShroudInit: + playfram 0x00 + imgul 1216 0 0 # Zorkiz Shroud Shadow (cm\zerg\zorkiz-shroud-shadow.grp) + goto ZorkizShroudWorkingToIdle + +ZorkizShroudWorkingToIdle: + 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 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto ZorkizShroudWorkingToIdle + +ZorkizShroudDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +ZorkizShroudAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto ZorkizShroudBuilt + +ZorkizShroudBuilt: + playfram 0x00 + wait 2 + goto ZorkizShroudWorkingToIdle + +ZorkizShroudIsWorking: + playfram 1 + wait 1 + 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 9 + wait 1 + playfram 8 + wait 1 + playfram 7 + wait 1 + playfram 6 + wait 1 + playfram 5 + wait 1 + playfram 4 + wait 1 + playfram 3 + wait 1 + playfram 2 + wait 1 + playfram 1 + wait 1 + playfram 0x00 + wait 2 + goto ZorkizShroudIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1222 Kalkalisk Birth (zerg\cocoon.grp) +.headerstart +IsId 514 +Type 13 +Init KalkaliskBirthInit +Death ZergCocoonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 KalkaliskBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +KalkaliskBirthInit: + imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) + goto ZergCocoonWalking + +KalkaliskBirthSpecialState1: + wait 1 + nobrkcodestart + playfram 15 + wait 2 + playfram 42 + wait 2 + playfram 43 + wait 2 + playfram 44 + wait 2 + playfram 45 + wait 2 + playfram 46 + wait 2 + playfram 47 + wait 2 + playfram 48 + wait 2 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1223 Iroleth Birth (zerg\cocoon.grp) +.headerstart +IsId 515 +Type 13 +Init IrolethBirthInit +Death ZergCocoonDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 IrolethBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +IrolethBirthInit: + imgul 12 0 42 # Geszithalor Cocoon Shadow (zerg\cocoon.grp) + goto ZergCocoonWalking + +IrolethBirthSpecialState1: + wait 1 + nobrkcodestart + playfram 15 + wait 2 + playfram 35 + wait 2 + playfram 36 + wait 2 + playfram 37 + wait 2 + playfram 38 + wait 2 + playfram 39 + wait 2 + playfram 40 + wait 2 + playfram 41 + wait 2 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1227 Bactith Swamp (cm\zerg\lakizden.grp) +.headerstart +IsId 517 +Type 20 +Init BactaliskDenInit +Death BactaliskDenDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt BactaliskDenAlmostBuilt +Built BactaliskDenBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking BactaliskDenIsWorking +WorkingToIdle BactaliskDenWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +BactaliskDenInit: + imgul 1228 0 0 # Bactalisk Den Shadow (cm\zerg\lakizden-shad.grp) + playfram 0x00 + goto BactaliskDenWorkingToIdle + +BactaliskDenWorkingToIdle: + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 3 + playfram 2 + wait 2 + playfram 1 + wait 1 + playfram 0x00 + goto BactaliskDenWorkingToIdle + +BactaliskDenDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +BactaliskDenAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +BactaliskDenBuilt: + playfram 0x00 + wait 2 + goto BactaliskDenWorkingToIdle + +BactaliskDenIsWorking: + wait 1 + playfram 1 + wait 2 + playfram 2 + wait 1 + playfram 3 + wait 2 + playfram 2 + wait 1 + playfram 1 + wait 2 + playfram 0x00 + goto BactaliskDenIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1243 Kalkalisk Spores (bullet\Spore2.grp) +.headerstart +IsId 522 +Type 2 +Init KalkaliskSporesInit +Death KalkaliskSporesDeath +GndAttkInit KalkaliskSporesGndAttkInit +AirAttkInit KalkaliskSporesAirAttkInit +.headerend +# ----------------------------------------------------------------------------- # + +KalkaliskSporesInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +KalkaliskSporesGndAttkInit: + sprol 936 0 0 # Spores Overlay Yellow (cm\zerg\spore-overlay-yellow.grp) + playfram 0x00 + wait 1 + sprol 936 0 0 # Spores Overlay Yellow + playfram 1 + wait 1 + sprol 936 0 0 # Spores Overlay Yellow + playfram 2 + wait 1 + sprol 936 0 0 # Spores Overlay Yellow + playfram 3 + wait 1 + sprol 936 0 0 # Spores Overlay Yellow + goto KalkaliskSporesGndAttkInit + +KalkaliskSporesDeath: + playsndbtwn 2396 2398 # Kalkalisk weaponhit 01, 02, 03 + sprol 939 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + #domissiledmg + sigorder 128 + wait 2 + end + +KalkaliskSporesAirAttkInit: + playsndbtwn 2396 2398 # Kalkalisk weaponhit 01, 02, 03 + sprol 939 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto KalkaliskSporesGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1279 Seeker Spores Silent (bullet\Spore2.grp) +.headerstart +IsId 542 +Type 2 +Init SeekerSporesSilentInit +Death SeekerSporesSilentDeath +GndAttkInit SeekerSporesSilentGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SeekerSporesSilentInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +SeekerSporesSilentGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + playfram 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay + goto SeekerSporesSilentGndAttkInit + +SeekerSporesSilentDeath: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1918 Seeker Spores Skithrokor (bullet\Spore2.grp) +.headerstart +IsId 826 +Type 2 +Init SeekerSporesSkithrokorInit +Death SeekerSporesSkithrokorDeath +GndAttkInit SeekerSporesSkithrokorGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SeekerSporesSkithrokorInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +SeekerSporesSkithrokorGndAttkInit: + sprol 935 0 0 # Spores Overlay Orange Small (cm\zerg\spore-overlay-orange-small.grp) + playfram 0x00 + wait 1 + sprol 935 0 0 # Spores Overlay Orange Small + playfram 1 + wait 1 + sprol 935 0 0 # Spores Overlay Orange Small + playfram 2 + wait 1 + sprol 935 0 0 # Spores Overlay Orange Small + playfram 3 + wait 1 + sprol 935 0 0 # Spores Overlay Orange Small + goto SeekerSporesSkithrokorGndAttkInit + +SeekerSporesSkithrokorDeath: + sprol 938 0 0 # Spore Hit Orange Small (cm\zerg\spore-hit-orange-small.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1281 Ensnaring Brood Overlay (cm\effect\ensaringbrood-overlay.grp) +.headerstart +IsId 544 +Type 1 +Init EnsnaringBroodOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +EnsnaringBroodOverlayInit: + playfram 1 + wait 1 + playfram 2 + 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 +EnsnaringBroodOverlayLocal00: + wait 1 + tmprmgraphicstart + wait 4 + tmprmgraphicend + playfram 1 + wait 1 + playfram 2 + 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 + goto EnsnaringBroodOverlayLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1286 Quazilisk (cm\zerg\quazilisk.grp) +.headerstart +IsId 546 +Type 26 +Init QuaziliskInit +Death QuaziliskDeath +GndAttkInit QuaziliskGndAttkInit +AirAttkInit QuaziliskGndAttkInit +Unused1 QuaziliskUnused1 +GndAttkRpt QuaziliskGndAttkRpt +AirAttkRpt QuaziliskGndAttkRpt +CastSpell [NONE] +GndAttkToIdle QuaziliskGndAttkToIdle +AirAttkToIdle QuaziliskGndAttkToIdle +Unused2 [NONE] +Walking QuaziliskWalking +WalkingToIdle QuaziliskGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 QuaziliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow QuaziliskBurrow +UnBurrow QuaziliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +QuaziliskInit: + imgul 1287 0 0 # Quazilisk Shadow (cm\zerg\quazilisk-shad.grp) +QuaziliskGndAttkToIdle: + playfram 0x00 + goto QuaziliskLocal00 + +QuaziliskLocal00: + wait 62 + randcondjmp 43 QuaziliskLocal01 + randcondjmp 51 QuaziliskLocal02 + randcondjmp 128 QuaziliskLocal03 + goto QuaziliskLocal00 + +QuaziliskLocal01: + playfram 0x100 + wait 1 + turnccwise 1 + playfram 0xE0 + wait 1 + turnccwise 1 + playfram 0xC0 + wait 1 + turnccwise 1 + playfram 0xE0 + wait 1 + turnccwise 1 + playfram 0x100 + wait 1 + turnccwise 1 + goto QuaziliskGndAttkToIdle + +QuaziliskLocal02: + playfram 0x100 + wait 1 + turncwise 1 + playfram 0xE0 + wait 1 + turncwise 1 + playfram 0xC0 + wait 1 + turncwise 1 + playfram 0xE0 + wait 1 + turncwise 1 + playfram 0x100 + wait 1 + turncwise 1 + goto QuaziliskGndAttkToIdle + +QuaziliskLocal03: + playfram 0x100 + wait 1 + playfram 0xE0 + randcondjmp 85 QuaziliskLocal04 + goto QuaziliskLocal06 + +QuaziliskLocal04: + randcondjmp 128 QuaziliskLocal05 + turnccwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turnccwise 1 + waitrand 8 20 + randcondjmp 25 QuaziliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turncwise 1 + goto QuaziliskLocal06 + +QuaziliskLocal05: + turncwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turncwise 1 + waitrand 8 20 + randcondjmp 25 QuaziliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 QuaziliskLocal06 + turnccwise 1 + goto QuaziliskLocal06 + +QuaziliskLocal06: + wait 1 + waitrand 7 19 + playfram 0x100 + wait 1 + goto QuaziliskGndAttkToIdle + +QuaziliskDeath: + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + playsndbtwn 1707 1708 # Quazilisk death 01, 02 + setfldirect 0 + playfram 672 + wait 1 + playfram 673 + wait 1 + playfram 674 + wait 1 + playfram 675 + wait 1 + playfram 676 + wait 1 + playfram 677 + wait 1 + playfram 678 + wait 1 + lowsprul 814 0 0 # Quazilisk Remains + wait 1 + end + +QuaziliskUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + wait 5 + playsndbtwn 1721 1722 # Quazilisk revive 01, 02 + wait 3 + sprol 754 0 0 + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto QuaziliskGndAttkToIdle + +QuaziliskGndAttkInit: + playfram 0x200 +QuaziliskGndAttkRpt: + wait 1 + nobrkcodestart + playfram 0x200 + imgol 1752 0 0 # Quazilisk Attack Overlay + attack + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x220 + wait 1 + playfram 0x200 + nobrkcodeend + gotorepeatattk + goto QuaziliskGndAttkToIdle + +QuaziliskWalking: + move 5 + wait 1 + playfram 0x20 + move 5 + wait 1 + playfram 0x40 + move 5 + wait 1 + playfram 0x60 + move 5 + wait 1 + playfram 0x80 + move 5 + wait 1 + playfram 0xA0 + move 5 + wait 1 + playfram 0xC0 + move 5 + wait 1 + playfram 0xE0 + move 5 + wait 1 + playfram 0x100 + goto QuaziliskWalking + +QuaziliskSpecialState2: + playfram 0x1E0 + goto SkryrokorLocal00 + +QuaziliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + sigorder 4 + goto SkryrokorLocal00 + +QuaziliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x1C0 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + sigorder 4 + goto QuaziliskGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1290 Almaksalisk (cm\zerg\almaksalisk.grp) +.headerstart +IsId 547 +Type 12 +Init AlmaksaliskInit +Death AlmaksaliskDeath +GndAttkInit AlmaksaliskGndAttkInit +AirAttkInit AlmaksaliskGndAttkInit +Unused1 AlmaksaliskUnused1 +GndAttkRpt AlmaksaliskGndAttkInit +AirAttkRpt AlmaksaliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle AlmaksaliskGndAttkToIdle +AirAttkToIdle AlmaksaliskGndAttkToIdle +Unused2 [NONE] +Walking AlmaksaliskWalking +WalkingToIdle AlmaksaliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AlmaksaliskInit: + imgul 1291 0 42 # Almaksalisk Shadow (cm\zerg\almaksalisk.grp) + playfram 0x00 + wait 2 +AlmaksaliskGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + goto AlmaksaliskGndAttkToIdle + +AlmaksaliskDeath: + playsnd 867 # Zerg\Hydra\ZHyDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +AlmaksaliskUnused1: + playfram 0x00 + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1173 # Hydralisk revive 01 + wait 8 + sprol 753 0 0 # Zerg Air Explosion Large Reversed + wait 10 + setfldirect 12 + tmprmgraphicend + playfram 0x00 + wait 2 + nobrkcodeend + goto AlmaksaliskGndAttkToIdle + +AlmaksaliskGndAttkInit: + wait 1 + nobrkcodestart + playsndbtwn 1299 1300 # Almaksalisk weaponfire 01, 02 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + attackwith 1 + wait 2 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + attackwith 1 + wait 2 + nobrkcodeend + gotorepeatattk + goto AlmaksaliskGndAttkToIdle + +AlmaksaliskWalking: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0xC0 + wait 1 + goto AlmaksaliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1282 Zoryusthaleth (cm\zerg\zoryusthaleth.grp) +.headerstart +IsId 549 +Type 26 +Init ZoryusthalethInit +Death ZoryusthalethDeath +GndAttkInit ZoryusthalethGndAttkInit +AirAttkInit ZoryusthalethGndAttkInit +Unused1 ZoryusthalethUnused1 +GndAttkRpt ZoryusthalethGndAttkInit +AirAttkRpt ZoryusthalethGndAttkInit +CastSpell ZoryusthalethCastSpell +GndAttkToIdle ZoryusthalethGndAttkToIdle +AirAttkToIdle ZoryusthalethGndAttkToIdle +Unused2 [NONE] +Walking ZoryusthalethWalking +WalkingToIdle ZoryusthalethGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 ZoryusthalethSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ZoryusthalethBurrow +UnBurrow ZoryusthalethUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZoryusthalethInit: + imgul 1283 0 0 # Zoryusthaleth Shadow (cm\zerg\zoryusthaleth-shad.grp) +ZoryusthalethGndAttkToIdle: + playfram 0x00 + goto ZoryusthalethLocal00 + +ZoryusthalethLocal00: + wait 62 + randcondjmp 25 ZoryusthalethLocal03 + randcondjmp 32 ZoryusthalethLocal02 + randcondjmp 100 ZoryusthalethLocal01 + goto ZoryusthalethLocal00 + +ZoryusthalethLocal01: + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + randcondjmp 68 ZoryusthalethLocal04 + goto ZoryusthalethLocal06 + +ZoryusthalethLocal02: + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x44 + wait 1 + turnccwise 1 + playfram 0x55 + wait 1 + turnccwise 1 + playfram 0x44 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethLocal03: + playfram 0x33 + wait 1 + turncwise 1 + playfram 0x44 + wait 1 + turncwise 1 + playfram 0x55 + wait 1 + turncwise 1 + playfram 0x44 + wait 1 + turncwise 1 + playfram 0x33 + wait 1 + turncwise 1 + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethLocal04: + randcondjmp 128 ZoryusthalethLocal05 + turnccwise 1 + wait 1 + randcondjmp 25 ZoryusthalethLocal06 + turnccwise 1 + waitrand 8 20 + randcondjmp 25 ZoryusthalethLocal06 + turncwise 1 + wait 1 + randcondjmp 25 ZoryusthalethLocal06 + turncwise 1 + wait 1 + goto ZoryusthalethLocal06 + +ZoryusthalethLocal05: + turncwise 1 + wait 1 + randcondjmp 25 ZoryusthalethLocal06 + turncwise 1 + waitrand 8 20 + randcondjmp 25 ZoryusthalethLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 ZoryusthalethLocal06 + turnccwise 1 + goto ZoryusthalethLocal06 + +ZoryusthalethLocal06: + wait 1 + waitrand 7 19 + playfram 0xbb + wait 1 + playfram 0xaa + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethDeath: + playsnd 1917 # Zoryusthaleth death 01 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 + lowsprul 823 0 0 # Zoryusthaleth Remains + wait 1 + end + +ZoryusthalethUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1171 # Ultrokor death reversed + wait 14 + setfldirect 10 + nobrkcodeend + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0xcc + wait 1 + playfram 0xbb + wait 1 + playfram 0xaa + nobrkcodeend + gotorepeatattk + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethCastSpell: + playfram 0x00 + wait 1 + nobrkcodestart + playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + castspell + nobrkcodeend + gotorepeatattk + goto ZoryusthalethGndAttkToIdle + +ZoryusthalethWalking: + 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 + move 5 + wait 1 + playfram 0x99 + goto ZoryusthalethWalking + +ZoryusthalethSpecialState2: + playfram 0x154 + goto SkryrokorLocal00 + +ZoryusthalethBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x143 + wait 1 + playfram 0x154 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +ZoryusthalethUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x121 + wait 1 + playfram 0x110 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0xff + wait 1 + playfram 0xee + wait 1 + sigorder 4 + goto ZoryusthalethGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1295 Rililisk (cm\zerg\rililisk.grp) +.headerstart +IsId 550 +Type 12 +Init RililiskInit +Death RililiskDeath +GndAttkInit RililiskGndAttkInit +AirAttkInit RililiskGndAttkInit +Unused1 [NONE] +GndAttkRpt RililiskGndAttkInit +AirAttkRpt RililiskGndAttkInit +CastSpell [NONE] +GndAttkToIdle RililiskGndAttkToIdle +AirAttkToIdle RililiskGndAttkToIdle +Unused2 [NONE] +Walking RililiskWalking +WalkingToIdle RililiskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +RililiskInit: + imgul 1296 0 42 # Rililisk Shadow (cm\zerg\rililisk.grp) + playfram 0x00 + wait 2 +RililiskGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0x00 + wait 2 + goto RililiskGndAttkToIdle + +RililiskDeath: + randcondjmp 51 RililiskDeathFinal + wait 1 + waitrand 1 3 + goto RililiskDeathFinal +RililiskDeathFinal: + playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + end + +RililiskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0xC0 + wait 1 + playfram 0xE0 + wait 1 + playfram 0x100 + wait 1 + playsnd 1412 # Rililisk weaponfire 01 + attackwith 1 + wait 1 + playfram 0x120 + wait 1 + nobrkcodeend + gotorepeatattk + goto RililiskGndAttkToIdle + +RililiskWalking: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x00 + wait 1 + goto RililiskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1292 Almakis Antre (cm\zerg\AlmakisAntre.grp) +.headerstart +IsId 551 +Type 20 +Init AlmakisAntreInit +Death AlmakisAntreDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AlmakisAntreAlmostBuilt +Built AlmakisAntreBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AlmakisAntreIsWorking +WorkingToIdle AlmakisAntreWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AlmakisAntreInit: + playfram 0x00 + imgul 1293 0 0 # Almakis Antre Shadow (cm\zerg\AlmakisAntre-shad.grp) + goto AlmakisAntreWorkingToIdle + +AlmakisAntreWorkingToIdle: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + goto AlmakisAntreWorkingToIdle + +AlmakisAntreDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +AlmakisAntreAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto AlmakisAntreBuilt + +AlmakisAntreBuilt: + playfram 0x00 + wait 2 + goto AlmakisAntreWorkingToIdle + +AlmakisAntreIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + waitrand 1 2 + playfram 2 + wait 1 + playfram 1 + wait 1 + goto AlmakisAntreIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 082 Zorkiz Shroud (cm\zerg\zoryusshroud.grp) +.headerstart +IsId 552 +Type 20 +Init ZoryusShroudInit +Death ZoryusShroudDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt ZoryusShroudAlmostBuilt +Built ZoryusShroudBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking ZoryusShroudIsWorking +WorkingToIdle ZoryusShroudWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZoryusShroudInit: + imgul 1285 0 0 # Zorkiz Shroud Shadow (cm\zerg\zoryusshroud-shad.grp) + playfram 0x00 + goto ZoryusShroudWorkingToIdle + +ZoryusShroudWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 3 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 3 + goto ZoryusShroudWorkingToIdle + +ZoryusShroudDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +ZoryusShroudAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +ZoryusShroudBuilt: + playfram 0x00 + wait 2 + goto ZoryusShroudWorkingToIdle + +ZoryusShroudIsWorking: + playfram 4 + wait 2 + playfram 5 + wait 3 + playfram 6 + wait 3 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 8 + wait 2 + playfram 7 + wait 2 + playfram 6 + wait 3 + playfram 5 + wait 2 + goto ZoryusShroudIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1310 Larvosk Cesiant (cm\zerg\larvosk-cesiant.grp) +.headerstart +IsId 553 +Type 20 +Init LarvoskCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt LarvoskCesiantAlmostBuilt +Built LarvoskCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SkryrokorLocal00 +WorkingToIdle SkryrokorLocal00 +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LarvoskCesiantInit: + imgul 1311 0 0 # Larvosk Cesiant Shadow (cm\zerg\larvosk-cesiant-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +LarvoskCesiantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +LarvoskCesiantBuilt: + playfram 0x00 + wait 2 +LarvoskCesiantLocal00: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto LarvoskCesiantLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1352 Akistrokor (cm\zerg\akistrokor.grp) +.headerstart +IsId 576 +Type 13 +Init AkistrokorInit +Death AkistrokorDeath +GndAttkInit AkistrokorGndAttkInit +AirAttkInit AkistrokorGndAttkInit +Unused1 [NONE] +GndAttkRpt AkistrokorGndAttkInit +AirAttkRpt AkistrokorGndAttkInit +CastSpell [NONE] +GndAttkToIdle AkistrokorWalkingToIdle +AirAttkToIdle AkistrokorWalkingToIdle +Unused2 [NONE] +Walking AkistrokorWalking +WalkingToIdle AkistrokorWalkingToIdle +SpecialState1 AkistrokorSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +AkistrokorInit: + imgul 1353 0 42 # Akistrokor Shadow (cm\zerg\akistrokor.grp) + playfram 0x00 + wait 2 +AkistrokorWalkingToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x00 + wait 2 + goto AkistrokorWalkingToIdle + +AkistrokorDeath: + playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV + sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +AkistrokorGndAttkInit: + nobrkcodestart + playfram 0x100 + playsndbtwn 1934 1936 # Akistrokor weaponfire 01, 02, 03 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x180 + attackmelee 2 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto AkistrokorWalkingToIdle + +AkistrokorSpecialState1: + nobrkcodestart + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 2 + playfram 0x160 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 2 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto AkistrokorSpecialState1 + +AkistrokorWalking: + 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 0x00 + wait 1 + goto AkistrokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1354 Konvilisk (cm\zerg\konvilisk.grp) +.headerstart +IsId 577 +Type 26 +Init KonviliskInit +Death KonviliskDeath +GndAttkInit KonviliskGndAttkInit +AirAttkInit KonviliskGndAttkInit +Unused1 KonviliskUnused1 +GndAttkRpt KonviliskGndAttkInit +AirAttkRpt KonviliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle KonviliskGndAttkToIdle +AirAttkToIdle KonviliskGndAttkToIdle +Unused2 [NONE] +Walking KonviliskWalking +WalkingToIdle KonviliskGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 KonviliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow KonviliskBurrow +UnBurrow KonviliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KonviliskInit: + imgul 1355 0 0 # Konvilisk Shadow (cm\zerg\konvilisk-shad.grp) +KonviliskGndAttkToIdle: + playfram 0x00 + goto KonviliskLocal00 + +KonviliskLocal00: + wait 62 + randcondjmp 43 KonviliskLocal01 + randcondjmp 51 KonviliskLocal02 + randcondjmp 128 KonviliskLocal03 + goto KonviliskLocal00 + +KonviliskLocal01: + playfram 0x55 + wait 1 + turnccwise 1 + playfram 0x66 + wait 1 + turnccwise 1 + playfram 0x77 + wait 1 + turnccwise 1 + playfram 0x66 + wait 1 + turnccwise 1 + playfram 0x55 + wait 1 + turnccwise 1 + goto KonviliskGndAttkToIdle + +KonviliskLocal02: + playfram 0x55 + wait 1 + turncwise 1 + playfram 0x66 + wait 1 + turncwise 1 + playfram 0x77 + wait 1 + turncwise 1 + playfram 0x66 + wait 1 + turncwise 1 + playfram 0x55 + wait 1 + turncwise 1 + goto KonviliskGndAttkToIdle + +KonviliskLocal03: + playfram 0x11 + wait 1 + playfram 0x22 + randcondjmp 85 KonviliskLocal04 + goto KonviliskLocal06 + +KonviliskLocal04: + randcondjmp 128 KonviliskLocal05 + turnccwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turnccwise 1 + waitrand 8 20 + randcondjmp 25 KonviliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turncwise 1 + goto KonviliskLocal06 + +KonviliskLocal05: + turncwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turncwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turncwise 1 + waitrand 8 20 + randcondjmp 25 KonviliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turnccwise 1 + wait 1 + randcondjmp 25 KonviliskLocal06 + turnccwise 1 + goto KonviliskLocal06 + +KonviliskLocal06: + wait 1 + waitrand 7 19 + playfram 0x11 + wait 1 + goto KonviliskGndAttkToIdle + +KonviliskDeath: + playsndbtwn 925 927 # Zerg\Queen\ZQuDth00.WAV | Zerg\Queen\ZQuDth02.WAV + sprol 156 0 0 # Matraleth Death (zerg\zquDeath.grp) + playfram 204 + wait 1 + playfram 205 + wait 1 + playfram 206 + wait 1 + playfram 207 + wait 1 + playfram 208 + wait 1 + playfram 209 + wait 1 + playfram 210 + wait 1 + playfram 211 + wait 5 + lowsprul 689 0 0 # Konvilisk Remnants (cm\zerg\konvilisk-death.grp) + wait 1 + end + +KonviliskUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1176 # Matraleth revive 01 + wait 8 + sprol 753 0 0 + wait 10 + setfldirect 15 + tmprmgraphicend + nobrkcodeend + goto KonviliskGndAttkToIdle + +KonviliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + playsndbtwn 1297 1298 # Konvilisk weapon fire 01, 02 + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + attack + wait 1 + nobrkcodeend + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + gotorepeatattk + goto KonviliskGndAttkToIdle + +KonviliskWalking: + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x77 + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0x00 + goto KonviliskWalking + +KonviliskSpecialState2: + playfram 282 + goto SkryrokorLocal00 + +KonviliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xdd + wait 1 + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +KonviliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x121 + wait 1 + playfram 0x110 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0xff + wait 1 + playfram 0xee + wait 1 + sigorder 4 + setfldirect 14 + goto KonviliskGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1363 Tethvith Swamp (cm\zerg\tethvith-swamp.grp) +.headerstart +IsId 581 +Type 20 +Init TethvithSwampInit +Death TethvithSwampDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt TethvithSwampAlmostBuilt +Built TethvithSwampBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking TethvithSwampIsWorking +WorkingToIdle TethvithSwampWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TethvithSwampInit: + imgul 1364 0 0 # Bactith Swamp Shadow (cm\zerg\bactith-swamp-shad.grp) + playfram 0x00 + goto TethvithSwampWorkingToIdle + +TethvithSwampWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 4 + wait 1 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 4 + goto TethvithSwampWorkingToIdle + +TethvithSwampDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +TethvithSwampAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +TethvithSwampBuilt: + playfram 0x00 + wait 1 + randcondjmp 128 TethvithSwampWorkingToIdle + wait 1 + goto TethvithSwampWorkingToIdle + +TethvithSwampIsWorking: + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + waitrand 2 3 + playfram 1 + wait 1 + playfram 0x00 + wait 2 + goto TethvithSwampIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1262 Keskathalor Acid Pool +.headerstart +IsId 582 +Type 1 +Init KeskathalorAcidPoolInit +Death KeskathalorAcidPoolDeath +.headerend +# ----------------------------------------------------------------------------- # + +KeskathalorAcidPoolInit: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 +KeskathalorAcidPoolLocal00: + playfram 6 + wait 2 + playfram 7 + wait 2 + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 17 + wait 2 + goto KeskathalorAcidPoolLocal00 + +KeskathalorAcidPoolDeath: + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1392 Skithrokor (cm\zerg\skithrokor.grp) +.headerstart +IsId 596 +Type 12 +Init SkithrokorInit +Death SkithrokorDeath +GndAttkInit SkithrokorGndAttkInit +AirAttkInit SkithrokorGndAttkInit +Unused1 SkithrokorUnused1 +GndAttkRpt SkithrokorGndAttkInit +AirAttkRpt SkithrokorGndAttkInit +CastSpell [NONE] +GndAttkToIdle SkithrokorWalkingToIdle +AirAttkToIdle SkithrokorWalkingToIdle +Unused2 [NONE] +Walking SkithrokorWalking +WalkingToIdle SkithrokorWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkithrokorInit: + imgul 1393 0 42 # Skithrokor Shadow (cm\zerg\Skithrokor.grp) + playfram 0x00 + wait 2 +SkithrokorWalkingToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x00 + wait 2 + goto SkithrokorWalkingToIdle + +SkithrokorDeath: + playsnd 1536 # Skithrokor death 01 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 849 0 42 # Zerg Unit Rubble Small + wait 1 + end + +SkithrokorUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1732 # Skithrokor revive 01 + wait 8 + sprol 753 0 0 # Zerg Air Explosion Large Reversed + wait 10 + setfldirect 13 + tmprmgraphicend + nobrkcodeend + goto SkithrokorWalkingToIdle + +SkithrokorGndAttkInit: + nobrkcodestart + playfram 0x100 + wait 1 + playfram 0x140 + wait 1 + playsndbtwn 1488 1489 # Skithrokor weapon fire 01, 02 + playfram 0x180 + attackwith 1 + wait 1 + playfram 0x1C0 + wait 1 + nobrkcodeend + gotorepeatattk + playfram 0x00 + wait 1 + goto SkithrokorWalkingToIdle + +SkithrokorWalking: + 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 0x00 + wait 1 + goto SkithrokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1402 Liiralisk (cm\zerg\liiralisk.grp) +.headerstart +IsId 599 +Type 26 +Init LiiraliskInit +Death LiiraliskDeath +GndAttkInit LiiraliskGndAttkInit +AirAttkInit LiiraliskGndAttkInit +Unused1 LiiraliskUnused1 +GndAttkRpt LiiraliskGndAttkRpt +AirAttkRpt LiiraliskGndAttkRpt +CastSpell [NONE] +GndAttkToIdle LiiraliskGndAttkToIdle +AirAttkToIdle LiiraliskGndAttkToIdle +Unused2 [NONE] +Walking LiiraliskWalking +WalkingToIdle LiiraliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 LiiraliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow LiiraliskBurrow +UnBurrow LiiraliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LiiraliskInit: + imgul 1403 0 0 # Liiralisk Shadow (cm\zerg\liiralisk-shad.grp) +LiiraliskWalkingToIdle: + playfram 0x00 + wait 2 +LiiraliskLocal00: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0x00 + wait 2 + goto LiiraliskLocal00 + +LiiraliskDeath: + 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 + +LiiraliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1171 + playfram 0x99 +# 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 LiiraliskGndAttkToIdle + +LiiraliskGndAttkInit: + playfram 0x00 + wait 1 + playfram 0x1C0 + wait 2 +LiiraliskGndAttkRpt: + wait 1 + nobrkcodestart + playsndbtwn 2014 2015 # Liiralisk attack 01, 02 + playfram 0x1E0 + wait 1 + playfram 0x200 + attack + attack + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +LiiraliskGndAttkToIdle: + playfram 0x1E0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x00 + wait 1 + goto LiiraliskWalkingToIdle + +LiiraliskWalking: + move 6 + wait 1 + playfram 0xC0 + move 6 + wait 1 + playfram 0xE0 + move 6 + wait 1 + playfram 0x100 + move 6 + wait 1 + playfram 0x120 + move 6 + wait 1 + playfram 0x140 + move 6 + wait 1 + playfram 0x160 + move 6 + wait 1 + playfram 0x180 + move 6 + wait 1 + playfram 0x1A0 + goto LiiraliskWalking + +LiiraliskSpecialState2: + playfram 0x320 + goto SkryrokorLocal00 + +LiiraliskBurrow: + 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 0x320 + goto SkryrokorLocal00 + +LiiraliskUnBurrow: + 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 0x280 + wait 1 + sigorder 4 + goto LiiraliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1404 Sovroleth (cm\zerg\sovroleth.grp) +.headerstart +IsId 600 +Type 12 +Init SovrolethInit +Death SovrolethDeath +GndAttkInit SovrolethGndAttkInit +AirAttkInit SovrolethGndAttkInit +Unused1 [NONE] +GndAttkRpt SovrolethGndAttkInit +AirAttkRpt SovrolethGndAttkInit +CastSpell SovrolethCastSpell +GndAttkToIdle SovrolethGndAttkToIdle +AirAttkToIdle SovrolethGndAttkToIdle +Unused2 [NONE] +Walking SovrolethWalking +WalkingToIdle SovrolethGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SovrolethInit: + imgul 1405 0 42 # Sovroleth Shadow (cm\zerg\sovroleth.grp) + playfram 0x00 # Frame set 0 + wait 2 +SovrolethGndAttkToIdle: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + goto SovrolethGndAttkToIdle + +SovrolethDeath: + playsnd 785 # Zerg\BROODLING\ZBrDth00.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + lowsprul 850 0 42 # Zerg Unit Rubble Tiny + wait 1 + end + +SovrolethCastSpell: + castspell + gotorepeatattk + sigorder 2 + goto SovrolethLocal01 + +SovrolethLocal01: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + goto SovrolethLocal01 + +SovrolethGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + wait 1 + playfram 0x22 + playsndbtwn 1889 1890 # Sovroleth attack 01, 02 + attackwith 1 + wait 1 + playfram 0x11 + wait 1 + nobrkcodeend + gotorepeatattk + goto SovrolethGndAttkToIdle + +SovrolethWalking: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + goto SovrolethWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1406 Seeker Spores (Bounce) (bullet\spores.grp) +.headerstart +IsId 601 +Type 13 +Init SeekerSporesBounceInit +Death SeekerSporesBounceDeath +GndAttkInit SeekerSporesBounceGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 SeekerSporesBounceSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +SeekerSporesBounceInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +SeekerSporesBounceGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 2 # Frame set 0, direction 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 3 # Frame set 0, direction 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + goto SeekerSporesBounceGndAttkInit + +SeekerSporesBounceDeath: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +SeekerSporesBounceSpecialState1: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto SeekerSporesBounceGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1413 Axitrilisk (cm\zerg\axitrilisk.grp) +.headerstart +IsId 608 +Type 26 +Init AxitriliskInit +Death AxitriliskDeath +GndAttkInit AxitriliskGndAttkInit +AirAttkInit AxitriliskGndAttkInit +Unused1 AxitriliskUnused1 +GndAttkRpt AxitriliskGndAttkInit +AirAttkRpt AxitriliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle SkryrokorLocal00 +AirAttkToIdle SkryrokorLocal00 +Unused2 [NONE] +Walking AxitriliskWalking +WalkingToIdle AxitriliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 AxitriliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow AxitriliskBurrow +UnBurrow AxitriliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AxitriliskInit: + imgul 1414 0 -5 # Axitrilisk Shadow (cm\zerg\axitrilisk-shadow.grp) +AxitriliskWalkingToIdle: + playfram 0x00 + goto SkryrokorLocal00 + +AxitriliskDeath: + playsnd 1536 # Skithrokor death 01 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + lowsprul 849 0 0 # Zerg Unit Rubble Small + wait 1 + end + +AxitriliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 + playfram 448 + wait 2 + playfram 447 + wait 2 + playfram 446 + wait 2 + playfram 445 + wait 2 + playfram 444 + wait 2 + playfram 443 + wait 2 + playfram 442 + wait 2 + setfldirect 14 + nobrkcodeend + goto SkryrokorLocal00 + +AxitriliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x100 + wait 1 + playfram 0x120 + playsndbtwn 1626 1630 # Axitrilisk weapon fire 01, 02, 03, 04, 05 + attackwith 1 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + playsndbtwn 1626 1630 # Axitrilisk weapon fire 01, 02, 03, 04, 05 + attackwith 1 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto AxitriliskWalkingToIdle + +AxitriliskWalking: + 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 0x00 + goto AxitriliskWalking + +AxitriliskSpecialState2: + playfram 0x200 + goto SkryrokorLocal00 + +AxitriliskBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + 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 0x200 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +AxitriliskUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xC0 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1447 Axtoth Axis (cm\zerg\axtothaxis.grp) +.headerstart +IsId 625 +Type 20 +Init AxtothAxisInit +Death AxtothAxisDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AxtothAxisAlmostBuilt +Built AxtothAxisBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle AxtothAxisWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AxtothAxisInit: + playfram 0x00 + imgul 1448 0 0 # Axtoth Axis Shadow (cm\zerg\axtothaxis-shad.grp) + goto AxtothAxisWorkingToIdle + +AxtothAxisWorkingToIdle: + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + goto AxtothAxisWorkingToIdle + +AxtothAxisDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +AxtothAxisAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 + goto AxtothAxisBuilt + +AxtothAxisBuilt: + playfram 0x00 + wait 2 + goto AxtothAxisWorkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1449 Ovileth Death Reversed (zerg\zovDeath.grp) +.headerstart +IsId 626 +Type 0 +Init OvilethDeathReversedInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OvilethDeathReversedInit: + playfram 0x00 + imgol 1450 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 3 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1450 Zerg Air Death Explosion Reversed (Large) (thingy\zAirDthL.grp) +# 1451 Zerg Air Death Explosion Reversed (Small) (thingy\zAirDthS.grp) +.headerstart +IsId 627 +Type 1 +Init ZergAirDeathExplosionReversedInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ZergAirDeathExplosionReversedInit: + playfram 7 + wait 2 + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1462 Dermal Accelerant (Small) (cm\zerg\dermalaccelerant-small.grp) +# 1463 Dermal Accelerant (Medium) (cm\zerg\dermalaccelerant-medium.grp) +# 1464 Dermal Accelerant (Large) (cm\zerg\dermalaccelerant-large.grp) +# 1465 Dermal Accelerant (XLarge) (cm\zerg\dermalaccelerant-xlarge.grp) +.headerstart +IsId 634 +Type 1 +Init DermalAccelerantInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DermalAccelerantInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + 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 18 + wait 1 + playfram 19 + wait 1 + playfram 20 + wait 1 + playfram 21 + wait 1 + playfram 22 + wait 1 + playfram 23 + wait 1 + playfram 24 + wait 1 + playfram 25 + wait 1 + playfram 26 + wait 1 + playfram 27 + wait 1 + playfram 28 + wait 1 + playfram 29 + wait 1 + goto DermalAccelerantInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1472 Izirokor (cm\zerg\izirokor.grp) +.headerstart +IsId 636 +Type 26 +Init IzirokorInit +Death IzirokorDeath +GndAttkInit IzirokorGndAttkInit +AirAttkInit IzirokorGndAttkInit +Unused1 IzirokorUnused1 +GndAttkRpt IzirokorGndAttkRpt +AirAttkRpt IzirokorGndAttkRpt +CastSpell [NONE] +GndAttkToIdle IzirokorGndAttkToIdle +AirAttkToIdle IzirokorGndAttkToIdle +Unused2 [NONE] +Walking IzirokorWalking +WalkingToIdle IzirokorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 IzirokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow IzirokorBurrow +UnBurrow IzirokorUnburrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +IzirokorInit: + imgul 1473 0 0 # Izirokor Shadow (cm\zerg\izirokor-shad.grp) +IzirokorGndAttkToIdle: + playfram 0x00 + goto IzirokorLocal00 + +IzirokorLocal00: + wait 62 + randcondjmp 128 IzirokorLocal01 + goto IzirokorLocal00 + +IzirokorLocal01: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + randcondjmp 34 IzirokorLocal02 + playfram 0x55 + wait 1 + playfram 0x44 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + goto IzirokorGndAttkToIdle + +IzirokorLocal02: + randcondjmp 62 IzirokorLocal03 + randcondjmp 51 IzirokorLocal04 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + goto IzirokorGndAttkToIdle + +IzirokorLocal03: + playfram 0x55 + wait 1 + turnccwise 1 + playfram 0x44 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + goto IzirokorGndAttkToIdle + +IzirokorLocal04: + playfram 0x55 + wait 1 + turncwise 1 + playfram 0x44 + wait 1 + turncwise 1 + playfram 0x33 + wait 1 + turncwise 1 + playfram 0x22 + wait 1 + turncwise 1 + playfram 0x11 + wait 1 + turncwise 1 + goto IzirokorGndAttkToIdle + +IzirokorDeath: + playsnd 1506 # Izirokor death 01 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 + lowsprul 763 0 0 # Izirokor Remnants (cm\zerg\izirokor-corpse.grp) + wait 2 + end + +IzirokorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1181 + playfram 639 + wait 2 + playfram 638 + wait 2 + playfram 637 + wait 2 + playfram 636 + wait 2 + playfram 635 + wait 2 + playfram 634 + wait 2 + playfram 633 + wait 2 + playfram 632 + wait 2 + playfram 631 + wait 2 + playfram 630 + wait 2 + setfldirect 14 + nobrkcodeend + goto IzirokorGndAttkToIdle + +IzirokorGndAttkInit: + playfram 0x1ba + wait 1 + playfram 0x1dc +IzirokorGndAttkRpt: + nobrkcodestart + playsndbtwn 1880 1881 # Izirokor weapon fire 01, 02 + wait 1 + wait 1 + playfram 0x1fe + wait 1 + playfram 0x20f + attack + wait 2 + playfram 0x220 + wait 2 + playfram 0x231 + wait 1 + playfram 0x242 + wait 2 + playfram 0x253 + wait 1 + playfram 0x264 + wait 1 + nobrkcodeend + gotorepeatattk + goto IzirokorGndAttkToIdle + +IzirokorWalking: + 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 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff + goto IzirokorWalking + +IzirokorSpecialState2: + playfram 0x187 + goto SkryrokorLocal00 + +IzirokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x286 + wait 1 + playfram 0x297 + wait 1 + playfram 0x2a8 + wait 1 + playfram 0x2b9 + wait 1 + playfram 0x2ca + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x2db + wait 1 + playfram 0x2ec + wait 1 + sigorder 4 + playfram 0x2fd + goto SkryrokorLocal00 + +IzirokorUnburrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x2ec + wait 1 + playfram 0x2db + wait 1 + playfram 0x2ca + wait 1 + playfram 0x2b9 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x2a8 + wait 1 + playfram 0x297 + wait 1 + sigorder 4 + setfldirect 14 + goto IzirokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1476 Izirokor Energy (cm\zerg\izirokor-projectile.grp) +.headerstart +IsId 637 +Type 13 +Init IzirokorEnergyInit +Death IzirokorEnergyDeath +GndAttkInit IzirokorEnergyGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 IzirokorEnergySpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +IzirokorEnergyInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +IzirokorEnergyGndAttkInit: + sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) + playfram 0x00 + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + sprol 367 0 0 # Glave Wurm Trail + wait 1 + goto IzirokorEnergyGndAttkInit + +IzirokorEnergyDeath: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +IzirokorEnergySpecialState1: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto IzirokorEnergyGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1500 Blackjack Remains (cm\terran\blackjack-corpse.grp) +# 1635 Mason Remnants (cm\terran\mason-remnants.grp) +# 1642 Vulture Remains (cm\terran\vulture-remains.grp) +# 1643 Quazilisk Remains (cm\zerg\quazilisk-remains.grp) +# 1644 Zealot Remains (cm\protoss\zealot-remains.grp) +# 1645 Cyclops Remains (cm\terran\cyclops-remains.grp) +# 1647 Goliath Remains (cm\terran\goliath-remains.grp) +# 1648 Ecclesiast Remains (cm\protoss\ecclesiast-remains.grp) +# 1648 Lanifect Remains (cm\protoss\lanifect-death.grp) +# 1904 Trojan Remains (cm\terran\trojan-death.grp) +# 1905 Envoy Remains (cm\protoss\envoy-death.grp) +# 1906 Ovileth Remains (cm\zerg\ovileth-death.grp) +# 1907 Phalanx (Tank) Remains (cm\terran\phalanx-tank-death.grp) +# 1908 Phalanx (Siege) Remains (cm\terran\phalanx-siege-death.grp) +# 1909 Hierophant Remains (cm\protoss\hierophant-death.grp) +# 1914 Simulacrum Remains (cm\protoss\simulacrum-death.grp) +# 1915 Vassal Remains (cm\protoss\vassal-death.grp) +# 1916 Nathrokor Remains (cm\zerg\nathrokor-death.grp) +.headerstart +IsId 650 +Type 1 +Init GenericRemnantsFiveInit +Death GenericRemnantsFiveDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsFiveInit: + playfram 0x00 + wait 239 +GenericRemnantsFiveDeath: + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + playfram 4 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1509 Plague Field (cm\zerg\plague-field.grp) +.headerstart +IsId 652 +Type 1 +Init PlagueFieldInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +PlagueFieldInit: + playfram 7 + wait 2 +PlagueFieldLocal00: + playfram 8 + wait 2 + playfram 9 + wait 2 + playfram 10 + wait 2 + playfram 11 + wait 2 + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 7 + wait 2 + goto PlagueFieldLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1512 Gosvileth (cm\zerg\gosvileth.grp) +.headerstart +IsId 653 +Type 20 +Init GosvilethInit +Death GosvilethDeath +GndAttkInit GosvilethGndAttkInit +AirAttkInit GosvilethGndAttkInit +Unused1 GosvilethUnused1 +GndAttkRpt GosvilethGndAttkInit +AirAttkRpt GosvilethGndAttkInit +CastSpell [NONE] +GndAttkToIdle GosvilethWalkingToIdle +AirAttkToIdle GosvilethWalkingToIdle +Unused2 [NONE] +Walking GosvilethWalking +WalkingToIdle GosvilethWalkingToIdle +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt GosvilethAlmostBuilt +Built [NONE] +Landing GosvilethWalking +LiftOff GosvilethLiftOff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GosvilethInit: + imgul 1513 0 42 # Gosvileth Shadow (cm\zerg\gosvileth.grp) + playfram 0x00 + goto GosvilethLocal00 +GosvilethLocal00: + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0x00 + goto GosvilethLocal00 + +GosvilethWalkingToIdle: + playfram 0x00 + goto GosvilethLocal00 + +GosvilethDeath: + playsnd 833 # Zerg\DRONE\ZDrDth00.WAV + imgol 59 0 0 # Zerg Air Death Explosion (Small) (thingy\zAirDthS.grp) + wait 1 + lowsprul 850 0 42 # Zerg Unit Rubble Tiny + wait 1 + end + +GosvilethUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1169 # Droleth Revive 01 + wait 8 + sprol 753 0 0 # Zerg Air Death Explosion (Small) + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto GosvilethWalkingToIdle + +GosvilethGndAttkInit: + setvertpos 0 + playsnd 64 # Bullet\SpoogHit.wav + sproluselo 332 0 # Needle Spines (thingy\spooge.grp) + wait 1 + attackwith 1 + gotorepeatattk + goto GosvilethWalkingToIdle + +GosvilethWalking: + setvertpos 0 +GosvilethLocal01: + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0x00 + goto GosvilethLocal01 + +GosvilethAlmostBuilt: + setvertpos 0 + wait 1 + waitrand 4 7 + playsndbtwn 1533 1535 # Droleth mining 01, 02, 03 + wait 2 + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + goto GosvilethAlmostBuilt + +GosvilethLiftOff: + sigorder 16 + goto GosvilethWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1526 Akistrokor Birth (cm\zerg\akistrokor-birth.grp) +# 1527 Alaszileth Birth (cm\zerg\alaszileth-birth.grp) +.headerstart +IsId 657 +Type 13 +Init NewZergAirBirthInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 NewZergZergAirBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +NewZergAirBirthInit: + playfram 0x00 + goto SkryrokorLocal00 + +NewZergZergAirBirthSpecialState1: + wait 1 + nobrkcodestart + 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 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1528 Keskathalor Spores (bullet\Spore2.grp) +.headerstart +IsId 658 +Type 2 +Init KeskathalorSporesInit +Death KeskathalorSporesDeath +GndAttkInit KeskathalorSporesGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KeskathalorSporesInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +KeskathalorSporesGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + goto KeskathalorSporesGndAttkInit + +KeskathalorSporesDeath: + playsndbtwn 1891 1893 # Keskathalor weapon hit 01, 02, 03 + imgol 1733 0 0 # Zerg spore explosion (large) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1529 Double Silent Seeker Spores (bullet\Spore2.grp) +.headerstart +IsId 659 +Type 2 +Init DoubleSilentSeekerSporesInit +Death DoubleSilentSeekerSporesDeath +GndAttkInit DoubleSilentSeekerSporesGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +DoubleSilentSeekerSporesInit: + playfram 0x00 + wait 1 + sigorder 1 + wait 1 +DoubleSilentSeekerSporesGndAttkInit: + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 0x00 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 1 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 2 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + playfram 3 + wait 1 + sprol 368 0 0 # Seeker Spores Overlay (thingy\gSmoke.grp) + goto DoubleSilentSeekerSporesGndAttkInit + +DoubleSilentSeekerSporesDeath: + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1530 Kagralisk (cm\zerg\kagralisk.grp) +.headerstart +IsId 660 +Type 26 +Init KagraliskInit +Death KagraliskDeath +GndAttkInit KagraliskGndAttkInit +AirAttkInit KagraliskGndAttkInit +Unused1 KagraliskUnused1 +GndAttkRpt KagraliskGndAttkInit +AirAttkRpt KagraliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle KagraliskGndAttkToIdle +AirAttkToIdle KagraliskGndAttkToIdle +Unused2 [NONE] +Walking KagraliskWalking +WalkingToIdle KagraliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 KagraliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow KagraliskBurrow +UnBurrow KagraliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KagraliskInit: + imgul 1531 0 0 # Kagralisk Shadow (cm\zerg\kagralisk-shadow.grp) +KagraliskWalkingToIdle: + playfram 0x00 +KagraliskLocal00: + wait 62 + randcondjmp 25 KagraliskLocal01 + randcondjmp 128 KagraliskLocal02 + goto KagraliskLocal00 + +KagraliskLocal01: + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + wait 25 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0x88 + wait 1 + goto KagraliskWalkingToIdle + +KagraliskLocal02: + randcondjmp 128 KagraliskLocal03 + playfram 0x88 + wait 1 + turnccwise 1 + playfram 0x99 + wait 1 + turnccwise 1 + playfram 0xaa + wait 1 + turnccwise 1 + playfram 0xbb + wait 1 + turnccwise 1 + playfram 0xaa + wait 1 + turnccwise 1 + playfram 0x99 + wait 1 + turnccwise 1 + playfram 0x88 + wait 1 + turnccwise 1 + goto KagraliskWalkingToIdle + +KagraliskLocal03: + playfram 0x88 + wait 1 + turncwise 1 + playfram 0x99 + wait 1 + turncwise 1 + playfram 0xaa + wait 1 + turncwise 1 + playfram 0xbb + wait 1 + turncwise 1 + playfram 0xaa + wait 1 + turncwise 1 + playfram 0x99 + wait 1 + turncwise 1 + playfram 0x88 + wait 1 + turncwise 1 + goto KagraliskWalkingToIdle + +KagraliskDeath: + playsnd 867 # Zerg\Hydra\ZHyDth00.WAV + setfldirect 0 + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 5 + lowsprul 780 0 0 # Kagralisk Remnants + wait 1 + end + +KagraliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 # Hydralisk Revive 01 + playfram 365 + wait 2 + playfram 364 + wait 2 + playfram 363 + wait 2 + playfram 362 + wait 2 + playfram 361 + wait 2 + playfram 360 + wait 2 + playfram 359 + wait 2 + playfram 358 + wait 2 + playfram 357 + wait 2 + setfldirect 12 + nobrkcodeend + goto KagraliskWalkingToIdle + +KagraliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + playsnd 1894 # Kagralisk weaponfire 01 + attack + wait 1 + playfram 0x22 + attack + wait 1 + playfram 0x33 + attack + wait 1 + playfram 0x44 + attack + wait 1 + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +KagraliskGndAttkToIdle: + playfram 0x00 + wait 1 + goto KagraliskWalkingToIdle + +KagraliskWalking: + move 4 + wait 1 + playfram 0x88 + move 4 + wait 1 + playfram 0x99 + move 4 + wait 1 + playfram 0xaa + move 4 + wait 1 + playfram 0xbb + move 4 + wait 1 + playfram 0xcc + move 4 + wait 1 + playfram 0xdd + move 4 + wait 1 + playfram 0xee + move 4 + wait 1 + playfram 0xff + goto KagraliskWalking + +KagraliskSpecialState2: + playfram 0x154 + goto KagraliskLocal04 + +KagraliskLocal04: + wait 125 + goto KagraliskLocal04 + +KagraliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x00 + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + playfram 0x154 + sigorder 4 + wait 1 + goto KagraliskLocal04 + +KagraliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x143 + wait 1 + playfram 0x132 + wait 1 + playfram 0x121 + wait 1 + playfram 0x110 + wait 1 + playfram 0x00 + wait 1 + sigorder 4 + goto KagraliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1532 Kagralisk Remains +.headerstart +IsId 661 +Type 1 +Init GenericRemnantsSixInit +Death GenericRemnantsSixDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsSixInit: + playfram 0x00 +GenericRemnantsSixDeath: + wait 239 + wait 1 + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + playfram 3 + wait 255 + wait 24 + playfram 4 + wait 255 + wait 24 + playfram 5 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1534 Kagralisk Weapon Hit +.headerstart +IsId 662 +Type 2 +Init KagraliskWeaponHitInit +Death KagraliskWeaponHitDeath +GndAttkInit KagraliskWeaponHitDeath +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KagraliskWeaponHitInit: + wait 1 + sigorder 1 + wait 1 +KagraliskWeaponHitDeath: + playfram 0x00 + domissiledmg + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1535 Alkag Iteth +.headerstart +IsId 663 +Type 20 +Init AlkagItethInit +Death AlkagItethDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt AlkagItethAlmostBuilt +Built AlkagItethBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking AlkagItethIsWorking +WorkingToIdle AlkagItethWorkingToIdle +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AlkagItethInit: + imgul 1536 0 0 # Izkag Iteth Shadow + playfram 0x00 + goto AlkagItethWorkingToIdle + +AlkagItethWorkingToIdle: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + playfram 0x00 + wait 2 + goto AlkagItethWorkingToIdle + +AlkagItethDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + imgol 60 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + lowsprul 186 0 0 # Zerg Building Rubble (Small) (thingy\ZRubbleS.grp) + wait 1 + end + +AlkagItethAlmostBuilt: + imgol 107 0 0 # Zerg Building Spawn (Small) (zerg\zSpawn01.grp) +AlkagItethBuilt: + playfram 0x00 + wait 2 + goto AlkagItethWorkingToIdle + +AlkagItethIsWorking: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + goto AlkagItethIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1536 Kagralisk Venom +.headerstart +IsId 664 +Type 2 +Init KagraliskVenomInit +Death KagraliskVenomDeath +GndAttkInit KagraliskVenomGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +KagraliskVenomInit: + playfram 0x00 + wait 1 + sigorder 1 + goto KagraliskVenomGndAttkInit + +KagraliskVenomGndAttkInit: + sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) + playfram 0x00 + wait 1 + playfram 1 + wait 1 + playfram 2 + wait 1 + playfram 3 + wait 1 + sprol 367 0 0 # Glave Wurm Trail (thingy\SpoTrail.grp) + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + playfram 7 + wait 1 + goto KagraliskVenomGndAttkInit + +KagraliskVenomDeath: + domissiledmg + imgol 1097 0 0 # Nathrokor Attack Overlay + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1537 Evigrilisk (unit/cm/zerg/evigrilisk.grp) +.headerstart +IsId 665 +Type 26 +Init EvigriliskInit +Death EvigriliskDeath +GndAttkInit EvigriliskGndAttkInit +AirAttkInit EvigriliskGndAttkInit +Unused1 EvigriliskUnused1 +GndAttkRpt EvigriliskGndAttkInit +AirAttkRpt EvigriliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle EvigriliskGndAttkToIdle +AirAttkToIdle EvigriliskGndAttkToIdle +Unused2 [NONE] +Walking EvigriliskWalking +WalkingToIdle EvigriliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 EvigriliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow EvigriliskBurrow +UnBurrow EvigriliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EvigriliskInit: + imgul 1541 0 0 # Evigrilisk Shadow (unit/cm/zerg/evigrilisk-shadow.grp) +EvigriliskWalkingToIdle: + playfram 0x00 +EvigriliskLocal00: + wait 62 + randcondjmp 25 EvigriliskLocal01 + randcondjmp 128 EvigriliskLocal02 + goto EvigriliskLocal00 + +EvigriliskLocal01: + wait 1 + goto EvigriliskWalkingToIdle + +EvigriliskLocal02: + randcondjmp 128 EvigriliskLocal03 + 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 EvigriliskWalkingToIdle + +EvigriliskLocal03: + 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 EvigriliskWalkingToIdle + +EvigriliskDeath: + 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 + +EvigriliskUnused1: + 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 EvigriliskWalkingToIdle + +EvigriliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x11 + playsndbtwn 1898 1900 # Evigrilisk 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 # Evigrilisk weaponfire 01, 02, 03 + attack + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 + attack + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0xbb + playsndbtwn 1898 1900 # Evigrilisk weaponfire 01, 02, 03 + attack + wait 1 + playfram 0xcc + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +EvigriliskGndAttkToIdle: + playfram 0x00 + wait 1 + goto EvigriliskWalkingToIdle + +EvigriliskWalking: + 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 EvigriliskWalking + +EvigriliskSpecialState2: + playfram 0x176 + goto SkryrokorLocal00 + +EvigriliskBurrow: + 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 + +EvigriliskUnBurrow: + 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 EvigriliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1197 Zarcavrokor (cm\zerg\zarcavrokor.grp) +.headerstart +IsId 687 +Type 12 +Init ZarcavrokorInit +Death ZarcavrokorDeath +GndAttkInit ZarcavrokorGndAttkInit +AirAttkInit ZarcavrokorGndAttkInit +Unused1 [NONE] +GndAttkRpt ZarcavrokorGndAttkInit +AirAttkRpt ZarcavrokorGndAttkInit +CastSpell ZarcavrokorCastSpell +GndAttkToIdle ZarcavrokorWalkingToIdle +AirAttkToIdle ZarcavrokorWalkingToIdle +Unused2 [NONE] +Walking ZarcavrokorWalking +WalkingToIdle ZarcavrokorWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZarcavrokorInit: + imgul 1210 0 42 # Zarcavrokor Shadow (cm\zerg\zarcavrokor.grp) + playfram 0x00 + wait 2 +ZarcavrokorWalkingToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x00 + wait 2 + goto ZarcavrokorWalkingToIdle + +ZarcavrokorDeath: + playsnd 852 # Zerg\Guardian\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 186 0 42 # Zerg Building Rubble Small + wait 1 + end + +ZarcavrokorGndAttkInit: + nobrkcodestart + playsndbtwn 1295 1296 # Gorgrokor weapon fire 01, 02 + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + attackwith 1 + playsndbtwn 3171 3174 # Gorgrokor weaponhit 01, 02, 03, 04 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x180 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto ZarcavrokorWalkingToIdle + +ZarcavrokorCastSpell: + nobrkcodestart + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + attackwith 1 + wait 1 + playfram 0x1a0 + castspell + sigorder 2 + playfram 0x1c0 + wait 1 + playfram 0x1a0 + wait 1 + playfram 0x180 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto ZarcavrokorWalkingToIdle + +ZarcavrokorWalking: + 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 0x00 + wait 1 + goto ZarcavrokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1309 Tethzorokor (cm\zerg\tethzorokor.grp) +.headerstart +IsId 692 +Type 26 +Init TethzorokorInit +Death TethzorokorDeath +GndAttkInit TethzorokorGndAttkInit +AirAttkInit TethzorokorGndAttkInit +Unused1 TethzorokorUnused1 +GndAttkRpt TethzorokorGndAttkInit +AirAttkRpt TethzorokorGndAttkInit +CastSpell [NONE] +GndAttkToIdle TethzorokorGndAttkToIdle +AirAttkToIdle TethzorokorGndAttkToIdle +Unused2 [NONE] +Walking TethzorokorWalking +WalkingToIdle TethzorokorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 TethzorokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow TethzorokorBurrow +UnBurrow TethzorokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TethzorokorInit: + imgul 1340 0 0 # Tethzorokor Shadow (cm\zerg\tethzorokor-shadow.grp) + goto TethzorokorLocal42 +TethzorokorLocal42: + playfram 0x00 + wait 1 + goto TethzorokorLocal00 + +TethzorokorLocal00: + wait 62 + randcondjmp 85 TethzorokorLocal01 + goto TethzorokorLocal00 + +TethzorokorLocal01: + 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 + playfram 0x180 + wait 1 + goto TethzorokorLocal42 + +TethzorokorDeath: + 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 + +TethzorokorUnused1: + 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 TethzorokorLocal42 + +TethzorokorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x360 + playsndbtwn 3141 3144 # Tethzorokor weaponfire 01, 02, 03, 04 + attackwith 1 + wait 1 + playfram 0x380 + wait 1 + playfram 0x3A0 + wait 1 + playfram 0x3C0 + wait 1 + playfram 0x3E0 + wait 1 + playfram 0x400 + wait 1 + playfram 0x420 + wait 1 + playfram 0x440 + wait 1 + playfram 0x460 + wait 1 + playfram 0x480 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto TethzorokorGndAttkToIdle + +TethzorokorGndAttkToIdle: + playfram 0x00 + wait 1 + goto TethzorokorLocal00 + +TethzorokorWalking: + 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 + playfram 0x320 + move 5 + wait 1 + playfram 0x340 + move 5 + wait 1 + goto TethzorokorWalking + +TethzorokorWalkingToIdle: + playfram 0x00 + goto TethzorokorLocal00 + +TethzorokorSpecialState2: + playfram 0x4A0 + goto SkryrokorLocal00 + +TethzorokorBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x200 + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x4A0 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +TethzorokorUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x240 + wait 1 + playfram 0x220 + wait 1 + playfram 0x200 + wait 1 + playfram 0x1E0 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + wait 1 + sigorder 4 + goto TethzorokorWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1554 Protathalor (cm\zerg\protathalor.grp) +.headerstart +IsId 694 +Type 26 +Init ProtathalorInit +Death ProtathalorDeath +GndAttkInit ProtathalorGndAttkInit +AirAttkInit ProtathalorGndAttkInit +Unused1 ProtathalorUnused1 +GndAttkRpt ProtathalorGndAttkInit +AirAttkRpt ProtathalorGndAttkInit +CastSpell ProtathalorCastSpell +GndAttkToIdle ProtathalorGndAttkToIdle +AirAttkToIdle ProtathalorGndAttkToIdle +Unused2 [NONE] +Walking ProtathalorWalking +WalkingToIdle ProtathalorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 ProtathalorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ProtathalorBurrow +UnBurrow ProtathalorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ProtathalorInit: + imgul 1568 0 0 # Protathalor Shadow (cm\zerg\protathalor-shadow.grp) + goto ProtathalorLocal42 +ProtathalorLocal42: + playfram 0x00 + wait 1 + goto ProtathalorLocal00 + +ProtathalorLocal00: + wait 62 + randcondjmp 85 ProtathalorLocal01 + goto ProtathalorLocal00 + +ProtathalorLocal01: + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xa0 + wait 1 + playfram 0xc0 + wait 1 + goto ProtathalorLocal42 + +ProtathalorDeath: + playsnd 867 # Zerg\Hydra\ZHyDth00.WAV + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + lowsprul 849 0 0 # Zerg Unit Rubble Small + wait 1 + end + +ProtathalorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 # Hydralisk Revive 01 + sprol 754 0 0 +# 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 ProtathalorLocal42 + +ProtathalorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x200 + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x2A0 + wait 1 + playfram 0x2C0 + playsndbtwn 2536 2538 # Protathalor weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x2E0 + wait 1 + playfram 0x300 + wait 1 + playfram 0x320 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto ProtathalorGndAttkToIdle + +ProtathalorGndAttkToIdle: + playfram 0x00 + wait 1 + goto ProtathalorLocal00 + +ProtathalorCastSpell: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x200 + wait 1 + playfram 0x220 + wait 1 + playfram 0x240 + wait 1 + playfram 0x260 + wait 1 + playfram 0x280 + wait 1 + playfram 0x2A0 + wait 1 + playfram 0x2C0 + playsndbtwn 2014 2015 # Liiralisk attack 01, 02 + castspell + wait 1 + playfram 0x2E0 + wait 1 + playfram 0x300 + wait 1 + playfram 0x320 + wait 1 + nobrkcodeend + gotorepeatattk + goto ProtathalorGndAttkToIdle + +ProtathalorWalking: + move 5 + playfram 0xE0 + wait 1 + move 5 + playfram 0x100 + wait 1 + move 5 + playfram 0x120 + move 5 + wait 1 + playfram 0x140 + move 5 + wait 1 + playfram 0x160 + move 5 + wait 1 + playfram 0x180 + move 5 + wait 1 + playfram 0x1A0 + move 5 + wait 1 + playfram 0x1C0 + move 5 + wait 1 + playfram 0x1E0 + move 5 + wait 1 + goto ProtathalorWalking + +ProtathalorWalkingToIdle: + playfram 0x00 + goto ProtathalorLocal00 + +ProtathalorSpecialState2: + playfram 0x340 + goto SkryrokorLocal00 + +ProtathalorBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xE0 + wait 1 + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 1 + playfram 0x340 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +ProtathalorUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x180 + wait 1 + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + playfram 0x120 + wait 1 + playfram 0x100 + wait 1 + playfram 0xE0 + wait 1 + sigorder 4 + goto ProtathalorWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1569 Vilgorokor (cm\zerg\vilgorokor.grp) +.headerstart +IsId 695 +Type 26 +Init VilgorokorInit +Death VilgorokorDeath +GndAttkInit VilgorokorGndAttkInit +AirAttkInit VilgorokorGndAttkInit +Unused1 VilgorokorUnused1 +GndAttkRpt VilgorokorGndAttkInit +AirAttkRpt VilgorokorGndAttkInit +CastSpell [NONE] +GndAttkToIdle VilgorokorGndAttkToIdle +AirAttkToIdle VilgorokorGndAttkToIdle +Unused2 [NONE] +Walking VilgorokorWalking +WalkingToIdle VilgorokorWalkingToIdle +SpecialState1 [NONE] +SpecialState2 VilgorokorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow VilgorokorBurrow +UnBurrow VilgorokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VilgorokorInit: + imgul 1570 0 0 # Vilgorokor Shadow (cm\zerg\vilgorokor-shadow.grp) + goto VilgorokorLocal42 +VilgorokorLocal42: + playfram 0x00 + wait 1 + goto VilgorokorLocal00 + +VilgorokorLocal00: + wait 62 + randcondjmp 25 VilgorokorLocal01 + goto VilgorokorLocal00 + +VilgorokorLocal01: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + randcondjmp 42 VilgorokorLocal01 + goto VilgorokorLocal42 + +VilgorokorDeath: + 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 + +VilgorokorUnused1: + 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 VilgorokorLocal42 + +VilgorokorGndAttkInit: + playfram 0x121 + wait 1 + nobrkcodestart + playfram 0x132 + wait 1 + playfram 0x143 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x154 + wait 1 + playfram 0x165 + wait 1 + playfram 0x176 + attackmelee 1 894 # Zerg\Ultra\zulHit00.WAV + wait 1 + playfram 0x187 + wait 1 + playfram 0x121 + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto VilgorokorGndAttkToIdle + +VilgorokorGndAttkToIdle: + playfram 0x00 + wait 1 + goto VilgorokorLocal00 + +VilgorokorWalking: + move 5 + playfram 0x55 + wait 1 + move 5 + playfram 0x66 + wait 1 + move 5 + playfram 0x77 + move 5 + wait 1 + playfram 0x88 + move 5 + wait 1 + playfram 0x99 + move 5 + wait 1 + playfram 0xaa + move 5 + wait 1 + playfram 0xbb + move 5 + wait 1 + playfram 0xcc + move 5 + wait 1 + playfram 0xdd + move 5 + wait 1 + playfram 0xee + move 5 + wait 1 + playfram 0xff + move 5 + wait 1 + playfram 0x110 + move 5 + wait 1 + goto VilgorokorWalking + +VilgorokorWalkingToIdle: + playfram 0x00 + goto VilgorokorLocal00 + +VilgorokorSpecialState2: + playfram 0x198 + goto SkryrokorLocal00 + +VilgorokorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x55 + wait 1 + playfram 0x66 + wait 1 + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0xaa + wait 1 + playfram 0x198 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +VilgorokorUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0x88 + wait 1 + playfram 0x77 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x66 + wait 1 + playfram 0x55 + wait 1 + sigorder 4 + goto VilgorokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1372 Cikralisk (cm\zerg\cikralisk.grp) +.headerstart +IsId 696 +Type 26 +Init CikraliskInit +Death CikraliskDeath +GndAttkInit CikraliskGndAttkInit +AirAttkInit CikraliskGndAttkInit +Unused1 CikraliskUnused1 +GndAttkRpt CikraliskGndAttkInit +AirAttkRpt CikraliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle CikraliskGndAttkToIdle +AirAttkToIdle CikraliskGndAttkToIdle +Unused2 [NONE] +Walking CikraliskWalking +WalkingToIdle CikraliskGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 CikraliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow CikraliskBurrow +UnBurrow CikraliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CikraliskInit: + imgul 1394 0 0 # Cikralisk Shadow (cm\zerg\cikralisk-shadow.grp) + goto CikraliskGndAttkToIdle +CikraliskGndAttkToIdle: + playfram 0x00 + wait 1 + goto CikraliskGndAttkToIdle + +CikraliskDeath: + playsndbtwn 3508 3509 # Cikralisk death 01, 02 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 5 + lowsprul 849 0 0 # Zerg Unit Rubble Small + wait 1 + end + +CikraliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1172 # Hydralisk Revive 01 +# 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 CikraliskGndAttkToIdle + +CikraliskGndAttkInit: + playfram 0x120 + wait 1 + nobrkcodestart + playfram 0x140 + wait 1 + playfram 0x160 + attackwith 1 + wait 1 + playfram 0x180 + playsndbtwn 3027 3029 # Cikralisk weaponfire 01, 02, 03 + attackwith 1 + wait 1 + nobrkcodeend + playfram 0x160 + wait 1 + playfram 0x140 + wait 1 + playfram 0x120 + wait 1 + gotorepeatattk + ignorerest + goto CikraliskGndAttkToIdle + +CikraliskWalking: + move 5 + playfram 0x20 + wait 1 + move 5 + playfram 0x40 + wait 1 + move 5 + playfram 0x60 + move 5 + wait 1 + playfram 0x80 + move 5 + wait 1 + playfram 0xA0 + move 5 + wait 1 + playfram 0xC0 + move 5 + wait 1 + playfram 0xE0 + move 5 + wait 1 + playfram 0x100 + move 5 + wait 1 + goto CikraliskWalking + +CikraliskSpecialState2: + playfram 0x1A0 + goto SkryrokorLocal00 + +CikraliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x1A0 + sigorder 4 + wait 1 + goto SkryrokorLocal00 + +CikraliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + sigorder 4 + goto CikraliskGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1395 Tosgrilisk (cm\zerg\tosgrilisk.grp) +.headerstart +IsId 697 +Type 12 +Init TosgriliskInit +Death TosgriliskDeath +GndAttkInit TosgriliskGndAttkInit +AirAttkInit TosgriliskGndAttkInit +Unused1 TosgriliskUnused1 +GndAttkRpt TosgriliskGndAttkInit +AirAttkRpt TosgriliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle TosgriliskGndAttkToIdle +AirAttkToIdle TosgriliskGndAttkToIdle +Unused2 [NONE] +Walking TosgriliskWalking +WalkingToIdle TosgriliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TosgriliskInit: + imgul 1571 0 42 # Tosgrilisk Shadow (cm\zerg\tosgrilisk.grp) + goto TosgriliskGndAttkToIdle +TosgriliskGndAttkToIdle: + playfram 0x00 + wait 2 + goto TosgriliskLocal00 +TosgriliskLocal00: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0x00 + wait 2 + goto TosgriliskLocal00 + +TosgriliskDeath: + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 41 0 0 # Tosgrilisk Death (zerg\zmuDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +TosgriliskUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1173 + wait 8 + sprol 753 0 0 # Zerg Air Death Explosion (Small) + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto TosgriliskGndAttkToIdle + +TosgriliskGndAttkInit: + playfram 0x180 + wait 1 + nobrkcodestart + playfram 0x1C0 + wait 1 + playfram 0x200 + playsndbtwn 2534 2535 # Tosgrilisk weaponfire 01, 02 + attackwith 1 + wait 1 + playfram 0x220 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x200 + playsndbtwn 2534 2535 # Tosgrilisk weaponfire 01, 02 + attackwith 1 + wait 1 + playfram 0x220 + nobrkcodeend + wait 1 + playfram 0x00 + gotorepeatattk + goto TosgriliskGndAttkToIdle + +TosgriliskWalking: + 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 TosgriliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1572 Ghitorokor (cm\zerg\ghitorokor.grp) +.headerstart +IsId 698 +Type 12 +Init GhitorokorInit +Death GhitorokorDeath +GndAttkInit GhitorokorGndAttkInit +AirAttkInit GhitorokorGndAttkInit +Unused1 GhitorokorUnused1 +GndAttkRpt GhitorokorGndAttkInit +AirAttkRpt GhitorokorGndAttkInit +CastSpell [NONE] +GndAttkToIdle GhitorokorGndAttkToIdle +AirAttkToIdle GhitorokorGndAttkToIdle +Unused2 [NONE] +Walking GhitorokorWalking +WalkingToIdle GhitorokorGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +GhitorokorInit: + imgul 1573 0 42 # Ghitorokor Shadow (cm\zerg\ghitorokor.grp) + playfram 0x00 + wait 2 +GhitorokorGndAttkToIdle: + 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 0x00 + wait 2 + goto GhitorokorGndAttkToIdle + +GhitorokorDeath: + playsnd 942 # Zerg\Mutalid\ZMuDth00.WAV + imgol 41 0 0 # Mutalisk Death (zerg\zmuDeath.grp) + wait 1 +# playfram 136 +# wait 1 +# playfram 137 +# wait 1 +# playfram 138 +# wait 1 +# playfram 139 +# wait 1 +# playfram 140 +# wait 1 +# playfram 141 +# wait 1 +# playfram 142 +# wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +GhitorokorUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1173 + wait 8 + sprol 753 0 0 # Zerg Air Death Explosion (Small) + wait 10 + setfldirect 12 + tmprmgraphicend + nobrkcodeend + goto GhitorokorGndAttkToIdle + +GhitorokorGndAttkInit: + wait 1 + nobrkcodestart + playfram 0x77 + playsnd 113 # Bullet\zmuFir00.wav + attackwith 1 + wait 1 + playfram 0x66 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto GhitorokorGndAttkToIdle + +GhitorokorWalking: + 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 0x00 + wait 1 + goto GhitorokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1574 Zobriolisk (cm\zerg\zobriolisk.grp) +.headerstart +IsId 699 +Type 26 +Init ZobrioliskInit +Death ZobrioliskDeath +GndAttkInit ZobrioliskGndAttkInit +AirAttkInit ZobrioliskGndAttkInit +Unused1 ZobrioliskUnused1 +GndAttkRpt ZobrioliskGndAttkInit +AirAttkRpt ZobrioliskGndAttkInit +CastSpell ZobrioliskCastSpell +GndAttkToIdle ZobrioliskGndAttkToIdle +AirAttkToIdle ZobrioliskGndAttkToIdle +Unused2 [NONE] +Walking ZobrioliskWalking +WalkingToIdle ZobrioliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 ZobrioliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ZobrioliskBurrow +UnBurrow ZobrioliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZobrioliskInit: + imgul 1575 0 0 # Zobriolisk Shadow (cm\zerg\zobriolisk-shadow.grp) + goto ZobrioliskLocal42 +ZobrioliskLocal42: + playfram 0x88 + wait 1 + goto ZobrioliskLocal00 + +ZobrioliskLocal00: + wait 62 + randcondjmp 25 ZobrioliskLocal01 + goto ZobrioliskLocal00 + +ZobrioliskLocal01: + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + playfram 0x99 + wait 1 + playfram 0x88 + wait 1 + randcondjmp 42 ZobrioliskLocal01 + goto ZobrioliskLocal42 + +ZobrioliskDeath: + 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 + +ZobrioliskUnused1: + 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 ZobrioliskLocal42 + +ZobrioliskGndAttkInit: + playfram 0xbb + wait 1 + nobrkcodestart + playfram 0xcc + wait 1 + playfram 0xdd + attackwith 1 + wait 1 + playfram 0xcc + attackwith 1 + wait 1 + playfram 0xdd + attackwith 1 + wait 1 + playfram 0xcc + attackwith 1 + wait 1 + playfram 0xdd + attackwith 1 + wait 1 + playfram 0xcc + attackwith 1 + wait 1 + playfram 0xbb + wait 1 + playfram 0xaa + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest + goto ZobrioliskGndAttkToIdle + +ZobrioliskGndAttkToIdle: + playfram 0x99 + wait 1 + playfram 0x88 + wait 1 + goto ZobrioliskLocal00 + +ZobrioliskCastSpell: + playfram 0xbb + wait 1 + nobrkcodestart + playfram 0xcc + wait 1 + playfram 0xdd + playsnd 894 # Zerg\Ultra\zulHit00.WAV + castspell + sigorder 2 + wait 1 + playfram 0xcc + wait 1 + playfram 0xbb + wait 1 + playfram 0xaa + wait 1 + nobrkcodeend + gotorepeatattk + goto ZobrioliskGndAttkToIdle + +ZobrioliskWalking: + move 4 + playfram 0x33 + wait 1 + move 4 + playfram 0x44 + wait 1 + move 4 + playfram 0x55 + wait 1 + move 4 + playfram 0x66 + wait 1 + move 4 + playfram 0x77 + wait 1 + move 4 + playfram 0x00 + wait 1 + move 4 + playfram 0x11 + wait 1 + move 4 + playfram 0x22 + wait 1 + goto ZobrioliskWalking + +ZobrioliskWalkingToIdle: + playfram 0x88 + goto ZobrioliskLocal00 + +ZobrioliskSpecialState2: + playfram 0xee + goto SkryrokorLocal00 + +ZobrioliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x22 + wait 1 + playfram 0xee + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +ZobrioliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x22 + wait 1 + playfram 0x11 + wait 1 + sigorder 4 + goto ZobrioliskGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1593 Tetcaerokor (cm\zerg\tetcaerokor.grp) +.headerstart +IsId 707 +Type 12 +Init TetcaerokorInit +Death TetcaerokorDeath +GndAttkInit TetcaerokorGndAttkInit +AirAttkInit TetcaerokorGndAttkInit +Unused1 [NONE] +GndAttkRpt TetcaerokorGndAttkInit +AirAttkRpt TetcaerokorGndAttkInit +CastSpell TetcaerokorCastSpell +GndAttkToIdle TetcaerokorWalkingToIdle +AirAttkToIdle TetcaerokorWalkingToIdle +Unused2 [NONE] +Walking TetcaerokorWalking +WalkingToIdle TetcaerokorWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +TetcaerokorInit: + imgul 1594 0 42 # Tetcaerokor Shadow (cm\zerg\tetcaerokor.grp) + playfram 0x20 + wait 2 +TetcaerokorWalkingToIdle: + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + playfram 0x100 + wait 2 + playfram 0x120 + wait 2 + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + goto TetcaerokorWalkingToIdle + +TetcaerokorDeath: + playsnd 852 # Zerg\Guardian\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +TetcaerokorGndAttkInit: + nobrkcodestart + playsndbtwn 1295 1296 # Tetcaerokor weapon fire 01, 02 + playfram 0x440 + wait 1 + playfram 0x480 + wait 1 + playfram 0x4C0 + wait 1 + playfram 0x4E0 + attackwith 1 + playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0x500 + wait 1 + playfram 0x520 + wait 1 + playfram 0x540 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto TetcaerokorWalkingToIdle + +TetcaerokorCastSpell: + nobrkcodestart + playsndbtwn 1294 1295 # Tetcaerokor weapon fire 01, 02 + playfram 0x2E0 + wait 1 + playfram 0x320 + wait 1 + playfram 0x360 + castspell + playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0x3A0 + wait 1 + playfram 0x3E0 + wait 1 + playfram 0x400 + wait 1 + playfram 0x00 + wait 1 + nobrkcodeend + gotorepeatattk + goto TetcaerokorWalkingToIdle + +TetcaerokorWalking: + 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 0x00 + wait 1 + goto TetcaerokorWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1699 Spirtith Cesiant (cm\zerg\spirtith-colony.grp) +.headerstart +IsId 727 +Type 20 +Init SpirtithCesiantInit +Death CerebrateDeath +GndAttkInit [NONE] +AirAttkInit SpirtithCesiantAirAttkInit +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt SpirtithCesiantAirAttkInit +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle SpirtithCesiantAirAttkToIdle +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt SpirtithCesiantAlmostBuilt +Built SpirtithCesiantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking SpirtithCesiantBuilt +WorkingToIdle SpirtithCesiantBuilt +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SpirtithCesiantInit: + imgul 1700 0 0 # Spirtith Cesiant Shadow (cm\zerg\spirtith-colony-shadow.grp) + playfram 0x00 + goto SkryrokorLocal00 + +SpirtithCesiantAirAttkInit: + playfram 4 + wait 1 + playfram 5 + attackwith 2 + playsndbtwn 2542 2544 # Spirtith Cesiant weaponfire 01, 02, 03 + wait 2 + playfram 6 + wait 1 + playfram 7 + wait 2 + gotorepeatattk + ignorerest + goto SpirtithCesiantAirAttkToIdle + +SpirtithCesiantAirAttkToIdle: + playfram 4 + wait 2 + goto SpirtithCesiantBuilt + +SpirtithCesiantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) + playfram 0x00 +SpirtithCesiantBuilt: + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 0x00 + wait 2 + goto SpirtithCesiantBuilt + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1717 Zarcavrokor Bone (cm\zerg\zarcavrokor-bone.grp) +.headerstart +IsId 732 +Type 2 +Init ZarcavrokorBoneInit +Death ZarcavrokorBoneDeath +GndAttkInit ZarcavrokorBoneGndAttkInit +AirAttkInit [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZarcavrokorBoneInit: + playfram 0x00 + playsndbtwn 2531 2533 # Gorgrokor weaponfire B 01, 02, 03 + wait 1 + sigorder 1 + playfram 0x20 + wait 1 +ZarcavrokorBoneGndAttkInit: + playfram 0x40 + wait 1 +ZarcavrokorBoneLocal00: + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + wait 1 + playfram 0xC0 + wait 1 + playfram 0xE0 + wait 1 + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + goto ZarcavrokorBoneLocal00 + +ZarcavrokorBoneDeath: + playsnd 79 # Bullet\ZLuHit00.wav + imgol 1097 0 0 # Nathrokor Attack Overlay (cm\effect\nathrokor-breath.grp) + domissiledmg + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1720 Bactalisk Acid (cm\zerg\bactalisk-acid.grp) +.headerstart +IsId 734 +Type 13 +Init BactaliskAcidInit +Death BactaliskAcidDeath +GndAttkInit BactaliskAcidGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 BactaliskAcidSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +BactaliskAcidInit: + playfram 0x00 + wait 1 + sigorder 1 + playfram 0x20 + wait 1 +BactaliskAcidGndAttkInit: + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + goto BactaliskAcidGndAttkInit + +BactaliskAcidDeath: + playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + wait 1 + end + +BactaliskAcidSpecialState1: + playsndbtwn 2853 2855 # Bactalisk weaponhit 01, 02, 03 + sprol 365 0 0 # Glave Wurm/Seeker Spores Hit (thingy\SporeHit.grp) + domissiledmg + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1733 Zerg Spore Explosion Large (cm\zerg\spore-explosion-large.grp) +.headerstart +IsId 742 +Type 1 +Init ZergSporeExplosionLargeInit +Death ZergSporeExplosionLargeDeath +.headerend +# ----------------------------------------------------------------------------- # + +ZergSporeExplosionLargeInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 +ZergSporeExplosionLargeDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 050 Mortothrokor (cm\zerg\mortothrokor.grp) +.headerstart +IsId 743 +Type 26 +Init MortothrokorInit +Death MortothrokorDeath +GndAttkInit MortothrokorGndAttkInit +AirAttkInit [NONE] +Unused1 MortothrokorUnused1 +GndAttkRpt MortothrokorGndAttkRpt +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle MortothrokorGndAttkToIdle +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking MortothrokorWalking +WalkingToIdle MortothrokorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 SkryrokorLocal00 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow MortothrokorBurrow +UnBurrow MortothrokorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +MortothrokorInit: + imgul 1736 0 0 # Mortothrokor Shadow (cm\zerg\mortothrokor-shadow.grp) +MortothrokorGndAttkToIdle: + playfram 0x00 + goto MortothrokorLocal00 + +MortothrokorLocal00: + wait 62 + randcondjmp 25 MortothrokorLocal01 + randcondjmp 128 MortothrokorLocal02 + goto MortothrokorLocal00 + +MortothrokorLocal01: + playfram 0x55 + wait 1 + playfram 0x66 + wait 10 + playfram 0x55 + wait 1 + playfram 0x00 + wait 1 + goto MortothrokorGndAttkToIdle + +MortothrokorLocal02: + randcondjmp 128 MortothrokorLocal03 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x44 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x11 + wait 1 + turnccwise 1 + goto MortothrokorGndAttkToIdle + +MortothrokorLocal03: + playfram 0x11 + wait 1 + turncwise 1 + playfram 0x22 + wait 1 + turncwise 1 + playfram 0x33 + wait 1 + turncwise 1 + playfram 0x44 + wait 1 + turncwise 1 + playfram 0x33 + wait 1 + turncwise 1 + playfram 0x22 + wait 1 + turncwise 1 + playfram 0x11 + wait 1 + turncwise 1 + goto MortothrokorGndAttkToIdle + +MortothrokorDeath: + playsnd 878 # Zerg\Ultra\ZUlDth00.WAV + setfldirect 0 + playfram 595 + wait 2 + playfram 596 + wait 2 + playfram 597 + wait 2 + playfram 598 + wait 2 + playfram 599 + wait 2 + playfram 600 + wait 2 + playfram 601 + wait 2 + lowsprul 868 0 0 # Mortothrokor Remnants (cm\zerg\mortothrokor-remnants.grp) + wait 1 + end + +MortothrokorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1181 # Ultrokor revive 01 + playfram 173 + wait 2 + playfram 172 + wait 2 + playfram 171 + wait 2 + playfram 170 + wait 12 + setfldirect 14 + nobrkcodeend + goto MortothrokorGndAttkToIdle + +MortothrokorGndAttkInit: + playfram 0x00 +MortothrokorGndAttkRpt: + wait 1 + nobrkcodestart + playsndrand 3 891 892 893 # Zerg\Ultra\zulAtt00.WAV | Zerg\Ultra\zulAtt01.WAV | Zerg\Ultra\zulAtt02.WAV + wait 1 + playfram 0xBB + attackwith 1 + playsndbtwn 3145 3146 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0xCC + wait 1 + playfram 0xDD + wait 1 + playfram 0xEE + attackwith 1 + playsndbtwn 3145 3146 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0xFF + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + nobrkcodeend + gotorepeatattk + goto MortothrokorGndAttkToIdle + +MortothrokorWalking: + move 4 + playfram 0x11 + wait 1 + move 4 + playfram 0x22 + wait 1 + move 4 + playfram 0x33 + wait 1 + move 4 + playfram 0x44 + wait 1 + move 4 + playfram 0x55 + wait 1 + move 4 + playfram 0x66 + wait 1 + move 4 + playfram 0x77 + wait 1 + move 4 + playfram 0x88 + wait 1 + move 4 + playfram 0x99 + wait 1 + move 4 + playfram 0xAA + wait 1 + goto MortothrokorWalking + +MortothrokorBurrow: + setfldirect 14 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 + playfram 0x187 + wait 1 + playfram 0x198 + wait 1 + playfram 0x1A9 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x1C0 + wait 1 + playfram 0x1DA + wait 1 + playfram 0x1EB + wait 1 + playfram 0x1FC + wait 1 + playfram 0x20D + wait 1 + playfram 0x21E + wait 1 + playfram 0x231 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +MortothrokorUnBurrow: + wait 1 + waitrand 1 2 + setfldirect 14 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x21E + wait 1 + playfram 0x20D + wait 1 + playfram 0x1DA + wait 1 + playfram 0x185 + wait 1 + playfram 0x176 + wait 1 + playfram 0x165 + wait 1 + sigorder 4 + goto MortothrokorGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1751 Quazilisk Mutate (cm\zerg\quazilisk-mutate.grp) +# 1887 Protathalor Mutate (cm\zerg\protathalor-mutate.grp) +.headerstart +IsId 754 +Type 13 +Init ZergMutateInit +Death EggDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 ZergMutateUnused +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergMutateSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ZergMutateInit: + playfram 0x00 + goto SkryrokorLocal00 + +ZergMutateUnused: + wait 1 + nobrkcodestart + playfram 6 + wait 2 + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto SkryrokorLocal00 + +ZergMutateSpecialState1: + playfram 0 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + wait 2 + playfram 6 + waitrand 1 3 + sigorder 8 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1752 Quazilisk Attack Overlay (cm\zerg\quazilisk-attack.grp) +.headerstart +IsId 755 +Type 1 +Init QuaziliskAttackOverlayInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +QuaziliskAttackOverlayInit: + playfram 0x00 + wait 1 + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1754 Nathrokor Mutate (cm\zerg\nathrokor-mutate.grp) +.headerstart +IsId 757 +Type 13 +Init ZergMutateAirInit +Death EggDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 ZergMutateAirUnused +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 ZergMutateAirSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +ZergMutateAirInit: + playfram 0x00 + goto SkryrokorLocal00 + +ZergMutateAirUnused: + wait 1 + nobrkcodestart + playfram 5 + wait 2 + playfram 4 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto SkryrokorLocal00 + +ZergMutateAirSpecialState1: + playfram 0 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 4 + wait 2 + playfram 5 + waitrand 1 3 + sigorder 8 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1797 Nathrelisk (cm\faction-z\nathrelisk.grp) +.headerstart +IsId 769 +Type 12 +Init NathreliskInit +Death NathreliskDeath +GndAttkInit NathreliskGndAttkInit +AirAttkInit NathreliskGndAttkInit +Unused1 [NONE] +GndAttkRpt NathreliskGndAttkInit +AirAttkRpt NathreliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle NathreliskGndAttkToIdle +AirAttkToIdle NathreliskGndAttkToIdle +Unused2 [NONE] +Walking NathreliskWalking +WalkingToIdle NathreliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +NathreliskInit: + imgul 1798 0 42 # Nathrelisk Shadow (cm\faction-z\nathrelisk.grp) + playfram 0x00 + wait 2 +NathreliskGndAttkToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0x00 + wait 2 + goto NathreliskGndAttkToIdle + +NathreliskDeath: + playsnd 1203 # Nathrokor death 01 + imgol 3 0 0 # Skryrokor Death (zerg\zavDeath.grp) + wait 1 + lowsprul 850 0 42 # Zerg Unit Rubble Tiny + wait 1 + end + +NathreliskGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playfram 0x20 + playsnd 1326 # Nathrokor weaponfire 01 + attack + wait 1 + playfram 0x00 + nobrkcodeend + gotorepeatattk + goto NathreliskGndAttkToIdle + +NathreliskWalking: + 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 0x00 + wait 1 + goto NathreliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1813 Algoztalisk (cm\zerg\algoztalisk.grp) +.headerstart +IsId 771 +Type 12 +Init AlgoztaliskInit +Death AlgoztaliskDeath +GndAttkInit AlgoztaliskGndAttkInit +AirAttkInit AlgoztaliskGndAttkInit +Unused1 AlgoztaliskUnused1 +GndAttkRpt AlgoztaliskGndAttkInit +AirAttkRpt AlgoztaliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle AlgoztaliskGndAttkToIdle +AirAttkToIdle AlgoztaliskGndAttkToIdle +Unused2 [NONE] +Walking AlgoztaliskWalking +WalkingToIdle AlgoztaliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +AlgoztaliskInit: + imgul 1814 0 42 # Algoztalisk Shadow (cm\zerg\algoztalisk.grp) + playfram 0x00 + wait 2 +AlgoztaliskGndAttkToIdle: + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x00 + wait 2 + goto AlgoztaliskGndAttkToIdle + +AlgoztaliskDeath: + playsnd 852 # Zerg\Geszithalor\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 186 0 42 # Zerg Building Rubble Small + wait 1 + end + +AlgoztaliskUnused1: + wait 1 + nobrkcodestart + tmprmgraphicstart + playsnd 1175 # Geszithalor revive 01 + wait 8 + sprol 753 0 0 + wait 10 + setfldirect 14 + tmprmgraphicend + nobrkcodeend + goto AlgoztaliskGndAttkToIdle + +AlgoztaliskGndAttkInit: + playsndbtwn 2995 2997 # Algoztalisk weaponfire 01, 02, 03 + wait 1 + attackwith 1 + gotorepeatattk + goto AlgoztaliskGndAttkToIdle + +AlgoztaliskWalking: + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x00 + wait 1 + goto AlgoztaliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1817 Cherbrathalor (cm\zerg\cherbrathalor.grp) +.headerstart +IsId 772 +Type 26 +Init CherbrathalorInit +Death CherbrathalorDeath +GndAttkInit CherbrathalorGndAttkInit +AirAttkInit CherbrathalorGndAttkInit +Unused1 CherbrathalorUnused1 +GndAttkRpt CherbrathalorGndAttkInit +AirAttkRpt CherbrathalorGndAttkInit +CastSpell [NONE] +GndAttkToIdle CherbrathalorGndAttkToIdle +AirAttkToIdle CherbrathalorGndAttkToIdle +Unused2 [NONE] +Walking CherbrathalorWalking +WalkingToIdle CherbrathalorGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 CherbrathalorSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow CherbrathalorBurrow +UnBurrow CherbrathalorUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +CherbrathalorInit: + imgul 1818 0 4 # Cherbrathalor Shadow (cm\zerg\cherbrathalor-shadow.grp) + goto CherbrathalorGndAttkToIdle +CherbrathalorGndAttkToIdle: + playfram 0x00 + wait 1 + goto SkryrokorLocal00 + +CherbrathalorDeath: + playsnd 878 # Zerg\Ultra\ZUlDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 2 + lowsprul 186 0 0 # Zerg Building Rubble Small + wait 1 + end + +CherbrathalorUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1181 # Ultrokor revive 01 +# playfram 417 + wait 2 +# playfram 416 + wait 2 +# playfram 415 + wait 2 +# playfram 414 + wait 2 +# playfram 413 + wait 2 +# playfram 412 + wait 2 +# playfram 411 + wait 2 +# playfram 410 + wait 2 +# playfram 409 + wait 2 +# playfram 408 + wait 2 + setfldirect 14 + nobrkcodeend + goto CherbrathalorGndAttkToIdle + +CherbrathalorGndAttkInit: + playfram 0x140 + wait 1 +CherbrathalorGndAttkRpt: + playfram 0x180 + nobrkcodestart + wait 1 + playfram 0x1A0 + playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 + attackwith 1 + wait 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 + attackwith 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 + attackwith 1 + playfram 0x1C0 + wait 1 + playfram 0x1A0 + playsndbtwn 2998 3000 # Cherbrathalor weaponfire 01, 02, 03 + attackwith 1 + wait 1 + nobrkcodeend + gotorepeatattk + goto CherbrathalorGndAttkToIdle + +CherbrathalorWalking: + move 3 + playfram 0x20 + wait 1 + move 3 + playfram 0x40 + wait 1 + move 3 + playfram 0x60 + wait 1 + move 3 + playfram 0x80 + wait 1 + move 3 + playfram 0xA0 + wait 1 + move 3 + playfram 0xC0 + wait 1 + move 3 + playfram 0xE0 + wait 1 + move 3 + playfram 0x100 + wait 1 + move 3 + playfram 0x120 + wait 1 + move 3 + playfram 0x00 + goto CherbrathalorWalking + +CherbrathalorBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0xC0 + wait 1 + playfram 0xE0 + wait 1 + sigorder 4 + goto CherbrathalorSpecialState2 + +CherbrathalorUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xC0 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + sigorder 4 + goto CherbrathalorGndAttkToIdle + +CherbrathalorSpecialState2: + playfram 0x280 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1815 Okrimnilisk (cm\zerg\okrimnilisk.grp) +.headerstart +IsId 773 +Type 26 +Init OkrimniliskInit +Death CherbrathalorDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 OkrimniliskUnused1 +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle OkrimniliskGndAttkToIdle +AirAttkToIdle OkrimniliskGndAttkToIdle +Unused2 [NONE] +Walking CherbrathalorWalking +WalkingToIdle OkrimniliskGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 OkrimniliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow OkrimniliskBurrow +UnBurrow OkrimniliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +OkrimniliskInit: + imgul 1816 0 7 # Okrimnilisk Shadow (cm\zerg\okrimnilisk-shadow.grp) + goto OkrimniliskGndAttkToIdle +OkrimniliskGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x40 + wait 2 + playfram 0x20 + wait 2 + goto OkrimniliskGndAttkToIdle + +OkrimniliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1181 # Ultrokor revive 01 +# playfram 417 + wait 2 +# playfram 416 + wait 2 +# playfram 415 + wait 2 +# playfram 414 + wait 2 +# playfram 413 + wait 2 +# playfram 412 + wait 2 +# playfram 411 + wait 2 +# playfram 410 + wait 2 +# playfram 409 + wait 2 +# playfram 408 + wait 2 + setfldirect 14 + nobrkcodeend + goto OkrimniliskGndAttkToIdle + +OkrimniliskBurrow: + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0x20 + wait 1 + playfram 0x40 + wait 1 + playfram 0x60 + wait 1 + playfram 0x80 + wait 1 + playfram 0xA0 + imgol 423 15 12 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -3 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0xC0 + wait 1 + playfram 0xE0 + wait 1 + sigorder 4 + goto OkrimniliskSpecialState2 + +OkrimniliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + imgol 423 12 -9 # Burrowing Dust (thingy\bDust.grp) + playfram 0xC0 + wait 1 + playfram 0xA0 + wait 1 + playfram 0x80 + wait 1 + playfram 0x60 + imgol 423 12 -15 # Burrowing Dust (thingy\bDust.grp) + imgol 423 -12 -12 # Burrowing Dust (thingy\bDust.grp) + wait 1 + playfram 0x40 + wait 1 + playfram 0x20 + wait 1 + sigorder 4 + goto OkrimniliskGndAttkToIdle + +OkrimniliskSpecialState2: + playfram 0x140 + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1222 Kalkalisk Birth (Cocoon) (cm\zerg\kalkalisk-mutate.grp) +.headerstart +IsId 774 +Type 13 +Init KalkaliskBirthTempInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 KalkaliskBirthTempSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +KalkaliskBirthTempInit: + playfram 0 + wait 1 + waitrand 10 15 +KalkaliskBirthTempLocal00: + playfram 0 + wait 1 + goto KalkaliskBirthTempLocal00 + +KalkaliskBirthTempSpecialState1: + wait 1 + nobrkcodestart + playfram 0 + 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 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1883 Sasyrvoleth (cm\zerg\sasyrvoleth.grp) +.headerstart +IsId 789 +Type 12 +Init SasyrvolethInit +Death SasyrvolethDeath +GndAttkInit SasyrvolethGndAttkInit +AirAttkInit SasyrvolethGndAttkInit +Unused1 [NONE] +GndAttkRpt SasyrvolethGndAttkInit +AirAttkRpt SasyrvolethGndAttkInit +CastSpell [NONE] +GndAttkToIdle SasyrvolethWalkingToIdle +AirAttkToIdle SasyrvolethWalkingToIdle +Unused2 [NONE] +Walking SasyrvolethWalking +WalkingToIdle SasyrvolethWalkingToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SasyrvolethInit: + imgul 1884 0 42 # Sasyrvoleth Shadow (cm\zerg\sasyrvoleth.grp) + playfram 0x00 + wait 2 +SasyrvolethWalkingToIdle: + playfram 0x20 + wait 2 + playfram 0x40 + wait 2 + playfram 0x60 + wait 2 + playfram 0x80 + wait 2 + playfram 0xA0 + wait 2 + playfram 0xC0 + wait 2 + playfram 0xE0 + wait 2 + goto SasyrvolethWalkingToIdle + +SasyrvolethDeath: + playsnd 852 # Zerg\Guardian\ZGuDth00.WAV + imgol 28 0 0 # Geszithalor Death (zerg\zguDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +SasyrvolethGndAttkInit: + nobrkcodestart + playsndbtwn 1295 1296 # Sasyrvoleth weapon fire 01, 02 + playfram 0x100 + wait 1 + playfram 0x120 + wait 1 + playfram 0x140 + attackwith 1 + playsndbtwn 894 895 # Zerg\Ultra\zulHit00.WAV | Zerg\Ultra\zulHit01.WAV + wait 1 + playfram 0x160 + wait 1 + playfram 0x180 + wait 1 + playfram 0x1A0 + wait 1 + playfram 0x1C0 + wait 1 + nobrkcodeend + gotorepeatattk + goto SasyrvolethWalkingToIdle + +SasyrvolethWalking: + 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 + goto SasyrvolethWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1931 Liiralisk Glave (cm\zerg\liiralisk-glave.grp) +.headerstart +IsId 795 +Type 13 +Init GlaveWurmInit +Death LiiraliskGlaveDeath +GndAttkInit GlaveWurmGndAttkInit +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 LiiraliskGlaveSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +LiiraliskGlaveDeath: + playsnd 93 # Bullet\ZQuHit02.wav + sprol 944 0 0 # Spore Hit Green Small (cm\zerg\spore-hit-green-small.grp) + domissiledmg + wait 1 + end + +LiiraliskGlaveSpecialState1: + playsndbtwn 91 92 # Bullet\ZQuHit00.wav | Bullet\ZQuHit01.wav + sprol 944 0 0 # Spore Hit Green Small (cm\zerg\spore-hit-green-small.grp) + domissiledmg + goto GlaveWurmGndAttkInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1976 Eskigant (cm\zerg\eskigant.grp) +.headerstart +IsId 805 +Type 20 +Init EskigantInit +Death EskigantDeath +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 [NONE] +SpecialState2 [NONE] +AlmostBuilt EskigantAlmostBuilt +Built EskigantBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking EskigantIsWorking +WorkingToIdle EskigantIsWorking +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +EskigantInit: + imgul 1977 0 0 # Eskigant Shadow (cm\zerg\eskigant.grp) + playfram 0x00 + goto SkryrokorLocal00 + +EskigantDeath: + playsnd 774 # Zerg\Bldg\ZBldgDth.WAV + sprol 185 0 0 # Zerg Building Explosion (thingy\zBldDthS.grp) + wait 3 + end + +EskigantAlmostBuilt: + imgol 108 0 0 # Zerg Building Spawn (Medium) (zerg\zSpawn02.grp) +EskigantBuilt: + playfram 0x00 + wait 2 +EskigantIsWorking: + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + creategasoverlays 0 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + playfram 1 + wait 2 + playfram 2 + wait 2 + playfram 3 + wait 2 + playfram 2 + wait 2 + playfram 1 + wait 2 + playfram 0x00 + wait 2 + goto EskigantIsWorking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1999 Quazrokor (cm\faction-z\quazrokor.grp) +.headerstart +IsId 814 +Type 26 +Init QuazrokorInit +Death QuaziliskDeath +GndAttkInit QuaziliskGndAttkInit +AirAttkInit QuaziliskGndAttkInit +Unused1 QuaziliskUnused1 +GndAttkRpt QuaziliskGndAttkRpt +AirAttkRpt QuaziliskGndAttkRpt +CastSpell [NONE] +GndAttkToIdle QuaziliskGndAttkToIdle +AirAttkToIdle QuaziliskGndAttkToIdle +Unused2 [NONE] +Walking QuaziliskWalking +WalkingToIdle QuaziliskGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 QuaziliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow QuaziliskBurrow +UnBurrow QuaziliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +QuazrokorInit: + imgul 2000 0 0 # Quazrokor Shadow (cm\faction-z\quazrokor-shadow.grp) + goto QuaziliskGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2024 Inzorthrokor (cm\faction-t\inzorthrokor.grp) +.headerstart +IsId 820 +Type 26 +Init ZoryusthalethInit +Death ZoryusthalethDeath +GndAttkInit InzorthrokorGndAttkInit +AirAttkInit InzorthrokorGndAttkInit +Unused1 ZoryusthalethUnused1 +GndAttkRpt InzorthrokorGndAttkInit +AirAttkRpt InzorthrokorGndAttkInit +CastSpell ZoryusthalethCastSpell +GndAttkToIdle ZoryusthalethGndAttkToIdle +AirAttkToIdle ZoryusthalethGndAttkToIdle +Unused2 [NONE] +Walking ZoryusthalethWalking +WalkingToIdle ZoryusthalethGndAttkToIdle +SpecialState1 [NONE] +SpecialState2 ZoryusthalethSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow ZoryusthalethBurrow +UnBurrow ZoryusthalethUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +InzorthrokorGndAttkInit: + playfram 0x00 + wait 1 + nobrkcodestart + playsndbtwn 1918 1919 # Zoryusthaleth weaponfire 01, 02 + playfram 0xaa + wait 1 + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + attack + wait 1 + playfram 0xcc + wait 1 + playfram 0xbb + wait 1 + playfram 0xaa + nobrkcodeend + gotorepeatattk + goto ZoryusthalethGndAttkToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# All shadows +.headerstart +IsId 275 +Type 1 +Init ShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ShadowHeaderInit: + wait 1 + followmaingraphic + goto ShadowHeaderInit + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 914 Zerg Egg (All Mutations) (zerg\Lurkegg.grp) +.headerstart +IsId 353 +Type 20 +Init ZergEggAllMutationsInit +Death ZergEggAllMutationsDeath +GndAttkInit ZergEggAllMutationsGndAttkInit +AirAttkInit ZergEggAllMutationsAirAttkInit +Unused1 ZergEggAllMutationsUnused1 +GndAttkRpt [NONE] # Bugged +AirAttkRpt [NONE] # Bugged +CastSpell ZergEggAllMutationsCastSpell +GndAttkToIdle ZergEggAllMutationsGndAttkToIdle +AirAttkToIdle ZergEggAllMutationsAirAttkToIdle +Unused2 ZergEggAllMutationsUnused2 +Walking ZergEggAllMutationsWalking +WalkingToIdle ZergEggAllMutationsWalkingToIdle +SpecialState1 ZergEggAllMutationsSpecialState1 +SpecialState2 ZergEggAllMutationsSpecialState2 +AlmostBuilt ZergEggAllMutationsAlmostBuilt +Built ZergEggAllMutationsBuilt +Landing ZergEggAllMutationsLanding +LiftOff ZergEggAllMutationsLiftoff +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +ZergEggAllMutationsInit: + imgul 22 0 -4 # Egg Shadow (zerg\zegShad.grp) + playfram 12 + wait 2 + playfram 13 + wait 2 + playfram 14 + wait 2 + playfram 15 + wait 2 + playfram 16 + wait 2 + playfram 0x11 + wait 2 + playfram 18 + waitrand 1 3 +ZergEggAllMutationsLocal00: + 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 ZergEggAllMutationsLocal00 + +ZergEggAllMutationsDeath: + playsnd 830 # Zerg\Egg\ZEgDth00.WAV + lowsprul 143 0 0 # Egg Remnants (zerg\zegDeath.grp) + wait 1 + end + +ZergEggAllMutationsGndAttkInit: + wait 1 + nobrkcodestart + playfram 36 + wait 2 + playfram 37 + wait 2 + playfram 38 + wait 2 + playfram 39 + wait 2 + playfram 40 + wait 2 + playfram 41 + wait 2 + playfram 42 + wait 2 + playfram 43 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto SkryrokorLocal00 + +ZergEggAllMutationsAirAttkInit: + wait 1 + playfram 56 + wait 2 + playfram 57 + wait 2 + playfram 58 + wait 2 + playfram 59 + wait 2 + playfram 60 + wait 2 + playfram 61 + wait 2 + playfram 62 + wait 2 + playfram 63 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsUnused1: + playfram 20 + wait 2 + playfram 21 + wait 2 + playfram 22 + wait 2 + playfram 23 + wait 2 + playfram 24 + wait 2 + playfram 25 + wait 2 + playfram 26 + wait 2 + playfram 27 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsUnused2: + wait 1 + nobrkcodestart + playfram 27 + wait 2 + playfram 26 + wait 2 + playfram 25 + wait 2 + playfram 24 + wait 2 + playfram 23 + wait 2 + playfram 22 + wait 2 + playfram 21 + wait 2 + playfram 20 + sigorder 4 + wait 2 + nobrkcodeend + goto SkryrokorLocal00 + +ZergEggAllMutationsAlmostBuilt: + playfram 28 + wait 2 + playfram 29 + wait 2 + playfram 30 + wait 2 + playfram 31 + wait 2 + playfram 32 + wait 2 + playfram 33 + wait 2 + playfram 34 + wait 2 + playfram 35 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsCastSpell: + wait 1 + nobrkcodestart + playfram 34 + wait 2 + playfram 33 + wait 2 + playfram 32 + wait 2 + playfram 31 + wait 2 + playfram 30 + wait 2 + playfram 29 + wait 2 + playfram 28 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsSpecialState1: + sigorder 4 + goto SkryrokorLocal00 + +ZergEggAllMutationsWalking: + playfram 44 + wait 2 + playfram 45 + wait 2 + playfram 46 + wait 2 + playfram 47 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsWalkingToIdle: + wait 1 + nobrkcodestart + playfram 46 + wait 2 + playfram 45 + wait 2 + playfram 44 + wait 2 + playfram 43 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsSpecialState2: + wait 1 + nobrkcodestart + playfram 19 + wait 2 + playfram 18 + wait 2 + playfram 0x11 + wait 2 + playfram 16 + wait 2 + playfram 15 + wait 2 + playfram 14 + wait 2 + playfram 13 + wait 2 + playfram 12 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto SkryrokorLocal00 + +ZergEggAllMutationsGndAttkToIdle: + wait 1 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsAirAttkToIdle: + wait 1 + nobrkcodestart + playfram 54 + wait 2 + playfram 53 + wait 2 + playfram 52 + wait 2 + playfram 51 + wait 2 + playfram 50 + wait 2 + playfram 49 + wait 2 + playfram 48 + wait 2 + sigorder 4 + wait 2 + nobrkcodeend + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsBuilt: + # Zoryusthaleth mutate + playfram 64 + wait 2 + playfram 65 + wait 2 + playfram 66 + wait 2 + playfram 67 + wait 2 + playfram 68 + wait 2 + playfram 69 + wait 2 + playfram 70 + wait 2 + playfram 71 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsLanding: + # Konvilisk mutate + playfram 72 + wait 2 + playfram 73 + wait 2 + playfram 74 + wait 2 + playfram 75 + wait 2 + playfram 76 + wait 2 + playfram 77 + wait 2 + playfram 78 + wait 2 + playfram 79 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +ZergEggAllMutationsLiftoff: + # Keskathalor mutate + playfram 80 + wait 2 + playfram 81 + wait 2 + playfram 82 + wait 2 + playfram 83 + wait 2 + playfram 84 + wait 2 + playfram 85 + wait 2 + playfram 86 + wait 2 + playfram 87 + waitrand 1 3 + goto ZergEggAllMutationsLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 921 Lakizilisk (zerg\Zlurker.grp) +.headerstart +IsId 354 +Type 26 +Init LakiziliskInit +Death LakiziliskDeath +GndAttkInit LakiziliskGndAttkInit +AirAttkInit LakiziliskGndAttkInit +Unused1 LakiziliskUnused1 +GndAttkRpt LakiziliskGndAttkRpt +AirAttkRpt LakiziliskGndAttkRpt +CastSpell [NONE] +GndAttkToIdle LakiziliskGndAttkToIdle +AirAttkToIdle LakiziliskGndAttkToIdle +Unused2 [NONE] +Walking LakiziliskWalking +WalkingToIdle LakiziliskWalkingToIdle +SpecialState1 [NONE] +SpecialState2 LakiziliskSpecialState2 +AlmostBuilt [NONE] +Built [NONE] +Landing [NONE] +LiftOff [NONE] +IsWorking [NONE] +WorkingToIdle [NONE] +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable [NONE] +Burrow LakiziliskBurrow +UnBurrow LakiziliskUnBurrow +Enable [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +LakiziliskInit: + imgul 922 0 0 # Lakizilisk Shadow (zerg\zZluShad.grp) +LakiziliskWalkingToIdle: + playfram 0x00 +LakiziliskLocal00: + wait 1 + waitrand 62 74 + randcondjmp 128 LakiziliskLocal01 + goto LakiziliskLocal00 + +LakiziliskLocal01: + randcondjmp 128 LakiziliskLocal02 + playfram 0x11 + wait 1 + turnccwise 1 + playfram 0x22 + wait 1 + turnccwise 1 + playfram 0x33 + wait 1 + turnccwise 1 + playfram 0x44 + wait 1 + turnccwise 1 + playfram 0x55 + wait 1 + turnccwise 1 + playfram 0x66 + wait 1 + turnccwise 1 + goto LakiziliskWalkingToIdle + +LakiziliskLocal02: + playfram 0x11 + wait 1 + turncwise 1 + playfram 0x22 + wait 1 + turncwise 1 + playfram 0x33 + wait 1 + turncwise 1 + playfram 0x44 + wait 1 + turncwise 1 + playfram 0x55 + wait 1 + turncwise 1 + playfram 0x66 + wait 1 + turncwise 1 + goto LakiziliskWalkingToIdle + +LakiziliskDeath: + playsnd 1080 # Zerg\LURKER\ZLuDth00.WAV + setfldirect 0 + playfram 0x1a9 + wait 2 + playfram 0x1ba + wait 2 + playfram 0x1cb + wait 2 + playfram 0x1dc + wait 2 + playfram 0x1ed + wait 2 + lowsprul 484 0 0 # Lakizilisk Remnants (zerg\zLakizilisk.grp) + wait 9 # Extra time to prevent nullsprite crash + end + +LakiziliskUnused1: + wait 1 + nobrkcodestart + setfldirect 0 + playsnd 1174 + playfram 0x1ed + wait 2 + playfram 0x1dc + wait 2 + playfram 0x1cb + wait 2 + playfram 0x1ba + wait 2 + playfram 0x1a9 + wait 2 + setfldirect 12 + nobrkcodeend + goto LakiziliskWalkingToIdle + +LakiziliskGndAttkInit: + nobrkcodestart +LakiziliskGndAttkRpt: + wait 1 + playsnd 2484 # Lakizilisk weaponfire 01 + sigorder 32 + attack + wait 1 + nobrkcodeend + gotorepeatattk + ignorerest +LakiziliskGndAttkToIdle: + goto SkryrokorLocal00 + +LakiziliskWalking: + move 4 + wait 1 + playfram 0x11 + move 4 + wait 1 + playfram 0x22 + move 4 + wait 1 + playfram 0x33 + move 4 + wait 1 + playfram 0x44 + move 4 + wait 1 + playfram 0x55 + move 4 + wait 1 + playfram 0x66 + move 4 + wait 1 + playfram 0x00 + goto LakiziliskWalking + +LakiziliskSpecialState2: + playfram 0x198 + goto SkryrokorLocal00 + +LakiziliskBurrow: + sigorder 128 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playsnd 1093 # Zerg\LURKER\ZLuBurrw.wav + playfram 0xbb + wait 1 + playfram 0xcc + wait 1 + playfram 0xdd + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0xee + wait 1 + playfram 0xff + wait 1 + playfram 0x110 + wait 1 + playfram 0x121 + wait 1 + playfram 0x132 + wait 1 + playfram 0x143 + wait 1 + imgol 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x154 + wait 1 + playfram 0x165 + wait 1 + playfram 0x176 + wait 1 + playfram 0x187 + wait 1 + playfram 0x198 + wait 1 + sigorder 4 + goto SkryrokorLocal00 + +LakiziliskUnBurrow: + wait 1 + waitrand 1 2 + imgul 423 0 0 # Burrowing Dust (thingy\bDust.grp) + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0xaa + wait 1 + sigorder 4 + goto LakiziliskWalkingToIdle + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 915 Vithrilisk (zerg\devour.grp) +.headerstart +IsId 357 +Type 12 +Init VithriliskInit +Death VithriliskDeath +GndAttkInit VithriliskGndAttkInit +AirAttkInit VithriliskGndAttkInit +Unused1 [NONE] +GndAttkRpt VithriliskGndAttkInit +AirAttkRpt VithriliskGndAttkInit +CastSpell [NONE] +GndAttkToIdle VithriliskGndAttkToIdle +AirAttkToIdle VithriliskGndAttkToIdle +Unused2 [NONE] +Walking VithriliskWalking +WalkingToIdle VithriliskGndAttkToIdle +SpecialState1 [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VithriliskInit: + imgul 916 0 42 # Vithrilisk Shadow (zerg\devour.grp) + playfram 0x00 + wait 2 +VithriliskGndAttkToIdle: + playfram 0x00 + wait 2 + playfram 0x11 + wait 2 + playfram 0x22 + wait 2 + playfram 0x33 + wait 2 + playfram 0x44 + wait 2 + playfram 0x55 + wait 2 + goto VithriliskGndAttkToIdle + +VithriliskDeath: + playsnd 1097 # Zerg\Vithrilisk\ZDvDth00.WAV + sprol 483 0 0 # Vithrilisk Death (zerg\zdvDeath.grp) + wait 1 + lowsprul 848 0 42 # Zerg Unit Rubble Medium + wait 1 + end + +VithriliskGndAttkInit: + playfram 0x66 + wait 1 + nobrkcodestart + playfram 0x77 + wait 1 + playfram 0x88 + wait 1 + playfram 0x99 + wait 1 + playfram 0x88 + playsnd 1094 # Zerg\Vithrilisk\firesuck.wav + wait 2 + playfram 0x77 + wait 2 + playfram 0x66 + wait 2 + attackwith 2 + nobrkcodeend + gotorepeatattk + goto VithriliskGndAttkToIdle + +VithriliskWalking: + playfram 0x00 + wait 1 + playfram 0x11 + wait 1 + playfram 0x22 + wait 1 + playfram 0x33 + wait 1 + playfram 0x44 + wait 1 + playfram 0x55 + wait 2 + goto VithriliskWalking + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 917 Vithrilisk Birth (thingy\zDvbirth.grp) +.headerstart +IsId 358 +Type 13 +Init VithriliskBirthInit +Death Generic_Wait1End +GndAttkInit [NONE] +AirAttkInit [NONE] +Unused1 [NONE] +GndAttkRpt [NONE] +AirAttkRpt [NONE] +CastSpell [NONE] +GndAttkToIdle [NONE] +AirAttkToIdle [NONE] +Unused2 [NONE] +Walking [NONE] +WalkingToIdle [NONE] +SpecialState1 VithriliskBirthSpecialState1 +.headerend +# ----------------------------------------------------------------------------- # + +VithriliskBirthInit: + playfram 7 + wait 1 + waitrand 10 15 +VithriliskBirthLocal00: + playfram 8 + wait 1 + playfram 9 + wait 1 + playfram 10 + wait 1 + goto VithriliskBirthLocal00 + +VithriliskBirthSpecialState1: + wait 1 + nobrkcodestart + 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 + sigorder 4 + nobrkcodeend + goto SkryrokorLocal00 + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 918 Vithrilisk Death (zerg\zdvDeath.grp) +.headerstart +IsId 359 +Type 0 +Init VithriliskDeathInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +VithriliskDeathInit: + playfram 0x00 + wait 2 + imgol 58 0 0 # Zerg Air Death Explosion (Large) (thingy\zAirDthL.grp) + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 241 Maverick Remnants (terran\tmaDeath.grp) +# 1234 Harakan Remnants (cm\terran\harakan-remnants.grp) +# 1474 Izirokor Remnants (cm\zerg\izirokor-corpse.grp) +.headerstart +IsId 79 +Type 1 +Init GenericRemnantsThreeInit +Death GenericRemnantsThreeDeath +.headerend +# ----------------------------------------------------------------------------- # + +GenericRemnantsThreeInit: + playfram 0x00 + wait 239 +GenericRemnantsThreeDeath: + playfram 1 + wait 255 + wait 24 + playfram 2 + wait 255 + wait 24 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 976 Optical Flare Hit (Small) (thingy\TmeFlshS.grp) +# 977 Optical Flare Hit (Medium) (thingy\TmeFlshM.grp) +# 978 Optical Flare Hit (Large) (thingy\TmeFlshL.grp) +.headerstart +IsId 391 +Type 1 +Init OpticalFlareHitInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +OpticalFlareHitInit: + playfram 0x00 + wait 1 + playfram 1 + wait 1 + 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 Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1478 Creep Morph Overlay (cm\zerg\creep-morph-overlay.grp) +# 1484 Resource Boost Overlay (Small) (cm\effect\resource-boost-overlay-small.grp) +# 1484 Resource Boost Overlay (Medium) (cm\effect\resource-boost-overlay-medium.grp) +# 1484 Resource Boost Overlay (Large) (cm\effect\resource-boost-overlay-large.grp) +.headerstart +IsId 640 +Type 1 +Init CreepMorphOverlayInit +Death CreepMorphOverlayDeath +.headerend +# ----------------------------------------------------------------------------- # + +CreepMorphOverlayInit: + playfram 0x00 + wait 1 + playfram 1 + 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 + tmprmgraphicstart + wait 15 +CreepMorphOverlayDeath: + wait 1 + end + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1659 Durendal weaponfire (cm\terran\durendal-weaponfire.grp) +.headerstart +IsId 717 +Type 1 +Init DurendalWeaponfireInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +DurendalWeaponfireInit: + playfram 0x00 + wait 1 + playfram 3 + wait 1 + playfram 4 + wait 1 + playfram 5 + wait 1 + playfram 6 + wait 1 + goto Generic_Wait1End + +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 2039 Skryrokor Death Reversed (zerg\zavDeath.grp) +.headerstart +IsId 828 +Type 0 +Init SkryrokorDeathReversedInit +Death [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +SkryrokorDeathReversedInit: + wait 1 + tmprmgraphicstart + imgol 1451 0 0 # Zerg Air Death Explosion (Small, Reversed) (thingy\zAirDthS.grp) + wait 16 + tmprmgraphicend + playfram 0x00 + wait 1 + wait 1 + end diff --git a/mpq/sound/cm/t/apostle/revive-01.wav b/mpq/sound/cm/t/apostle/revive-01.wav new file mode 100644 index 0000000000000000000000000000000000000000..4827d719938c5a7d4cb6a3b997bc8fef3a675dd7 GIT binary patch literal 65196 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 literal 0 HcmV?d00001 diff --git a/mpq/tileset/badlands.cv5 b/mpq/tileset/badlands.cv5 index 60a8aca05c4363b638a1c5d19311ae6f4c086166..cc853a78ae25dc4f9c16670caf4671e0e3c7159f 100644 GIT binary patch delta 81 zcmaFzhx^Q5?uHh|Eler@CeMoFn<&60@i+ZnI&%g~#u0_13a1oKD=d*%DzQppwZue5 i83oP^t_d?uHh|Eler@05lT@-2eap diff --git a/mpq/unit/neutral/datadisk.grp b/mpq/unit/cm/protoss/p-laser-large.grp similarity index 100% rename from mpq/unit/neutral/datadisk.grp rename to mpq/unit/cm/protoss/p-laser-large.grp diff --git a/mpq/unit/cm/zerg/corrosive-touch-explosion.grp b/mpq/unit/cm/zerg/corrosive-touch-explosion.grp new file mode 100644 index 0000000000000000000000000000000000000000..53cb2257022f5c3a1f845595762c3899bea6b246 GIT binary patch literal 38349 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 literal 0 HcmV?d00001 diff --git a/mpq/unit/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index 686f657a5a5f2148f1a32386af86bdfb8b059b69..9df69bdbbedbdca5269f940a065e057544cdf00b 100644 GIT binary patch delta 29780 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 KfB%o1!2bgA`iaK? diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 33b0ce31947576e552c6bdb481ae42451e245554..4a71af3d211814d0fd00294a27eeb22ef9f90f53 100644 GIT binary patch delta 612235 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

W8o-5w@`4ZCfmx*Jqo$^}&S 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 z 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�qwoD2S_E(qMu8UFiwdIc{}FGi$HGcD)hd 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


KRA-DMI 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

H?2p`Tr{tl16CSO0O0APp5g|>mQ((shKf`pL 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

h3zS^qVqf->=Xa6Ig4puja)1B!?uv6B zhLhO9!(JZt@RC#cE}qEhd&|ABI{K!!JQZSGcprJRdOFMRqqq+Dk<-=FjRApjH#KlV zf)JR?76i#$f$(~e91i1rklfP;SuD#?4^}9Gtxr}DvLE04FC|yBuUrnL2YaQj918T4 zedQkhKrb!~?T_zTE8^Oc4EFmX;bYDZ^}?~yT-L20a+Jgd^^*e-A+evl0EvFkPY&c{ zF82eUw+-}R#+XJd9y0;M}Nl;MPTfF0) zyd-%^yrXH6N*zlL%L}H~3GIzaihQj@sf8j%Weu4Xr4<<^mgdp0(7a$#kv}RjD=Moq zhDv3HSH9<2v(Gv7>-#?bV69o}S!>qJo;`bRdmpPGuVH$NoN3MbiW#1kyN`t<+0S^n zez-LQ$W6non?YKRu#)&J4_TsDw~Bgachq~?Nz>Kr5!UD!xXGCi)o=NkrkSnr=3Q>& zO2qKy2y1*-E(5rHKb*OMCCc)KUwc41^4qAjyDuEfjUgy%q?HZd`6DemH0g3xG*as7 z>ycI`Nb5&hNg%^VS#P5Pk7J_-sTQNHEg+?%tvf+39fMIqYc+9Ati@NrO2$e} zRgAT+M6=r-lVqhf;d<@drn}AMxp$nEhh8OYyfq^yL;@_p##yCZ+C!&y-^cPfUSIF~ck;&RZIsn+XeVYVnk&A-l?(`1F(bDcE+w@lr2 z)>0N-EuLn{IfA#QSs$_r?!UqM33WC<)%pfx+)S%iX#7Cso@ot56+S=HYTBfCuvf*0 zI_mI@2JOIMfLD;+EH6$ZT^UEFMYZfnzj7kj1b4m)D>Fr#O*fYkB=S zyf-lM6b;lfv#jaJ>EtYH7|PXWw$-P}o!hUSZJoeT1T|)^gfVZfHK8lct?2o9K4FK^ zcR7YAw~oKifIZR7qc}{#4TimQaYxNiVQJQ6Zl{K1jye$56AX7b4}`^m%a}>76F7G& z93)(UIw8V^Rh9FyfQ5(n{;>WK;mxiOMCVHxk0YJFaAb_#WLdQ_zw_Y?vGA12jJ$zs zEB`%<2VM2dm0w4#P@kruN#3Yx($Mi`s220Aak$P?=2;J*YCoE1^@py09y-e#Ro9!X zNg(MrTO0T)<_7N8;}tlv6D-wbzQuP=Z=G-5-Ugz%b8sA6c89T78K0qko-fb4-V3a> zXzY2*_bgVf#07W}oAOUDuttsIPWXZ(S)3f+nVaWPE0*C3Mo_RI7#7e(cD9z7XSaQK491qZ+~;3- zt95|!t}NTYT|U0{vAkEZrN+1|t}x#0w)iT*6K-qRLM|J9Idl1m@R4{m?kLYbqpisS zS!~Hqfido_|0%~?)bJs-kJh$ryC>LLhX%$#TRF~dnxv=c+xed>Z zsjA{O>r13IrdzjQ8zy2AF4Af>bPEl z9v6^^9JNRmf} z-Cd+$e38*Wsa9rk0!6EzgJ+G zxh6azoOh{rAC|#a*dvxF;`lr(de!&^-2YLJJ!1Vg zB5VN!GiHgv%CX!Lska0LIXUo(x7%{WLFZLMZe3;VLmmTGTlLWO&J|%sF1p+;YVI05 zLbj-<)>sn(`Ff2NZ$3L9cT`IZaq!^4JG$)1=i<#=xh12vr-TnKyJcj~lr3sto;3l6 zOY$uKT6UL5t!Wp(iaAcQ%U$@2`tPIG)e*1oSY<5)`5V-yk7BTzp?W-KB|AgG-F(^T zl&oz3_c80LIO#>AR@}mlKPhi{Haa(#I}~q*G-Tq`{gRCBKRjmbXvHU>d$g`Qh z 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�aa8Igp*~%I(o|x`Np($I#B~mFEe4bR`RA-ee*Hy%C~P&^_raRNHe+G= z^;(y&*@M^%%gc*n#hlZGXX>}Mc84)9ieVk)R|-UW z#*xBG_nctRsAtKVNS7}Y?F`#+o7B}Y_V9s8@1v+YFxZoBk#~K;2;P!jU5I%B+e!hc z+3vc31n;jdo_ZQB_8UppRi(p+6OX~|i>y*S_!3RJ#7X;{bfJ^3cGCGyy4*=;J87?z z&Olm%3k-hMHI{98TxAHN8lyfcIbul^LoA1!IEMhLb-bjjb(}+E9UAS>aEFFCw7$@^ zg*u1&99rYhYKK+|^;GL}M^NTauR}{5TIA3|hZZx5QmpOda}XthHt9a`?t zGKYE{TH??mhZYL0!g$sA&v()}PC8rYRE*giL52fxJLxosraIK+&}4@uIW$oyo{=W4 zu5V|L@#OVqH?XgdnWTR69Al``p9?M3A3N!NPI{M<-saFZ9Qn%*ea@jzIW$jbmEJeR z+|&0v@=S-`?r{JM9l>mePIqXELnk_Pv{0-bJC-o^q=cZ zWqXbbgXy@V_{K?FPWodf9p%<2Ms>v zkqD1Dg6-LD9xR zx+A#xSv94jozSx8L)PLEHqBl>wW=cq{e^pQ|F6dAUix$ltYp<-p+r`uZ@-d`%Jf1~ zqnbpOVaGbCtAg78j%Y|w)ZP(w3yLmsM6Is$1f2aLg(%Z!Ie#?%YaEeJrj%QC-A#DX z8`VCl47<}o?Fkyb>WDUrVZJu$eEpbMCGjc0R?xlpaUH!%U?uuNp=J6$q1pQTUszpI zA-4qco9sBh-guycWMRecXt6ESLxpbD&#CCncGqs<2T;wCtNqo?CuFsD(?3qzm9;!+ zwn!sgcVkdlT@LJ_RVuo*9TO2Rm@1v!@}zpKv)!R-&#sha4KLph1g&7^GgKuIz$| zNf~myvy0ufMfuQ^4OqI<(buR)yVyPKTH37631)Is=gd4V=SZ%oz7tLpJ_O*#Ai&h+ z&;$lvtw(cWY-S3Bgq50Z=V-fLp}Kap<0sFek5iA}o;TK?52RHVtNrkJvSRgqP`Z~= zoDZr<<+!j+$E1+1#}2G|0uGy&eAq$l>S}lJOs5ShX0{k?)zgI*>J)J+ISdlWRy{&g zd-b58s-0uq)v;4ATo?<`hpccj1 z?OT-N2W4gadxLs34rAF$D2n6k*cNVaxmRb5<3;Y+v{^+5RSQMicu^eD2{O5@(DCDr zDNi^K^5onB$B7lZst*URP^GRGnocUXz=06put}472sZ70xBE% z;n75vAcEp<3~c}%mgtNm^+`8OaE{W&bt_d}oE_6PUX&F&L7W`X@yLzgU7GVBmiuFd z7tAeh887Qk{poPMHnYRM`X?MRop+HPJ9Ip3%(1RSTF;{O&K1E}SLgyU-KYy?Vp*;W zV9FzQseS$pJEf3~Vt&=eWl#_(~0H`;cfb>RyavckR%rU(L6caF_5ui#}Uvf-!#ZJ5G z-_wrjR82rg0O0h)xIcWOkEu^ z1pw}9jn5%qD*-JU0kE|f&zv!<8A*!UM<|YK2`$vsLa`wEtt_kd9zZ`e^s^ZgJ#%s8 zKZ}$64W|P6I!WE%+iur69!bnX%65)>V)38Ii9e)t26Nr|6UTJvu;Q`3N5j zh-!7M-OkFt&3|Pc2Io!v4B3UNi~HD}n!;SRG6r2mO${{%v2x*rfP;^HSdKznD6~=+ z$#iqCj{c@zHJrDsh!EOE9)jIN>ajj{>;$VfEKFnh@KHV>3)ybo7gn0ksa^rVYa+!- zx(5BNNQHg!QT1ydyS*pd?Z2Pz0q1owlllitaOwBtuAEZK39=hHIjo(>w7vo^bA?^L zySrW)fjvtnb*a9$QEG&~4HHSf?n?bp3nE9s1rICVj?^XoWTbw7BhH5R_viTcttLmD z{9uj`m8m;3aq9T}c>5yH`_P#_Xd5_h4Pzc=V&-LvW#wR&9w)Q!BRbZh(L(ceJ!=8_ z5Jzri$-p zJLxPZo$aLElHR2=Bz;7?9l48gbN*twh<51|P!EHj=wJpozJ@yK&Q7|QlWysxEhl}x zrzw1xlRnOLUN83fzYiljj_faFQ+Da^gdWjf3eDH=6YW9v2OPoXp!rq@TP$>!-snKq z1R;+*kW~)kK_`8m1D!`Gyx-=er%HO4p6TGG3SE@1hl|fthB`)MrTTKAW!U#MSMlL- z|LzCt-jjZC`9gpDxeuH-^?%TQ&i*&hGXzg{yB8{+>Q-rw*v%rw5bOQ|*fRB7KMciU zbJ;Ca>F8W;UD_i;0&f3W0O(pmvmCeVreg8iMeI(Zh34yUp+!2RTFvQi+hM*h(XXgF zY_fXrB`&9%&!ekqx{3-$$ezO)f4vMN^hK}j?EkcS}69i8hN9zX>ip_Un_hF-A?#Ybr^sLcDFCp=mB>3Zs)(CBb4J57-xZ0 z3oG;O=f6Ri*fM;LoD)w2?>_7*!mF z*2ydjr*Q`#lcR=LBs0STX82*2zs2RHtkFecuuqqWL9s3px<=uX`!Eza&Y_PTLEK*ALbFuKKumO! z1yQS$fZ$2=h$KSl3E87IGm~&=?pTReIKrvve;At8_Xf)muB%5Km!sL;tJ45TCE&(J zfFhmPl{HhXlLpDKA+nIT6~uMFSLG+z?S}l>g@^)uUM5#7^q-_=we^^Y*6ZJ|;!R$z zM~q^TO7$T1cvn0fP9)gPZx{%NW{A{_uDx{q>OB%;?(Dj}$>BP4C=i%*jP8sxLlg0{ zSJ(>V7d@9REWbecPb-~`JL#Jpy3Ubb=cFe&^dZVyBA5}5V9-i@BnVIN zu7Qv&hLp{aRHl>{TapZ6C`}D}Yy|_$rnIX_g{=~4HM@r4vK!~sO(YDj-a!?nD!+AP z_?7xKNqhD8lJ@FnJPzP92e3+f#W9Bmgsma_Hnn-exOV>ITofG>kym$j3UF9d;_p*o z<*Mxko0}IxgVP<*N(_4<$o>cxSNL3mr$J}6|n4?7;ecYN5@e++sxka$rr>UuJCJ5;yqMEQk8!{M6DFE zR#>U)?}e3G`9fF;?xP@E_K=!01WoLXS^ieP0h~Ab2%1IhkROwMd3-u5u-5<1~qAzZ(M!h`!;|6RW2r5c~`W8Vw zuHuH;?L7M;kh!`24nN4yyt++$UK_9ekZIEp-*;4h#~RgUQAs1)=%|i3s4~$w4+L$PNv% zePglm>15Y6D2@rT7YEr3?E<0w5oCQq_M0GkD99cNvZXNIBxgpa_!vg`$v$) zZ9d*vq!=M|qaNfeLah7f-=jtvqCa_rZtLmxVp9@R7N3;GtLtRZ0efSh{~ULEa#yc; zUtCP2i?ko$;s92#q%!atqc|wmCE}n$7YWVQ`692-1(Gh-`9e!|j-$^OeYSQx_8E@e z4f>A&y5rSFF500C`(_}3A_j1kKY$vY7=KKTQ(Rv_ZSs%Mb}(8-n74+9G{WfIuxGdm zVGeYh46;Xsoki@y7y@d@eyhG4VRx|l!LbGwn8gOwY9t;VnFM2ef4{74cy%V| zKcWu?e`q>v%V|4pG5c>>h#V^R>-A`{FV;i<-}XDl>Z?t7RrH{^!eLS?SCI zv#)GflfZJIIA6e~I$KmFdZDP+>e--T-RMzAATrxI4Ow`Z#i&MEu${+?F*fvjV}5~G z!y>Z@P524W&_$|blpPbAx>Q!d5+*`pF49P177()wD`SC(*^8vMX1rKv{_Ah?*F7X) z_1E>V%BNM9W5r>7PBCA1wa1iGyO-KY0iTTuvfeziUm{B067308US2i6S+A{L$JDyf zc8{hfdmd9|qj9fK2F!#yjs|sf`++(!+O|Eh_p!Sx*U=6Q7h0@CoOFE_^~Ji*p+1M! zkmjMYYS7z4*{>Jtj~&%MQMu1SwNuz)e8pIgl_iFz52nJvi2GH++R(`d={ryUo^{m)PA?{nu~~IB)#VxP~?Av$1yD(8PPC%~UtHveSojeU6U>zb?-go0_VjYtH zRGe;eJ@Il%z0aoFf5lj6n&S$WKgOltydgdWaPF4iEx`s}ejOw5YL`Uh)yYCDb!gH( z{MbbMz5@bIdeBJ$oxDsZv`$7;&avC`dsMe^w(WWf=lW2kl{)eZma#-v{q*ljJZA#j zeJumz$1t{o^B$q^;r;;WqdL;;PmIqIBqyd15SgHX4DlnKTbu?3k!(7Z+LejRj(5Cr zBweDDGG!5~XF|YFZ~B==gWxh$LPz&+IFCczXWBl^nF*Fb(Fn+de}8%s}!D-TOqv0`vUXD?H8{<7Ld5R*;Jo_VSc9~E!m zrNbIruyZm5iVPuQD-jRPlQpll)#!7%QkUO~_c`wO3>@Xf2HjxqB>#nc6P(vaqXd(+ zsTGOgs7}O_gTZIJkwn^tkfBk z&&jrGkGf=k?fneSn?WPDW5g?$_}4jg=M{Lp$4m7_sz*?*GU}`t_fukBhx<5}>Po6x zHp&u%xg5@=CSn2Re+9alr$%9Tow#6!m`oS(b#U?F9DmgOa7tFb`Ls*-SOS{;2Ee*T zfJ&VhX8Ovy+vRz6NzGOM%KHMGH<1>pjs*uzS?{tE*6Muq{U26am3_6{?2^KO&C|45 zOqUWxaqJuX5;sQ1{ZASeLn}UE%jgJ4A%^U;8 zkInrQS#u>|8wtC4wyK$gcItS|zq?kp`ujcyglQ{J5?f8IMVE{rk!bTSf6Coz%Os52 zZVcdE#3%g${2_HMTu1nJn21CCzFP*cO^Gcbb|sc^;CsC;BHFyjzUwYEZZdWgKAh-} zr3{=m_7w2rXQ_s;OChliycf3O*Rp->gAb#;Gw=?Dkzhp5SlsAAs{V`x6!uX~6^2 zvA?UDRkl5-fT~2QIy7>I-t{yq$g6Ac*kNxpzAwk9mAYh&JXIoGv|B*CL+ZOJc6|Gn z{|G*-cKi}}R=xR*97l*aaRu;4iN_;3#cta+Yo2jjCKQK2eluN4$08!*{{ph_jltrD z>#VL=>Bj+yh%5pM2{@y+r`U0^pa1U9I$S^F&$=1rf?ZSa(pVS5D+tF>?i#yoGhdhE zrnaMe;k~$Vye#S}}e0L1M8m5lh^i)Pe5xE1n|fED^YWT-t;@FoO755Q<1sfu%u9RvFt0$F z{!M7P){odx;o-gQ}azEgwN(%g65|n~-`!LT^wtcqzC= zC9}Z;^3Buo5Qi6q`u7;XlL^1iIK#LsulN_Vkg#*Q!LZEz z?+HZ$k>3pP1|D2lz^B-YK$o3md|zmK&_Qtj7PMfrn6+FAvQYyRhCrfM~ak zcCiGH61$#cFB3L_Z0~=%AkyWVY&?|E!@}1YL^82w-lDTwtQN+cu}f&EwkG%c7_N#noYQt&%wot!2pdN>B;Y}ECer2WWjv(P!)A}vRV2Qkud7O=-H|;A*3^~cOf`Ps z755Ly?4n(`?G#| z$vM;5Wzg=iBG&daVta~N8rk;$G^5((8)M80XjU$jl11!s9liH?ebNk!{9wkvl}J5GGaYqRzY^jKh3E2xO~qTyAs;H z{VGf6W(}GbjhB!eEiSUj4hp!CdL`23yTN#nuSUgnYH2d7IOl(~Eh4K|uskL1yxj$l`+%u1F@N%*#v*baU%NJ_E2?TeNJY00Vg)cJa%_93s zz)bR>+U5IblvGtJ&87#gfqdRE#7Dp;18@Q0(R*KJ1r_k(&J@QR$zCID3E3+GdB`Ov z5-0DBi!A2xyOjA9i_tECm10ol@{Kas3}RKo#$zurFX2K?sJ&m`T8x=18jE63| z7#G!aQ6v>VilzHF0G8}1bNPNBAvIA+Y@}qDO2;n(i_Zd(eOg!yPa1S?z=ITyNSCj~ zc&Mj`5gy5I8nc@l084h1xqK@OxQ^iGH?T6X_ki=IlE+%Id{G+*J;`?m~kYy*xaI6<;2=J;hF->uH`lHDonUb35ott7kA zc!RSrb~Q9|`3?@3s!F7@>m}zUyl1k+ESv1@oBrAVQt$FTK|6QcS5f#K>GZg~l^oN! ze9Mft3}*MvORR~FEJwdU&Qc7@Tt1hCt-#Bl** z`yYUj2U)&6Zd#4p@~C1S>jPNHgEE(Ix4~u*`}K>Ay_A0OnmPO5 za`FoUc9IA6F5hZnS3tWM$)lEe3=d!>56bX?d4tU-HcRrTq2HFk=H>A>Qgmp*OtPTb z1$l9V6$2vIWM4#ukfmTqvBKM@?E%GiXTgCj%2rt*f;)(r3|BD zgN-J(_63$`EwK;&6T8+U;8zSdk>CVz+>B+O4lo9pWG4mer1(_3e0LbL1e&dqJiP1% zx`^3cvTcQ}BpV*^Ae{q|F5du;agj_pMh=E_^EdJ{u&yn%%-eN z789dlktXrRZJHjFx03g&%l9Fr{uxr7Zh|<1^DTAXT)U;``OEy1?6u&$S)6s*Sbb}J zzDHIXGpWvKj(7I|#&VX-@bDVx35}^?m3H00pqFqHbs|~p6O9(SQ4bYWGF9uoItx{) z?hcU?2Y$NBj-DD72qKKRY-BEvm|TKW!_{81jQB%>KjLa|X7&C?1D2>NwReUr(ex`4 zB-bXMCo&`)Zn-Kac{~5O4D9>noP52Yqnoh)gdM{gm_ZPb^OIQ)?w&|MDgiqi0V;Ls zan?hnj-H`f&BMXr`stY3s_3&;%z$48`osMOoVSd|a|6bbhqGS%C%y&G1z69^1fCcTBx((n#&(qLJM_^{R*At$O~#2QlWM+ZIcTv`d2%}_v075CTZx1IynuIq$qTqbpT(@!Z-|qc=3F!VT%h(FXfYaJ zOpDgFD&=OotEWU{SZjF|48!{FR}-FM+F;j+YK7h_sug+}(*9fmpKW0-^4XR-&`NyM z#e>AR^NX|oh86gPG!=tyDfbP#l-GfcVE{O9{Kcr=%~->0)EM|_z+}mMqYjZ^@aY^$ zSLwRz8TT6PBQ>wPryw^rXG?d{i@jEs zfEdny2+Aj@PVL5b+=tflIH@@sG+J^k)S1UjZ4Hogj_xJ2RL>SULbzUCyuj|%?(gfI zN;v_>IZuB5=V#UC(^l;C%KrWu*bmNI#w?SuHpm*_g)R~sxrv`6i`w{HGvAFmPtt4j zN};8Cm&i+X=5^{d=6eI=axtzUAa4jS{o7S%)u(5y*wG1re0wwB#0cbDgar?iZ<$Vf zi&C0Jg?882mno4&%09+vF3xe5 z`?M^X&&U)@ZaOR??i4MLW91=m*=2*JnI4Lxnf|>Ncc6Rnw<5FGLI-h?a8RtmZn5KA zopebLd+d8ZMc?Bs`~3PM+6IZ?82)VGzHzU>LIW~<1d zbv~_Ij8jFo;5%#$52;UY!O@y7IC7 z==AXPNXn~4KA-acRm4erdo7vH!&|}mhnVSCsG2M7nAlzvPN48r3fUO3GnsovI>U&1 zJodcnsa>jux$Vv^lEdXkFp9ND&2ii9=4}SR)cDJUmJ`~?IFguLzGopfYrkH7eJig0 z;v2TR*~0c}Ewn;^FSJU3CG?2?Oz2U4aQ8WRFJbU-IuDP6^LH_im%<@Z^C6X$yU-Ju zV}(nF&EgHvpt{^&$0yTb%M~nIvz9^FG2`@D^>x`2v0}xXH*qV%_7aw_x-GWb zM#TTXfUujna;HHB-P}0bf)xZo`fN^TS2>rMwmJY<8%Q7 zx{t3WE!Hd5Ir%w{vD7YM$-dkxLJX?&!tYa*Nd(j75&uTALEl|^cclU>P9Go|? zE!^Gl4|nKQuz&3LpnBEegU4QCmk>K5fOWEcDw)}aFoH9m{yW<;lkL5MY;UKlBDy+> zSzWLc$QB1kzvE>u)k$=U+Rc)5RisW30lv(iY`%+V#ReR!H$0w?cJM5TQ<(zz=k8nK&o4iQ&Mhjv7zbh}CW2184UE+xy zgqxlg(98sw4OMf8-NEh~u!*BhA#Gk7_VgltP3)6%a_Xd)FAka` z)TIBzTltmrCMUZGe4^%MpfH;NHEp?&M$s0Gx(`zs_%Xf6EP-?MuXm}E3}k*|0PP}r z3ekryS0ygITVFle^crzvNcZZTkI%`u$u8l9<`B9XGcTuXd5J93zE83BilIv6p{~G$ z*uYG?T+O)?Bl(;su(c{T{Wt}si7}6`{)9yZT!};Wzwu9+jN^o^*Rh~H*A@Mwn(Mah z!ASu(m(xuu-FPukqXTw#<)cgiqNN}>!%$%g(67D=;Ohxr>cDA$1D|4m-xLvwT}T-4 zMf&bu8pO1N!H7l%c+>uCHpeQRKY<^^Yu6VrQ?7exu!aWpn1GsqZ~}D#8xuZuG@)L; zqS-GgU~oAN%4pyX82GgJJr0b0y5zmH>IHUTM4ck)AvN%BJI?cYX9yBvA-KVq1#f5> zCTyc#espQrzx35;rcY6yL;H6B(pN&CN&Q~x{~j#m_^1EjzUcu6U;Ybl6b^<49BeoG zTy`E^ooQk?wc+jIeznocmGkN9;?w5mVyZg<;3nY40Dw={>Mm>wb-L1_JB@IUM_0)!(C9rIshb-Jtt9lTLFO8v5vJid`6-|)59 z0bw3%`NSr5WO$dU!h6sq72yWw_X$U&QniGt!uZufgX^&0CBW=lK?6+1Ps3q^)fa z-wa!G$GuE1@txqMkMY9MLGm}Oi;Y;MV|XvAY4Q&t@3HL zPPJQVcMkK7qHlgQ)c(@;NBS{1Zv|1;4p8%#+TGd~5XM{VF)(Z$kBpL2B+2&%jBck< zJ&jIcg4`&eTs#iqU*Mfp!4nSmuVQRq`|G>F(pmZ{bBXa#^oI~lZ$rAm+Y|j&O{N{w zzWjN*z&XMg-C10K?XTOwl)rTtv&Vu#77ZpKdp4k=k#dl_>r>QhrKX(;j8{K?uxSMu zgXQpKWEw#=1pUxYI)kP~dz{mg@l?6upxT7Fvnd#F@+<(@fUNo$M$Mt}32@#LLUBB5 z8D1+Gy64~HmG$Rjyz*ASs)$xcXw^5Efmzl66B9VeG1&L7-fHac3fQ}8AKnf2$1rvF z2e@7*kBH{Q+N!fZ-h26JdoPJ)3JCFH7)VUGgcb)r;?HNJDc?7duw#WZLD>?qf{21Nrgm9|iBT;dynM zV;n2a3U#zY!-eMSjQ25Txf)0NTKfy}GdS;FI(0ivInc@)NPiW&Oem@ycC7Y6MTE!p z0K9J?22K>qKVj5GI(ryPjbG~%TCFpN@dv%^*t9@~Gw30o9;z|JR;4L+$9CJw{D<`7 z^fTLdC;Rk^@0kHWL=zfR(O|i{G~2c#Vn1(#0J z7w1m&xqSVdBw}Z8(j37Fo1o7Pb=YM6B4%tNP1TpnG}5Op&0tmg^wW2k0nmk~u*9bB zzQS(X?Y$^uUBs-DoUEBW|8mjUR984t{2an!d$CXf7@tW+@;b^9U0G@#C=o6KClH8{ z$Ah*N>aI}NJYw6?u~clOVjZUCn91X33)(k*2u~aSs6qQLu`uMVp?apM5di&rhsdP< ziXx~@PxU;3k-Y(o^8+PZ;)}KKU6vGWVhAfcUsp@IOs5U0SD$vn7sy-zM_1BOA{~`u z9!?*8_oTpa5C;SKELC*C;366m(TmN&mi`5{kimfIcr+>Xq=C5+-E zX6{bWP4qt9U2+fC`P0p**93x-`T&eIo8|aQMb=JJKOuun&*7GInXVgTzO2-*CemNg zUx4#2p>3*@5idx+EX?5rf}Lha7gUB z2NsQEg&jL~Bm`z@aHIZ1PWl$<$ECa_dX-SGeo!brfGD(F-zl_G-}bUu8|m>?1iYrv z>rI%nJ2k@Q{)Bi8$7X{3NLpkeft3Vy?=Gu7O?}>TGG*xOrmEQ`P#wd3+W3%XcC7yM zO*yIDYA7Lzglq>y?MksbL_LM-!&SmtF>(67&E^1qC*1#sP&i);5Ep+q} zQ9{Is0D`0PYIK1-F4{4NfY`nOvNgN7?o3CJekFy_@J-r$o~e)wZ3A;pAj zHxS+ru?f8H_(V^FnN0Q#0m^i1e_afGvwpy5IW9Q>i#=clV$lcWHjXSKDv_x1ab|E| zjZTz<`^X%s7E{$CP8B_Z@n7mdj?wr9yZ%>ESw-bROuHpu=T+)3ISP;8D&B8~+15b$ zea-oyurQI;hr>3cKWvx!ZBd`$I0XH#F@~&^mJ>gU_(=i0^K(V-LS-6UtzPx1IfA~5 za5v!*0eD4vjQqUOe*^eBef3JtiE8zOkD8ln9PQTA4zFV7;OqAN!p+x_DyP`ZTuq=g zJ=WjNfvYC&KFq|W=(#E7d`0i`0p{1AE3ktM5CaoUC;e-lxlVuVHI?%E0D0rWeikrO zDUZ`@vjOnhwu^cJL*&q+y>f|SQmJuKa~LyazSt3aTuK^qDK(2Pg{DL__-N1o`5?ci znfT>M@XSTP6cDovnE%zLzM(RIAe3|ett_K*ZvvF##rs~JcN3y@eoS^!8Js@{h^dq( z30`qIz!tz)R_vIDADQ;u^7Xlf9m(W6;f41dqsX-(mq0F@Tu*Xih>HcMPu*{Ji*j40 zece(0v>Lxg0`bbfmZasjTntHcu6?eBeu&;lG#6 z9aT~BVg|jHExE|$`>g)gGI-n0Kb|gKB-?P4aj^{j=ic!{?;WED?{no% zJhfm0V|Uj*j?+eWq{q6GVR~TVISPFj(A=Kk&Y^3jXms=+-6PzOb*9!5uGpGqqZ|UZbcq8&AjQkXu9wP6cTzPi0&O_$#;#s+$_%6K>$1nJM z(ldMqn@V(Zo*Z|v<@x{BjZ+)TM}NqW_lK<|iCS@h`7Fdypxl;Jj4Y2@@h(K^AyXTM z@`s}Fvtj3O_eHKOi(2^_6fb@PVbl%yS^KtO)T05kapi_IRN}I=KM+POP$9W3>%c8P z9d%FN7muJOcRw24e)ui9d#1X4e}+oLP9O)uY8{gUVKm{6{r)hRM2BQv=H`!A`%b*C zG9IsDyNI}%@I+sgdax%4~gneH7-dy9~^gXyf-kiIC8cE|M&jZP0qPjFY4 zAjH3M7kL8Cd57%Sh@Xhnw;+FWzw9VwdPXo^#q^cIbS=}D2h+{)!=nF(viE_nb3Xt7 z@3v{1khZtxPft!#J=L@gO)Drut5OYu;2ImvMCGeoNUTsD}o}n z(wMN=x-BS+Da)pO!eYy&$fn4q^!I$-_jNa?=WE;J7mt_c`?{|8|NDL4_xs%EPWrbQ z!*+q}++lmJ>@mZ3Wn7MroAx$XEBi0Q_8Qr*4cqHw|7O_UB>RbBd#mjGhV31)?-;gs z$-Z&ej%V`E1pV!*VMn3tONQ z+vNE8roA)JFZ(aU_HNm)4cpoL!#{uf&9Gf8`-x$@T=sp#_F~z04BPdxZw&1CwkOxg zaaG`84amM^*zS~l?y$XG_DRF`PT5Bd+iCn$K7X4rY!}GR9k#1vk1>0iR<#@--x$om z&EvMSI&~HvdUH+}$?v^&Y<~QAXMVQltg{D>-=h;d{kNlg2l7edV9a)7W?_X6H-2>>GJ9Wp<?&*K|x&xln|1=nJ;7NY({;Tu% z9O)VV_wdPcTo-AsllLe( ztNZ%5h7!--o;x|d&adycqviK|tWthTW&9q$fBN1Y2QAmN-aFo{>)4+Qc4l4oPw#aH z=8oXVJn4=taQ}Ac|FIKDQ|g8XNkx=;=510BWRUt6zeV_Dn^I{H;@oo99ig!!;{Pts zcm9s_!!4*$%*8I2|FnFk2R(r{pzojtv>aWGq9~1ghr@%=cr+3Xo|^Cc3B81Vj#|-o zP(7+eXQP2d#24kqoo7fqf;OOa=xTHc+D%2F%6z8?Wugrp#;9_>H_ zD6N8#qodHN=n`}_T8Dm&I?z_M1HF$vM>9^LZd8WOi1WW{bO~xeH=+$_6Z$!N4ZV%t zN1vlirtUygf=)pC`3;Al1N|Pgp%!#2`WA|zi%=Bl=Wu2=ges7J_)a}{WBj7av)pmV zWxGqR&vv)Ho$c1&m*duK&heI^m(Bh+_U3Fi)SlzML*8V6{mo%_aMuBD-|<;)^LK{R z7cZ%eELpyM<_ZO#Sxi?m3xr$wK<%*?5j$RR2N;Yb&wG67LJt^&6 z;un;^cyD7{&iz5|{UhTIx$Y&DZGg3~1ulba@N2LO@+y$C9ZrQi;dq$#ja)Yay08uw z!U!yZUxoAGr7#LFhcT!=u7&!y;acDoFusX|rehmC81}<-I0SX=aj(vGHQNPn1}ug} zunaOOPBmN!m%~F~Bg}&>Fb#IXT-XgK!yRxm+zE4N-x(sY8b|syxo$lS!7E`Ayb6}W zufs~XA6yK-0b_6`Y=8}L9lRQDgxA1!SOB-eHLw?sfjeOqOkb1hj--7jL}C<_&E!0~0P1pi2gKaPdJE8W$+u^t1PPh)HU7PFP01MzaSOjl`^Wjaj z?^KdF5Z1y%xCU~KbT+_)U?)_*9{6oI0B?pv@H;U5x?Fb>%!VO27fyi{a22eEYheRy zf=zJsl}nc{TfN%Z(r|a~!Z8bP2)iYDS?;|z`iin*-#jDB?aRn=UHm$*i;xzH4y2|^ z)1aZMw;Qfa{Ci{Wl;e`lp5i8|ETRe){f?W4)BTNMH#+eEx9io3ZVzgondLU3o|#+D zy*Kyzk*9wv*DW#4g{5e|sSK8*3RH=rs0vl1#iklqYpVNJVn$o;X{xf@v<>#4UQ-_& zK!a!qIoGrNk&8m62rM#{Tz}IuZMj>XX`8g@Pw{UJUo6^5yJ^ES79-t?y3inUM`yVu zs0`Jhw(G)f*N6#wXE^$uiEiV~6Wy{~Cc4p|Omw?8PIL$F#crGEM(&^J);uuLZGMp0 z&nLR2-}KAIgTqtOH_Uj_Cndr8@Kha%Bf%Xq4?rqH3MMeK2K16=f z&8YI~eLK|t&+)EPHPKTuX(@)H=;USfi>_R?iU*OQIdP7ycRXis4AJoM%yOHOjytQz znQhwijj-!{Iz0H2{t50zmfR65Squ9WxIIYuFIt=B?o7IP>Z-e}Vd=7%e?fLiE)KbI zU99Gl&{eV=%8o)^9T!7gGwO`>&^v`K-VAk3Xfb=EvEA4SRqs})dU~MF%pDfreNi~> z^>hG-u6Bb^1%{xm1-s!$=q&Y_2IWsTJJaYIv!MnMF}s&jRrw3eE;25@$gih(Y1~hg z5KzXsP#3dOv*#PjjO9=rsxZ6K?5NpQW>=fN*jQt%wRoLzdE62)W4*D#xW?EB)v>k4 zCiAZ|HXGMN9lBQICa4+R3^g-dP*>?*v*Z0FbVnP4y55IsL*9+16w0nPyTR-hI1PU% z48vX+fxDrungz>3-i@vtDqaKiDI*3ofO@DK*c#s-ch-?mh3!y_sRL>RTcK{%+o38N zgzAucNywcJOQA0JHD))#S=gJQ^7p_9+y!+T2wfWT?!4tt7vvbs*9~kP39af4P`B)M zs8!19^cH8Q`Fo&l$Y5UYv|Z1@jJinZ?&E`zO^;m&HQz?+s;Kqntw{RyB=M(D961TsZ&GbEp5zp zYtfmHWxJ1}Qy1iT`EQvwyscAtPa)ZoQ=wUrLN=4?PrL7ji?W07XzCDniAm1eKyP zRDr5c4XQ)+r~$1(jc6@uLhDd7T8~=L2Goi+qD`m+bs^>NM)4m0*NghlPP7X-w{ZB8 zi?UG!%|*H#=% znvcp+C8|QTr~$1-6mXl-2GoW+&^ELK4WhK~QZdR#MJS4D(K%PHa875(U3KL$=e%XL zPF3BN&Pl5-bIw_^WzJ7Si$)zso_4g^)B&YVQ%!5`Q~3lI!gKir-J{u16cYL(lw+P z;XQ|REGf@=^T!qFOe)Z4fhzpz4-7X}NIK|fg{9S@8cSD_ZnU&I)M9CMwA0e+&~{6o zN_y7=oMEc;0*uTD{RY&bQcJ57%PoB}>9v;DY;8zNZzg?`bGA1t+byk5?6R~v7kbFg zqx$EPE_Y6J7V36VWrhl@v9t=bTH2c-((0&2&`bIhr^=hsU8K)&&ZKE(YtwML*wSa< zkCKj(Uo)|W^of*Iovlj8Nh;7~0X4kC(r1!(9`*~Ub48XeCtYLdlSnsO`b5%gmey=- zv$WR4prubI?LOkysm{eq%+ScHEUn{OZ)qKx7E5cCn=P$Fu*1^lliqFVb4f=Y<)Y@C z>!@>Oq&3wVaV2TZqB>XQr{mtrUu*$Ys>W-vzeEwQBcxAej@0;C(pt^xd9#C@lR`4CK)V3(m?}}r1V_UQM#a6swAz^okn^w z=?mzlM%qC7G+PVJN&Zbq{;i~|SPMF|nvIjE+Qs5?j# z)SajqMqmq^3R~epdTyfWnuendhwcFFPMUx8=fM_u0qr}jB$mN8D7#7@idY2g*dt*l90j{! z8Z75NGa7Ek9s~Q}Shy3W!y%XfwFlWBrai@)fG!*d3*dNI1mhD(%q5{!R|XG&kvmxv zP&c$JScyLyR>K@v3v*!%hTs~Q2b*9Ru7~-s6&Aova5C(G2g0pz3ha4``$UAq4jfbA z06Ylpg43YW$(n$fa5@aZ8L$w}geCA`I3FGYE8r|x1&d(~oDCb`p>Qoc95%zba6=~_ zJC7vMhT|x>86FM0U@6=NkAc1LSlAEe!9lnH?uN(1^ru-nFdHs}5x58z!*W;-PlQo; z5?l;VhIMfgr;wUeQ*KX2^Ya3czHVKpZg1X!X+yL(_k?i3rk@JEQkBSD9nV5VHnoId9V>) z4%fjET-r9kG}s2m!p$%PcESDNHkb)}VOZx|KZ$ub2H^-@`nsq9X2P*B1T$bE+z*z( zOgJBgVFjEAYv2ejkujJ7*TDT?6U>C`VHmc;d9VYHh;z;CCXoTR!~I|%48xsp9!z_d zj1d+W%zzQNA1sFRV5#DTbVPAjr8uln94=S9hz=E@Q@I!wRvSj{Y)Ke1&1S{+FRGKYBAXa=-XRAy?Zfhf5qCb-JDld0#KIa@&)88+I@3g@1zm z@G&?DTj6f_U6}rS$o(D6hOfd1{5>p&55Q9RBrJzpVHECw@x>%`Q>cU6U_JZ=Y=qrV zcOl)S)?wcXH^R%I?rys6bz(1-O@~LoZfs`4*$(xPz7KAJ+6Rn;L)h90X&;cL+hy7d z{@urgHxbarKpTYuY-ZBiAZWu-g#BYU7v2WTpzcMsU=Ms9?tpK?0r*F_3&wv#LOYXb(0S3nZ)?Y)9Z4qka;P1Ob}k|8 zI;cI_ey|X`61q(J99V+A8am|PAI!&I4=dokunIl`YoPY`%U|Sn`2>ju9Gy@*i3M;i zb`#W&L|dI^Y|T_U6=%W?*xHeVh-+)qhFuTqh;t!wHe){uyWj=T#Xk;i!#)#gi&X@B zUyO&mZ{=EXOu^Alh9xkBJsu8XbNYI_%L#Bd_V;1>OCk3xSVTUZr`gzN%TI@9!wB{& z#jy{A#n=rnhJ7q7#r_s7iBrJ=B(!%r9+ngMHmri@CHtZW=yaC5N5}R?Xg%Ru$*oA!;+y=i6d*PL^ zAASjz(!fMGh)s|+}DU@7)_ zupG9?57)sO_#+sDZLpgBxv&wtT5;@2a2@vf^3&ja*n)in+z9W7?eHqt2{-8ck5MoW zM>mcOl>z%8xE;F|_Q7Z1Ap8|{dU(nOT-X64@C8@`e+wHZABJVviy_x~_s_5r`Y(5A1?Jh1=kRuos>L`(F-i zdFq2uJbirEcXQmHQ+Tq42Aj83428pW`lCxoXwQ)t6nhEOJh4<*H??w^Y88w{^sp$g6n` zX^H+D@{UXV>rZ(Tw)FimZ&OaF>)AZ-je?~sS6sDh)oSl;gFbwTbtmM7wsd}wS2Q|a zQ=aG6p%`jFjcD;Ae5e7fL#?PCZ9{!%5Dg)hyoG2!szO5x@?7V5{HO$#qbRCIwP-nN zMC;K8wCVV~xZ6o$E9yZ5XcuzJ^4x4xfQrz3RDq(X3e}_oeeb3&e*i6Uq&nvW_`6{}Xj7m{CilPx)mVBHSPunu|@4U=Wqq2MQ5@SElJ8V=LiFr!Y zlUVtA-sDkjB)kxS$Wd+Z{_xaMeei|w?6kC3$m!Bf+FYduj>{_w zMM+(`;_?+MzrG?;zw+{BD`;(vqMh@|*R0gKd31KuD|w0gM}()Q^~qH>FE2Ziwmr{X zwJf%5N&T|g$oUITuZ+}QwrUx#%3QU~DIk_`DVSYK%6p6EvgI0yvs{tRvb=({HD2nt zyn_4*U@xnUT)E=1r7LTf9UCEU=k~nBog>4CrEMp}9Sa#^`m1?~zm8;#oM4Hu zqry|?mAyJ#wtmT_PHmFCWX00Dm8;mRCHt0Nwq!MRH@%v-W$CE!1DT`xo~_%mzZ?GH zh`fvP-EOoE^`o6=5Di_Fc;-QLc;VvriDuxcjRZCV~wq!+pWQqS;2yfl^ z?>0m}I>2qXim&*8Fw%RKV_j0Zm2}tZuG`-LA96jl!e%shm+QKByYA+s{N0vb;Jp)) z6c|iOr+t06u~1UFcyBrpZU`@pW4g4_H88=AJnp)UkGgIZzQ~VUPbIV+K|w$2h&ion zqEL)HH7JO!Ay$K5DnStx#F~jUV@rxPS}d-?Z6p}I$Mw`jpxuIsbtv{@VyKlo%_xQx z+eWNae$5fpT$hggg? zDGlQ9LtRLRVu)B|6Zz2~@xG+Bo5^|7gI|iGGUc gh&~dYFn(35p;GsnWT`Y93(} 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

-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

j{U4`&dV1hX&klKMPiG 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℘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