From db4a91365fbc27f62f4edbceac364383082d5b15 Mon Sep 17 00:00:00 2001 From: Pr0nogo Date: Sun, 27 Apr 2025 15:45:51 -0400 Subject: [PATCH] Extend iscript! Make many balance changes --- 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 58139 -> 58170 bytes mpq/arr/images.txt | 2 +- mpq/arr/sprites.datex | Bin 7210 -> 7210 bytes mpq/arr/sprites.txt | 2 +- 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 67792 -> 67812 bytes mpq/datreq/Orders.graft | Bin 1528 -> 1534 bytes mpq/rez/stat_txt.tbl | Bin 65528 -> 65458 bytes mpq/scripts/iscript.txt | 52609 ---------------- mpq/scripts/iscript_askosi.bin | Bin 0 -> 1518 bytes mpq/scripts/iscript_askosi.txt | 102 + mpq/scripts/iscript_general.bin | Bin 0 -> 8826 bytes mpq/scripts/iscript_general.txt | 4249 ++ mpq/scripts/iscript_protoss.bin | Bin 0 -> 31273 bytes mpq/scripts/iscript_protoss.txt | 14802 +++++ mpq/scripts/iscript_terran.bin | Bin 0 -> 37832 bytes mpq/scripts/iscript_terran.txt | 18765 ++++++ mpq/scripts/iscript_zerg.bin | Bin 0 -> 34507 bytes mpq/scripts/iscript_zerg.txt | 16156 +++++ .../protoss/p-laser-large.grp} | Bin mpq/unit/cmdbtns/cmdicons.grp | Bin 423472 -> 430724 bytes patchnotes.md | 61 +- plugins/{aice.qdp => _aice.qdp} | Bin plugins/gptp.qdp | Bin 1899008 -> 1912320 bytes 32 files changed, 54141 insertions(+), 52619 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 rename mpq/unit/{neutral/datadisk.grp => cm/protoss/p-laser-large.grp} (100%) rename plugins/{aice.qdp => _aice.qdp} (100%) diff --git a/mpq/arr/flingy.datex b/mpq/arr/flingy.datex index 6896a4192a05a489099b770d28c28b1da4471276..4695c93066ba394e9e2dcf0d6a52abda020ee479 100644 GIT binary patch delta 92 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 PaxH9Oa%W{OXL4`=n^sj} delta 3979 zcmV;64|MRl#sizi1AnLoQV(MfcMpjVn-8rIzYoq2-w*f?2oM<%Ef75rR1jqlcMypX znh>iHyb#V1sTM=y$fDw-opb@eW%MsfV>=FJE4H6#`F%n7=ToP^) ze-e=rqY|uU79tih7D5(c7Izkl7NZuz7U358 z78n;d7fu&!7m6307p@n~7uy%=7XcU_7(EzH7+)B07>O937`hnN80;7c873J&8DAN2 z8G;#-8KN1q8GptZ*ct2@02&k;CmK8&P#R*Ba{@02>q=CmT8&P8(ty zcN>ZuoExtj!W-5b=^OnU5F8{NIUG(LVjOfFh8&n2tQ@}_(j4X-`Wy}&A{{gxMjcrl zZ5@Ffl^v-ay&cgV<{kPS4jv&MGag4CSsra3fgY3|r+*&19?c%#9`har9~U1hA3q;c zA7>wXAC@1oAI%@)ANL;%ARizyAVnZqAZ#FgAdVoSAhsaNAlxACAOIm0At)g{Ay6S? zA$K8+A)q0&A;=-zA@3mqA{8PgA~_;WB4HwRB8VcJBCjICBGe-1BKaZ=BOoI(BSj-v zBWELaBY%k_nIowqx+Bda-XrfL0VES7CL}o|OC(+-a3q2xlq9Akxg^Xa-z4%R1|=CK zEhRxERV8U9d?k-1q9wK^$tBw*?Ii#v6DB4mIwnmfUM6oQfhLqDs3yE7&?e+2_a+J_ z9Vaj+Lnl`!YA1askSC-kxF^de+b8cQ11J|LDt{E-gbXRV`{Qdo7JEpe?j5$SvJ1@GS%`7A`6-JT6c!WG;9vj4q%qv@Xal+%E7g z1TPmaDla`RP%mRIb}xx9oG-91!!On^=`Z^)3@{)tG%!gpT`+Pmg)o>ftT4bZ)G+8U z{4fwPBr!NKOfg_FbTNoAoH4L5#4*+}>VGl(F%2>vGBGkkGFCEbGJ7(QGNUrLGRrdG zGV?MAGZ`~2Ge9#`GiEb*Gm0~vGq5wlGt@KYGx{?QG$J%MG)OdBG;B0}G>|l+G_*9v zG}tukH2yRaH6}GVHA^*KHF7nCHJCN5HNG{_HRLt-H3~KyHZL|lHc~cbHh4CSHh-Wt zvNpsv*EZ=k{5B9bBR4lUOE+FOayN!Inm4UC!8g-4<~R8_3pgG)F*rpySU6`mcQ}bS znK-F9xj4x<**NJq`8WwV896CAIyp-@TsdtyemRdhpgFNQ!a379<~jK}3_2h>Lpo?W zi#o76(>nM%8#_QdV>^gDtvk{?_kTMaJV88WJc~TAJk>n8Lh(WoLoq{9LvcfqL$O2AL-9iqL@`8BM1OQdnMAxq z;Y0*QDMd_0aYd9xxkcPX0Y)T7M@DK!jYhIY*GBwCAxB0>Ye$erwMW`V|3@T9Nl0!; zlSsHo-ADpSCrM06aY>d*yGh_l1xhMPPfB!3nM%G&<4OoiElW~McT1d0!As^#3rsLf zRZMzJpG?F|=}ZnyGfh}ceSb}&O~*~_O%YBuPFqfYPNPo8PU%hyPc2VSPjXL{PqN8kP|;BJP#IA@QDISqQK?bRQSwn1QaVyzQi4*ZQpHl`QUp^ZQ$tf@ zQ-V{XQ^Hf?Qvy^XR6t? zC|yfkZC#LEv0c+$^nYCzUN>G@UVC1iUcg@CUIkw$UrAqUUyfg~U({dpUlm|BU|3*! zV4YyUVBuf{VJ2ZoVQOKGVX$G-VfJAeVmxABVuE6&V#H$RV)tSTV;^HNV?$$CV{2o5 zW0qs5W4dF`W8!1?V+>>~)uw}(%+GX!$0A>?rC1y5eNoHGSZ)SsLmu9PGzh={B=Vtq64`(B1H)l&{UuSb? zhi98-uV=$&*JtWy{bvwpBWO5iPiSLkfM}LzvS`j|=4bY-((Z zY^`j&8ZOm=rZU1c?ZZvLQZgp;xZn18{ZrX10ZV_)YZ&7b> zZ;o%NZ^dumZvb#1a6xcgaCvZ(aI|pOaPx2waV&97aesAjopHZ$)^YrC8gejlQ*v!` zj&iSZ%yQ&%33DNHKyzPnb#sz)v2)3D=yL~jA9P7{Xmp5lr*z45;1j_;nX{GQkc*uC&c>H(~c_?{Cd0csUd6s#xdD40Cc?^0hdQp0JdWm|SdcAtodiHu7 zdp~<;dxLwXd&zs}dk1_Sd^LPjd~1}eA9gEdO@wKLhJ>Po$b{yE^MnZsqi}i~qj8u$uwK$2IIbCQvgu#(P_?2-hNBa=6iQj=?w zi<7aF(39ws29z_DUzC89pp?Rt=adPRC6zptT9t2=hn1(5y_M6I@RbdgDV9Z+Tz{5& zmXVgPmdBRnmiv|$mob-3mt>cMm!g-um(!Q>mk*dTm{6E>n3$NnnB15HnJSq^nQ57f znXH-9nfjR-nm?LlnuD65n!%dbn(&$rn=YGCn{S(#o57pjoBEp=oHU$SoPV68oXVW` zoFko2oo1bcotd4rozk7{oeiEoo_}Yafu5V5zn3XHr{bp!s5YozsE(+-sOqQ~sWz!qsdcH8skf=tsqCo< zswS#Cs!^(Ls)VYcs=lhzs_?25t2nDpt8A-@tE;QetK_QytQ@R4tX8aQtbnYStgx)g ztm~`+tsbp5tyQgct(L8}t$)w0@2wB6HLgysZmy56sIJJa>8=8=BCk5HRIhHYh_9os zy06f$@2?K9DX>ehWUz#=q_E4d@~{iBE3rtiXR(E`qOrQM*|GDn6tXt5SF(AsnXdStx{A7}y2QHHy6?IMyCl0tyJEYAyQsU%yXm_Jyd=Cm zyjr|=yp_DOywtq(ynhzGH@#N9biI+ir@h6!+r9X`6}~dQPQGcrhQ6Y{y}s4H`o0;z zHosE8Z@-McsK3C!-@gIC9>6!iSHO9|kHD?K%fREn0>LlATfun2mBF&X+ra|DFv3W} zXTpZUpTfVw*~0q58^bumPQzrwg2SW3#KYXf{KFN*GsH>6W`D$h#G=H(#NWjD#2Cdl z#a6{{#fZhH#mL3y#RkS5#yiGS#&X7t#;wN3#^c5T$0o-|$85)v$G6AV$M44n$RWr= z$YaQV$fC%;$lS>J$QQ{o$y3R3$&SgZ$a0u+ZDk_|O&6GSN`cZ_$m>tI^2O?a>I*Bho(7SkigY zo6@_|;nMcf64Nr%PSa}Bg43ka%+v1E3e+dmMAT>0gn!hj)XvoF)C$!n)kD=^)q&NX z)x6c$)$!F1)+^RV)@as|*0a{!*7VjC*Du#l*KpUD*Rt2s*Y(#M*gn``*m>BQ*tOWx z*!b8T**@83*@D@n*~8iA*$vt<+D6)8+I-rS+N#>e+T_~)+7sI^+e_PI+kV@h+r-=6 z+yC1i+NH!i=!PK delta 85 zcmZ2wvC3kD3lmc}<7PLe4p!!`>^Yk+vMaMN3UB_(&C0S_T!@=-@_!!X$pQjNP&yMt eZ#EEG2$9&pqqtd4w;^!@V-*3GmxYD{ z`2once}@AR0Rk)mmy(DBKmo|N(})B46aj#j&7A`$0?-1N_MHQ&0?-1tqMiew0Rq4S Jw?v==bkJw7JB|PV delta 155 zcmV;M0A&BT;Sspu5wO|20ic80ySLiA0ox7qMiew0RlJ# Jw?v==bkHTDImG|~ 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 6ed230bf..698652d5 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 d029db4a2643696a5dc6b0f4d7618e9f8dec6a89..4a6412c704332619104690b8d644053617d18a8b 100644 GIT binary patch delta 154 zcmZn&X$aX+!@^|Dw7HIjO_)=GfrCMWfrmkIG9#zz=1t<47X1b{*k3`P(kNuZDe zkSoHV!jJ+In!HK6h0$%Zxr{p_kgAu>WMpL8{8Fx-kx^xHrowJ^o-0h(n4B3;Go4_% x!8F-GLyqYZ)8qh+1w1#IN*RALoMYO-beU=LAE5XxrpYpzGECQ*CR=G90{}$9Di;6% delta 154 zcmZn&X$aX+!@{J`xVesnO_-C1frCMWfrmkIG9#zz=1t<47&#>v1b{*k3`P(kNuZDd zkSoHV!jJ+In!HK6h0$iSxr{p_W5DKm*-S=8#?3F~>KPdgHfJjAX6Nx?^ksBrJk4~1 u$(M1mfrcDY0ORBUjRia&jHQe}8O|~7VDe#{{0AZ~qbbAW$2i$a^B4e^&n18W diff --git a/mpq/arr/weapons.txt b/mpq/arr/weapons.txt index d5360125..d22ccf94 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 18606a5aa61133b91b3e6a665cf69c5183d4db7f..bdbedb44242e048201d67a52f7cfccaed701a619 100644 GIT binary patch delta 988 zcmYjQTWAwe5Z#HJ7$sZUrX~hjtAv0OG>C#9rBo3rD1r}!f?yR5qLMa6Bfj_nwlhjo=Nt0B9Mf?zoC_+W3j}O8622p&(nL5S$vE0MC=bkw;_wKl1!39^BMmm1FJo;6^j)#mT_|{Lo)xT}`eG!xQW2jSUXif{W6fFoDO?5#!5jO{-Ql z&85+brSx?uVl=bWs1h;5@36))s{l&)JNqo~RW{soV6XF^Xcplg_~Q$I8rX`%KBg*F0~_64~kxl+dACF9=q8!hs<`m@S?peutLJo zqB#X~-Szm=?lg+x&%4)fWA1R^n=qW`mx9-zS@GhhTpa%3uDm~RT1n;+U!t@Sn)zU> zP9bG%UNIRlv3!qU>?L`rRW~P)Rp#8(Wj>G;9gG0WMMwk zbF?N7-ynJ*+$fmur)fI;RI$+r3(M*@8ecQU3%apiSdQC`n@ek*?9hw-C4cOQ;+arR zA63qr5KN19O5x8a{CUBg=ZawNYf!-{tSkFNkA&fjyJf&cY43#Rl;8PbKp3OtARM4R zymg#-o}#Y7o8<`oJ1@v_f$(!l(?uUY7oPPx;n^{PfzcMnb~mPTJ{qeV7v?>f9IZ7D eiO55uJ|3AhS-J1PY+g4eBoX)Y$}%f$?SBCe+$D7Y delta 1015 zcmYjQT}V@582;XQrlvbFo3u`?B-RKPH3_3gj7AVd-9$tfgjpB;;UE%XE-JAbgMQYV zbQg7{GTM({Hr;PhP(je7Al5|?1yVtt;&(X{K4LW+q%WPIz%&j65fERVq1{h>(py$^25e|d_+@^ zunX0Gso@!{WL;Rw8NOL&$#GD_&o!4P7|fi5Fh0sGKo!TcUSG3TJEZycGggO)s2W}v zQ!8_!XWC&`Es8l>D3+2&*LSVf2gbCIjauE4j4AVnrjOM;ALKmHqBd5W!*a0}ly(i{ zWeR&paVPIF{Y=uJyJ(5%oHnd8%u>T4&7vQ>^LubC@4Pagu@TMVl9qXmu{y+cjgM;l zJ;v13ea1A{sD@*VsmG6M5_P?Pp*Znc3!LEH6aS5QYX28~H{i!`!3$^AfG$iH46{{J zn>bSlsK2UGaQoIW-=s1_>Y*=*_P>{Ta*W{SVyEqBBi_ud!vjSJ-Yq)K3oLLb!JteP d=WJ$~yP(lN)oz5uw==6``?Gf|WwP86_zPzO;@-IcI3Xp=`q8CUaEQmHDaS zRfVcwR3$3CYD@Xo<=>R!^3n2T6_Sc`6^4qQ3NLl2IzfG0-Jl*(M`)5X1)4&QQd6qw z(wH@N&1AF?EkfZa0!5-I6pa?6CFonv=(KdBJ>;5 zA`==!?~tRC^X9_17%rYm;4(QScY^zqyT(1^tel{7U8S`0a^-_cPwjqff%aEzn|9vq z#M>cNyQCZ;C4=1h&T#;w*?>#U2>)#!}6 z1$C$EM0d~Mb*PW5-(BBaPwVg9YrnUoVQs^<24!P|Q{(c+bB(Qy&idnewO+3u)jKz> zYSJ~~rt=1a;lTa2`|%H^HEWu?niE=zT1bo2L*Iu%4}BlyKDz#By)oZ-##m!~X~f3Y zMvvCm*0ffy$Hk95+oIc0o4(EVWV&gcDbMu1>740?sm>&5-_`zCJ8ob8^yE|i>C%n@ zWygh%z7Frskj{0ThdVEJ)^(E3`Tqt!>wdPWOV`D^Hg>0WpYFcWUEaN?=jWc=J!_ty zeBSX~z{l|tKAS(t=kSO4Tt1IK%;)n3d?ByokMKqOQNEZz#$V!Z@#}j_ds}+>Ue_1o zg^StS9BS5@o6Rd;I^yZr2|Ht@3wFhBSb*KJ2lm8X*c;ElKG+w}#ItZP4#A07iVN^b zdji+DIZS*U;o$jDJ zX$H-tSyV>lR6(=pL7GDk(OjBG57T^FKntmo9-&3_C@rSP=y&uu9j6m?5_|xY!2v#m zDKHg2f@$Cg)4>Ux!3A8w4Fup09^eTvUf>Ngzz2L`Cd>jqm<@AaF8G5G0w55AU>*cR z2!z6X2!jQ%5Eel=L_j1&LG-CwXK&>txC~d|DwM+Ca1H)}>u>{Z!YwERC+5stm@9K* z0_M&^6ZQr41@@)(o$dRh?|?PcDz&Cr)2$gwYo;~J+G6#v`P;&6XKf9($F^1dtNTU$ zRsB8#I|eQelnm^Ab?KGtwfS}28{M0_H$S}P-fkbv8!R0(4E7Jsv2U3>eGa5bHZ zb)BLTxaD75DibG3M6zVDTqu{Mh^71F!u=UCp+X`SCP_2oV!1*nl1g)hIVlQBO1f}~ zP$o)G7MH1leLOd3r|lKXQqq%!BAFsZDizCeRk2MS(O&P(_cw)1^gfV^veT0!V!0}O H%;4}J+&9@U delta 1265 zcmYL@eNfY79KcgDg-cUPv{SF2cWLLHlAdXo^+(xhUS65J2n+-UY-}(#+{TM!&9crr zB}4FC>Pl2BGm(w$`R#qY4iI4?jTdG5L-_4^zRxzM@-k4#f4ctt+c#p>eUttb!v}^u!v%xc zU@=$?*sub%nAuh9YY4f+;o&_Ps# z?5Gz_p(u6}`w_cC!^W`^wuC*#RL95KFXiZNX>nN2R! z8|F;&uV#_uyycpu&oaxp*}Bb|VU4z>+e&TiwsG4#_EdX`U1xXO7dgIkMAz@EFR7oY zU(_IN=xO+^(bKrKN#68J)BNT&&2w6ov?yB+wv@GK<~l!j7C8r2vk1 z=|9llsOk6izc-LFkT-B-pniZ1MBH6}S8-Q*Z}njLV7OQ1JaTa4D}Fa0!^iTPI6j`=!zb{Gd=f95a%gb>8gSQ@9H@pKPO zpouhz3TQG-p?hg6O{3{lNHb_A&7vYIrrA_Nr8I};QW?#oa;l*DbRShx6;;y$T1bm% zG0pZ#d{SSnkMj-rZuo2cTEEU;=hyoUe&mk|Bn89)b$|;j7+p4cX!M8CE2A$5Q-kM& zi6jWY%16FO?BlghN}q&}MT~Why)=Gq+%X;;kDPdaB5R^-0!@rgteE^_vS{+;j{1;S;vKV2WqCl?JI%-!fSr#u>sf8Ib5u;RODAdwSMxrPbDKnKq iv058y?ceaaK&Z?V7Ah6FiWf67VSzkTqUERC!~O+*#Vfr4 diff --git a/mpq/scripts/iscript.txt b/mpq/scripts/iscript.txt deleted file mode 100644 index 5639edcf..00000000 --- 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..e8d8e4061db406d932c3648322d35689fbdd6e25 GIT binary patch literal 1518 zcmaFH$}kE>Ltr!nMnhmU1gIDS|Nk>EaGqlao5;SLRf3&?<2sPT$}A|v2&5RrIAnm5 zKp6%`Adi6wL@>S`K3N$K)H63r+T?v+L PWK9IpI?S6`K`sIS;?)n` literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_askosi.txt b/mpq/scripts/iscript_askosi.txt new file mode 100644 index 00000000..3420aa2a --- /dev/null +++ b/mpq/scripts/iscript_askosi.txt @@ -0,0 +1,102 @@ +# ----------------------------------------------------------------------------- # +# This header is used by images.dat entries: +# 1997 Landlock (cm\askosi\landlock.grp) +.headerstart +IsId 812 +Type 21 +Init LandlockInit +Death LandlockDeath +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 LandlockBuilt +Landing [NONE] +LiftOff [NONE] +IsWorking LandlockIsWorking +WorkingToIdle LandlockWorkingToIdle +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 + +InfestedTerranWalkingToIdle: + playfram 0x00 +ScourgeLocal00: + wait 125 + goto ScourgeLocal00 + +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: +# All shadows +.headerstart +IsId 275 +Type 1 +Init ShadowHeaderInit +Death Generic_Wait1End +.headerend +# ----------------------------------------------------------------------------- # + +ShadowHeaderInit: + wait 1 + followmaingraphic + goto ShadowHeaderInit \ No newline at end of file diff --git a/mpq/scripts/iscript_general.bin b/mpq/scripts/iscript_general.bin new file mode 100644 index 0000000000000000000000000000000000000000..e50cc82fbed6077427d35b97cd22171808af503e GIT binary patch literal 8826 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 K`Kb*4JNjRpU!j)( literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_general.txt b/mpq/scripts/iscript_general.txt new file mode 100644 index 00000000..d125bd6f --- /dev/null +++ b/mpq/scripts/iscript_general.txt @@ -0,0 +1,4249 @@ +# ----------------------------------------------------------------------------- # +# 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 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 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: +# 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 + +# ----------------------------------------------------------------------------- # +.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 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: +# 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 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 + +# ----------------------------------------------------------------------------- # +.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: +# 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: +# 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 +ScourgeLocal00: + wait 125 + goto ScourgeLocal00 + +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 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: +# 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 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: +# 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 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: +# 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: +# 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 + +## Next free IsId: 828 \ 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..1f15b56eed9a66a2e14667bc6d5fa9fc11f73cac GIT binary patch literal 31273 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%0DSfGw<Lv1FHAf( z(K{()68x3Ha(ho2Gie4cAqeMB8i)&P6bYTW*G}3xY0soTAYQ?ZlQtqOCOdo~FJdOA zPVR$C2*M$g+u;&ooP-W9CQn|DI3adO_~Xg5aAExi`18q5UB8(8!sIV-9g|Rqy2(6D zb;%S$Cr#;;#Z$_0q5lB4+TriX7$?o`Q=XVoj|;043GbP555iwa=%mrh(#!I2387$o zSvgj2QKK(=|2YCH=U;`n1;kInV`aym5$}n#yH1Wk8=Fcyz(yP`Q>BFrvj@y zl>JTRpO-uJeOd0V$in55&}myyg+n*%SXa?h9os6f3aF^5_(8=36~6%v)zM{UXkA(` zbHhy5$1!}zggbGmbiDszr@fsV`Q!cWnNQ5TeP-zS+cQ6#c{1$Yn$>$&yIJZvY3o0$ z3U|?di)JmIwR+YD`SgH6Od1l9^u}4gne{fV=k1)ooQ0iK`Afbs`AU_JeabZ;$0|HP z5;h*IO!M}Hk0vCQB$c@EKdEFu$?*xt(Yk^Xr%g;#a%H_S>B>ncna~+iYGgSy&A#$a zc#hdb!aY~=;=K?juRMtm)3NU=(iLB+leYJ$H*V~4V-K`QLZzSB_n|fFvpr_wxey;o z$WZ8K^i<{Qi27@XL%2fs-i`^lLidw8Ufr=W?0#j(-5ocD-QV8vC%8iC|K3rgy%BbA zrL{|Qc*1t1rG?~URLOlMj(luL+l4Ds&U0zU(q6UiN%@JeXJ4l!b}~Duv@Fx#DOBbI zC2zf6PEd8wMs*oxi-72cUAVP?4I5&*|?(m$_^M6=`5eJ`&2glZ@o?W-{^t6%%le{ z;0@yS@(zK z|KPIqK{BGIra%@yd$bTOiiU|S6XXt>K&xNy?}*mxTIjYUVYWbL_JDd`;#(nOp69ma{+e>r995pH}v$ zGOI#$xGr zBz{aq=(P9U;>2;4xQ0q7#0SNAdsQqQhnHxBV`E{ro4cX7CV%*Y4)`tUM$B?Kp6=_` z+;|e=L79ir9-_rx*|oACE=Z?@%2z+Ck{)}f+<#r(oDb#e%X3QGm%2+282w9C9*(&e zyEV7R*3j*6x3{|;Firro9ijP+eN-@C^)>lvbZ^~#9j;Odu}0_~(_M(~b$8mp^v6nC z%lV1@-M`1E9tE&BNIRchR=G#cS1ha4wnwgwutzraD6`Wu&5E8s>-iU4Pe>?4yI$>j zVRrAuKLo%s*|x8GwS|^!>KC7-XOYJ}vS`QhS7_^0=KbEd=KAQ4aeK$zJMMt74_Iau zM}eJw7?Cx;nR+X-W@jzP+K3dh!|MA%R&(|JIBQSVJ)rhMU{&7%J1=Ga^{Dg2);@WC z-Ve?bqGYMy_ejNE7ZSTdjF)iljrWL! z?4!4u?W2?9PK`T*KKdFMiSg?kc&8g+xLaO4$oNM@SJG=At(QYoQXNbIR}iXz$)%3V78Nd>C-2g9T4IR)BG{# z&73cDl5>Sn@XtAaMhQJ~4~CVqXWmcevGgY-WQf1N%&Wz{Q`fb*YjeMc3nM_n<+;ld z{z88O)ja*xPFz*Psk~2WYwirNYdzcWtFp^9ginhRlQf$es=rW+Uzu3 zSewi)0xX`rxN7rkmP32>C;k7}{}o(99O-`qa9{s@fL}<6z2hJ)zps9;+G%@U?wnkF zxjopf4A_Lds(ZoG>s{R&Fr%6$l@xUHbQsVD7vFkaFyEsupKt10=6m&<=39F0{5XC8 z{CK@?eu92*ep~&>{3PACpq-wvAX(2@kfIkZ@ae@1+Urvmr0SImI_P&T=&0{s&`JOG zg3kIg3#RHXFPNr(xuBPxepQw}?W(@|Em!5}hpx)gTVLHz&%ZifpK|pKz4GdEeaqED z^nF(k)el}>ptoK)OfOn^ktkg_LM&fcByL}Lv8Y=(QoOZrl<+PZEs_?E5rYP7pmGCZ^EsB=R z5zCj%6*WudiN}{zi}#nz7d@_9AS$oBO4MGrP#n2#k?<|OMwBjHEVeAYRy@6Qi7u91 zC*qbZ6{D6d6E(}0i^rF(5T7htDS9klB`TM%7PZUQh<(e~iiYLuMAC|YC|R*y>{ziu zJhNh>aId^x3|hHK6s_DWmap6*9$mRr|8V6t@#V_xB4gDKQM_uWSh8xDxP8?P;%BRN zi$_=8DC$;K>-DSl=toxFsry#X*E3dMp^sX9kG^2_&-C4^@6{h&eV_jB>ihM$H4o@H zYxe7(=~Me{0Qkx_51zUbOc2`rNfo={wdwt?ysER6n%#fZnk7 z&wA3jXZ7@T^?K2|zv#=?{avqFw?f~&?y#s`_o}{s-D`T?x_{^g*EQ%3>yGM4fj9Ia zfmM1%;4Qr-@K60`f%o)-f#dp-!27yb|AFYS{)8B`{-hYS{zEZk{YPT%`j5r(_5TuE z)_)>yS-)1lYyGEU|N75F-TKqw;QG(Sk@a7Q_t&q}Pp|({xHo(yT5p)Hci8ZaK4pXM zn!CYt-L=8%+P}ea{d&U&{h1A4=!Z76b~S8BbiKc!jdprNTg|;O#npPFPs`uf-c`6U zRjb_CL0h!(u)ca@j_aMJXyH-^5JH4c4v%aLJw-%`BqwT2a z>$;^TN2{yZqSx0XYA@IHbG=p5-<5v-09WbtTg8^^2f3cU{sQgL^%rUl*ALd-zkZv3 z`ubs-dsCs-decQ(hfO|Lk4(6YOs~y@j zPdmM-T61q+to7KuSu5UrMoigUqE~KSsV&*ON~_s?y>`>)GkWdjZQB0LpXk5d{DEG- zd4&GS=2^OL%MZ07TW--7Z8@pmwdFSbnJsr}UvAl>4cdB_Rg~^ITect6_HD1!AK(5r?UU_?w45C;YLz=))oOPf(VpIs>w0&` z>ss8-yS1F14O;2WquTPFZ)msgd{e92`IdHY=P|8e=cW4lJO8MEx${dseb;+h(XQiK t$*#-vX}iAC7wr04-@WTI?a^JQwIjP;)85^c=Q_RXORd8V-+Uv){{rmnQc?f_ literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_terran.txt b/mpq/scripts/iscript_terran.txt new file mode 100644 index 00000000..6369309d --- /dev/null +++ b/mpq/scripts/iscript_terran.txt @@ -0,0 +1,18765 @@ +# ----------------------------------------------------------------------------- # +# 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 + +InfestedTerranWalkingToIdle: + playfram 0x00 +ScourgeLocal00: + wait 125 + goto ScourgeLocal00 + +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 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: + sigorder 32 + 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 StarportDeath +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 + +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 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 ScourgeLocal00 +LiftOff ScourgeLocal00 +IsWorking PalladiumIsWorking +WorkingToIdle PalladiumWorkingToIdle +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ScourgeLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PalladiumInit: + playfram 0x00 + imgul 295 0 0 # Palladium shadow + goto ScourgeLocal00 + +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 ScourgeLocal00 + +PalladiumBuilt: + imgul 294 0 0 # Palladium Connector +PalladiumWorkingToIdle: + playfram 0x00 + goto ScourgeLocal00 + +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 ScourgeLocal00 +Landing PalladiumConnectorLanding +LiftOff PalladiumConnectorLiftOff +IsWorking ScourgeLocal00 +WorkingToIdle ScourgeLocal00 +WarpIn [NONE] +Unused3 [NONE] +StarEditInit [NONE] +Disable ScourgeLocal00 +Burrow [NONE] +.headerend +# ----------------------------------------------------------------------------- # + +PalladiumConnectorInit: + playfram 0x07 + goto ScourgeLocal00 + +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 ScourgeLocal00 + +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 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 StarportDeath +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 + +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 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: +# 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 + 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: +# 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: +# 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 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: +# 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 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 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 ScourgeLocal00 + +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 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: +# 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: +# 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 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 + +# ----------------------------------------------------------------------------- # +# 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: +# 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 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 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: +# 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: +# 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: +# 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: +# 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 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: +# 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: +# 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: +# 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 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: +# 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: +# 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: +# 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 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 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: +# 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: +# 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 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: +# 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 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 + 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: + 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 [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) + 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 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: +# 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 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 StarportDeath +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: +# 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: +# 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: +# 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: +# 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 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) + 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 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 + +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 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 + 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 # 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: +# 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: +# 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: +# 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 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: +# 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 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: +# 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 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: +# 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: +# 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 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: +# 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: +# 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 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: +# 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: +# 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: +# 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 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: +# 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 [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 + + + +# ----------------------------------------------------------------------------- # +# 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 TencendurAlmostBuilt +Built TencendurBuilt +Landing TencendurLanding +LiftOff TencendurLiftOff +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 + +TencendurAlmostBuilt: + playfram 1 + goto ScourgeLocal00 + +TencendurBuilt: + imgol 2023 0 -48 # Tencendur Flag (cm\terran\tencendur-flag.grp) + playfram 0x00 + goto ScourgeLocal00 + +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 ScourgeLocal00 + +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 ScourgeLocal00 + +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 ScourgeLocal00 + +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 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: +# 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..f38b5ed644d1bbd8816d3da77029f91e4576cdfb GIT binary patch literal 34507 zcmeHwdwf*Yx%S$7GFjOqB!oa1k}wP*0TLiV!W|(4;S%n50vKVq%S}WCFWg3L3*Jt# zR@76i@o1&hR{PakEw;vEtDdT-?eT)&!Am^UTHAWZ+7^}XdET}6%w%Q~g6;X^`~A9y zJZtT>-gSG|yWaJ#wb$M}eWm*6^-m7`lLPFUv=2t1!^Xm-iL%mfMwxVlZ<-avRA3HH1k3eb~>qJ^Cqe z?X0nqu24`}$W7S<6mO{vf}fB{(1a{NA^tg;NWv0|SwgYS&GcKrnhId1W$TJesaqi5 zm;W`lfQyl^N*!Pxx2O`Us}G)gcy|O)U5N}TH16`1IHks^G0r68EHchI<0z#YGaU!n z>nEi#R!8fv928mTF*`AN=FhLpx~g~V?mo$5il0HG(Lh)_%@0gym$Bv=T9l!;6+ zy+|4)^d^J|eF*3qNiH`MECfQzM3UUerMyW~0Wq<2efkX@sP+w0>^mEM2SC5s>^D3A z8q-*G?JyO%HA4bTv=B1Mu+G)Y;(XOP6M|iCRpJh*s-&|4s3N=FZ}qRPEVJFnvQS_c zC4}K|3MuS=Ijn!RRH7mS1uG>EWRiD~Nji{8I*>^^kV!g_NjeuR{Z5wZVxjA^4m168 ztp96-_Xwv5T`a%lc0I<5BXklWBtpz&AbCSOT_N6(@4y81K#cFq*Ji#p^R=0;&3w`8 zfc)!(Q5dG|mFqJk&_oNNB$33D4Lee@W=}ndUJpFvbe{>Kx7b-vQJokLND~bg#A`Sq zUc(LX8m7^!|Lmxp-eMF}&7R}6=GT+zqbtPf@f7W%SE zq`LV(K}yl!RYLFTP;uOf&@lnjWKL=f^eDd_+ZcTbAr)t=IE7B&@3me15kmUN!ma!2k|d*q%yrZ z0R0vmPBU{HT8DcmjhC^aFB!)xc5Qzh;Ir2EHR4Jh^p^Q*Y=tt;J z7y!t>!L-JVyl-YmpotbjNg|0Q8_AGa56h`$z1Z9;X`nDV5LO(A{cuCpS62>6ZM+P* znD&vo14b9!Vw`)7bHq3pW7l{7$0;aNXG$i95*#T{KD(BOn%Pr`ZeRcXPi^UIiPfQp3Du&YV3ef zS;!ul2j=uNgB9DbLjqE*s7S_=?pYg(C2i4%)n^G-znoF zDDW@7tii&C{C`a-`Wvl^Mtrp-myC_djp;&tcNZf+5+dqY1mYaG8lLv4K0PPi>{4`_ z?{;6_t)@bWytp}`LV4iDn`lg2M?$OupV2y?xQm7o0ju=Ls>(tL7nuX)&ECL>Q?|+~ zC7&~orH~ta2WvOX6oWw2>(j>7U5RHZG>+VZYMMm?f~R} zTPp8bOSff6potbjNg|0Q8_7_zmO@zEu-s~my3%~B>gn6%+wI%KPIN7~5__+2pAUtJ zo#h#XVz_bLfWQVvDCjbsr)`#5_Z7&2U1<3hSj4~Co z!n}wRCrqYdk4d>Sd{GxBl2RSX&)?MrRau?j!gQUsx@juCC^E}#M(=#k(pkstV+akLCqeg zgC3`Y9;btuhYqH9I+)(+fQJ`!|Hn=5rgj}MR%HXBBZRV2PBN&O7;_%k5L-+qk;F~x zvW)y%NFFU|CZIM~?b`7P2}r$$)N5#{tf85*hRgXih0b`y;o{Vr>B~ABUcZmVGCHR) zYcr$TEQt~NRH4(I17fWqWj>p~{drtRym(KZEshH)uSctmP#v?mKh3cv@7wRT=ua9td$J z0CYisk;z?v;I`SQr z0yEq0C00;>C*VwVX`dEzHNK^jVK#R}ia?v8pH8g(5u|D*1c*+kEo>=YOjvzfq4~^y zlI$!=tO&K+J~jw}cB>=|#0t+1lxQst)IFVPZl!nkY%S&~mEPSmf#qJMx0uvuKhnEA zHGGz8xHZp8;xh|RtfpHdw?{JcV?CW2ZnX-EPE)OdqIRo=^#8DGEhs{zoLK-4zu9W+ zbZqbqC?0z|oCC#G++VY}zh-ea&EnRY#Z5Ddn`RdG%Pg$VGF2!RB$2&%E3}dd^>s60 zc35lZ!eW#N-iZ7_nr(zsQL<&=ChVKCk1a}w#VtWg3d@NFNhE~E?6Fen-C+&>xO=e} z7H)}EDwm;HZ@Xq2HW@6gvMp|OSlr{VB!7Ci?cs(CMFDRmfh?`DQ{m>sJWY$THktlK zvr^iI5N8e`Va(|w*ylxjWCBxsBTx%C)j z>%qO9h+Dv=y<>SLw&Bv=2`o%)15%;xB0JvDq1a^lC>&sy8%W_v5+;3rZ)cTT_9yAf z{v=)5ak)h*szO%4$AY9tcibcvZUot7u~Y~|;O@YXv&O9e3>`#(FRI)w+LW~=3)!N+ zqF8O{-$Nm3iM~7JNr)#3UJZ<10s(SNjMI;YoQ*6+m>#E=dU)e0;R%nKv|EjH5eZwr z6*3dJJm7&&cOR_$V=|xEC$*cshg4`zx=mNv>5wgGiG^af^;Lb!Lb4AX-;Fh!EHMH5;Z9(P1uP~_tY!RgDzcC6!O=I#7XE-cU^HZds(f55Ylq zr`fFhQ|76YW)&JZkb#{9Zp^m7=bL{YjAUB##42z5BVi#Y>o_d(TT11rCKhsh#)*X- z9W3PNU?E2b3pqMi$kD+H{4b)T^v7Or51OzhoIEdruHhNb6nZcaLI=U3Wxe_Zj`zL=FNmMuk|+!3=B?N z*qN8bg+Oc$;NYR^FAQM6oQz50sTo-iB6lW6Q{wAD*C%0Us89dAf7>H5aBKSoB%c{c zHyC9VBnz2#7}hwzFj8i;QnnRi${c2amV|E|+e?}@HG8|9NLX5>)i$2KN|G*{`V30r zNw5J*QU=FVZt}M)uVz&jQ%(uZZrwb+ph84w5*rw6B_c*1E6eU*vA z9&_^H0DV`5k-LefFd!!(nG55hO{SK(P{5Gp1+G z(_5<9gmQI?98%~bh%QI*aD+gGDEeVSgb*b(5t<1t1jQ^BeERN6=P#xm`prrv?MOqU z)u2y!MCCpal1!@-TEp6*Nq{EHeHh@jh{dDArqp&S9ItBwo|m!CZ&s!}c0Y?1A4-q` zGK{|Agb{?10Q1;Aa3Qi_P^->OR*RI>wv}c_Vj<<+&K)9w1YQKCC zq}sclX|KOxQoFgdHQp$^>8%JX9rd+?oC4GYmww?il}WOU;wm30)6_D)Utuz4{a6>V zW1w`sYGH8>FSIOIG4#4RfnII|=|O{?o*6Q@^v=Pj5lZ$Zs1igGYeCs%4zYkRAwq}} znh4DV1<{A-Ivpvz(I5 zAsRmK>?y}-Bn-!ThG=Jqv>uOtG2ih_4kmOu?j1RUy945on7)wV7#vc;VVd|I)8L?v zGbGkx+k0*!$*WL$xm6Y_y4ZgSd;A{IvuYO3&~dNR8B&4AZu~?3F)tp#dZBm->v{1Y z*7M?Ftmnn5&hz5@--|=kS}uf!<;sIlskBr%X)Pd+EJ2ECnI}bMz8#ipP6NWEY5V*M z$c2s0cQa+a4*bcHjqX!t$wv2zq5o?e-39;OZ)*qM)pyeUq-NsQ14wWO0ABroR5BNM0+lU22@IZp@_m1dV^^XMD(6Lvww=>tcOrJ_pc zL7wt*TP7#5%n?fWisL@BWq>daU)?aWZBBtlNKb`=Ou%7zcf<8b z7}DQ_12%}Es>}PX4}RVmAB!+PrZqmVq{UHv)swM7dK^5m?81oVnoJsl?@-s zReX}G_#{{H#kYfcjB35{BlS8QtC#pB2k}V`;*%Wc(@RI?-2<1a3KE)ji@gt#>&Vu_ zP=7|vmrAOi8s%ueuu$iXhW#@zG&)!_WppsQc{BnP4M(We7E}XHvvJ%z6Q>$6%86gg`9$mc8%7@P{I#J_eNZ>=dlDgGpic|LT*IdMT+>1NfokO>eOsN4GTmU zNc~Z^Sj|QEW_~{t(?AoI+Z}{|Biu>2i|`%7-GKZm(;Lv{L;e1uM>Btt>G$P*#A%_^ zFrE%&Ye0wdI(F78uv_{eA=RZA&Bmu}s3~W(9A^ueQ*B}6M2r(PPLpw(jniTrW$9I8 zV3fm>GG zG!3pu)wHui;90PzaZz6U){T!RK&+8AvBU3C$T6@-8|L}*N5*6cQ}7KL{@h_WD2JMX zZD815y-&Al9(wCF728)4E6B|jd^}AuymAB*5xFxuYx&aIcqhe^HJ)euH0k{w@1P~( z@^VPP1CJ*@M_pqtw8Sk15kr$p{0$cO#AGb(38am^C4{sG$2!-q{qC0 ztP}Ud&HH?5Od8BUWatayo!)3KF3NywvLv@V=}?8Od(}GAPTynb3~#@bMb+1)J9Q2{ zY8Cy9KFCLf9A~1hpy^`6poxL(9`s;+Ey)uov1Q_IV?-GaVrXhZ{BUjC-Hobwa>8CX zUhB+oxzIDrnXob(teG1QMt6pF&#X9~;b7~Uj(ca6k1jA&P%sRKL#p_lQ9h*N z%3qaYCj4qxzl9PW2^(edR)Q;9=B;oDEeiHbbde%8(4|hz2GmA3u}qX5XTMpeJkP59 zC*fCwUlV>q_%Ff>IH{Tce`3p_p@HOA1JD?9I`*&_X{c49Z;SH%U1ci3+*oY_OBus@ zRH7nhxRQZv?wX*AlC+e!K1_HO5vmGGCP_=lp=~OozfVgI%SFYVg|3v;PK=G!w1;+T zC#KO3-j1q;SBNH}M@%Mh#el;rVgiDzw*JaQa@QyuV?txZrr+9@r3xOCw)OTeBIM|V z9HKxU*!uB_W;2*7psiI6o}_F$<1s#{4hKp-(_x<3r-Xsnc z&lLUI{~JHXysY+`5l}6Y0k)3oIy{8$u5)&o&OwtxY*&~NAw&sH1O?E?>Tnd^OdS4v zR1#9@zA}Ns?%4E`S$f_ik#1UAwDyW#=j*&Js2l9Qeywf32ne`_msnO`QtFrMA&_YnYvJ6AW8PR?JR$&Lv zL<^xLiGmv9|8kwPC)TAD1Slc^Ms31VNPTKjd|vhTn)~y8=3$dLg3~8L9Qhbi21P6N zDlPrVK@Zh^YLch=P(4>qz(>WXx0%GUcsiry*P+R=<(Kj3LzA7a`PE5O2JE9OqI*$9 z>u$!r4!c!7PWTz&r-a7{M+n%@kbNEViYsk>_G-u~T9&z-yUy+`6`?OmXiA7e*608L z_het2EXpoqc5lMQi5MqpoF?Nm8>huMsQ-CWAZloZxBVJIJ1Ep`Y{i={PTGELCV3Mf z8cQfygm5bg5$tik>ql{2r;<}C3J3Ot2?IeIo#t(F%r&V^E?M^=L!2MP10f{NB($e# z+=B~7`GHi{{Vu?wfleeKo5TaiX->q%AHq}L;q7z+#m}4&E}$=du2@bI_h4B3FtwbB zE@qgVlE(QgOJ6(Hc>>MBrH9wUHi(X|ho?2k5+3Nj#^qEY#QDIcBx=&xGNowF5Hm{4ymxxsjd(FkKbFDoP;LC z76`^G)+KmPY#;YO_Y(FHb`y3HE+bq@xP)*qVJCo_o+wu~5nqLNT%wo4fCJy$EyRAH z3y~N*q?VdU-vav90H6%2>t&(R#S*8FafTYF&NvH=v(`8}jkDi4Hyh`B#=*;}d>Vq6 zQ|X*idhfL4*T>Y?SolqZ?-Cv*{L)S}7LGCEPXH*^&pG(wiq))Y7^j5lm-Ic#Jj{xS zs~X9i#gt{hUI2r@X0un-`j8a1rx@@h9KB_FvdY^soyD|uWQ5Z@Utl(4v3*m4!&RS{ z?!03r30*#e-N@k^CPWBP0>(o541@TbgZt$bZ?2H}{`!RXNV#h=VFo_NU|s_ETYR&Y z0pJ*NPf=>f{Yr`TKC~bu0zlllD*E;r_{zcrsY=IRqVhgnV0z|^CLBGpXtiFevwne% zANQ<`+rej)&Fq=6PIOKh<-(1RTW1EN|2|WHeP$Y!knsFbV)eBk{+pqMF5t6DID8}s zhr0&xJ2&ot1R|ZJhh|_n9HxQ8H1Rt(j%lDguAM304)D}RPNL0($#e_n%*}*NgpGs^ zg!2gN3F`=J0sKAys-TcDjfKEEO=GH55o-h|3DPhST`D><_K4)#nWuf?(Z)OL`p2`l z)A83?_+-#uXJOc)4y*+p$^c}KBDPcjVHwT{kvMKxrEF**88g5%Y8rH!A;@WrBhd&9 zl6LS!s)MPImws@z@-_(E#}F9XoLX^V;66Az&HU`GIT%eci&?~$9Pl9vPO$nT6OF@+ z#dFNT%QVy`!cBs7u{jxuinFF=FiD|<7muV$km&R01f$#M=#_K8%;oUkJ4cqDkWDV% z;NSrt9c~B3@7y?UfblCACJkhh;c%D+4%5W%+&HFzz%HK?7=?q+p1}SVJ>?ns@|h4k z+Jjl2^pj6l@O2;~nnfG+W-VX(=_hk(E2~u^DYIPed((I7wrN27Ye3r(DGkK7_d$-d_a^g&8BtEtSCv1ff zFQ4Q5#vnQ!j9&4&_R)N8)(HowCe zg_v8I5FtbX$S+|F82jfaE4IE&lsU?qTXvO-_=+ay)aOVeqg=u@5t<1t1jQZ?5yFHB zAqwCkHbk9zXG0`Ph!lw=p=8m7EI>YHffIr%(cfQS`scv~ z?4O@5&<`$XzkiT|PcUTZm$btFW`=o|lQ8tz4Q>%w=(VnRgtt*?0-@P1`n~f9M>?s6 z0g7D{0Bi5jQLIL*ds5l7$7 z>X27qZY6jf6(0j3c2t-UAw=aCO-b!2i4vkPi9!TLU}hjczR)RUM=jzDf*1hjE}}KF zZV^0b*GaPc=ki2igO#9Mw5a1_2E}l?u9CwO(24HJwZutQ#BIiOXwzn3W{&;I~(Sw~I>fFYFNLEQm#U8Hm zWW%T=tLTO7m$K=vHu4e^1+ez5#S~D(%dl}GhF?+RG#RJaI4#CeMowopKx;ul%^b#D zxZHqL5~74A0kjOV)oLP>2qB4(Buoeaz=O9IJAE@%rGAGmjAEktuz@kHmk+pYip^vn zHl&_N0T+@Vc~&#WsPLy52!&DfJLheq5<;RQQbVgrXX?_-Dz*?5=|Y4sAp+1lmN@08 zwA7emBkf)rh1Q*Yo0fF2&P_|$q4*}xHYMFD(xOleOtwu+(hkzN(2`DPFLnBJjE`Pw zmLC(Aa*R)3swXU!g@iG8V&WOBMAYb|9Us)lmn)Fi5h|(XbEdYh87J)>6G_<|;xD^( z;Q(R9TICqn>ocDVN_?;?9C&$YMTS^+a3&!s9MKOMMn7bTeTP6Y0uFan;820-&db0K z7WJMyK;x={!}8N)mb%(5b<9fyE!w!+O&IerB`Kw$j;+RgEEZ{BUh0gY=!Du5@@7V~ zi0E)F2FWu*Bq{W4WDucR?m`K`nSI8N6Bh zp7Vi&)@3pY_cS0GADko4IkakQ>mjE*r0`~$Qbos|x8!(bhbqNlVwKm`jd(*$)|I6cGRNQmFLaqgbuYmJfy%P)q*arYdVCVuC}xjT@r zHJZ;_VI$C13kiz|iwO;cC4{Ab{56S2GxjHcK(YNk;a&n}!W`~Eq84mL;+Lw9Kvfh? z%bCviZDgFgYod6ltb5X|`60NkHMSnzxMREEw5JuQY(PTQ2Zyt??!MeJx7Jcv`KeEA zNdh>ztM38KWY^5w|0evA@EM^q2ThQ`z0@T_Ku5+X_XRi=>wSQN;GDKbq~Q9f*L zJGA+b59jxIfX4`$tsrRb8HbdIjW}^pmKBr85L%fuR(S-&E%xs&(JRc!)ZT1}64OuK z&5VE;*!sQ|>0XjRO|h6%cdUtV^$*kh74dLC=xym{3tHR&58U>zfSV(YUkG|Ku&g|Ds3IiqxwiR z9nrLdWBpbyJ!Opp<@Z_q!)_{<%x!(<0?#0!)jH5qZ9b^cJJuw9thtQEloR?9`V$5a zcrqJ`6Tnm7o{mTTM=@+PVGLm`;cUVxr`BpVnya3m1l#GFZ&SX})%0Qg>%; zH+&b?oo-rx|03PD-c?_>BFr3?g!>tIk=x$9jeYrDKBi%E-myj|%+z!4@p@JdiJJztI0tVuXQtnIAa%M()Qu?$rBXR&$QJWR%)Pwafzp?BPE(nA>%XrhIX2QnlvH|y;6nBD>pI%OdY zNiO@`FBo_Hy%`Ml=hvHUnzE?OQ2e&2EG1=x(`c07A>#A8_&CD(?d- zFa?8=!REsQJ2tU_2OBUlruhR)1fP&apS4l-)=UyUj9M*MlW4*u`>iKJop zv#uX(Qm^>qX`RgC%+a!XGMFp=#!R|Q+YR(HM_$60McTNo9{F{Ny=i0vT(7)?ZhDq? zbEYXT7yf56d&|VuAoz%$5BC!O7a7a^)#Qb>Vha>Td%P23u3!F=w3zLx!P_8a&;BdFBDY<`jdT|qC;f*iw( z#N3R(IEOU!&qQYQlP61aKFT?_^SPb-cRmk4rS^5+2fV&BzvKQ3Rx;&!w)1-k_v)9Q zYx;qCRplLUuVZ`pe~eK2*?!ga)~>~PVdhxZAP|GGD{)}~-P?fF)qNow(wpX1*v=dr-=+o{{%0;eQa_r#ZD zV`;Yaysf8K`&9S-o)1dwV?FWV)>xXXqG2L>sq_q)QZz$i7Zl;EsPu07mH@@QOr3sgui@Ub2ttA&p?CuhN`O{1D zqmtL#N%KL;CldR43BJ7!8 zkmj9UCnPj|L4jaje#cUk2l+iqwuj?xa&T7AYuk$8MxjWbes^%c#9ke|+D*@~bWiZP zcGA2aJT9?+4C3pQv9@*Y9q66D42JgYJwRdy_Z|$_tK0d#54Mx$-+CXG*!z3q3zD%k zf9RbPYP+0ZsISBh4B^Xg9KR>7AwN^Q({1vA^#t zHFag*4V$=PV)`@;-8ONj#C~NWUSJUZF#R19znJK?`iSITGbwk{K>U=NH;E_oS5JBwl;4Ig^}1`) z^9c9K_+(P?95IC<={0U zd3@U|V~Oi$zpS1bpELVLCPlX3w^&fA!I8lcr7ja>TGC(Z(v#GVK zY@OEgNbBBd#8+{jdi~F|e$(UaTQmL9>2f+Xh49~}d*wYl{ns)7`_tnxSTtkmj0^Bv zDyYZqkJF3mwJ6MtKaN+S+i%)o6T~W_ocJ<;b-F5XWyIs0`A(n-kSXf ziT!9ckK}oIZ1 z$1znfuYTS#{9t_nzdf%PeoDP4NE()rF~4#C0sPJvgk3tHCy8E~KL!VG!uU(QrYzWj za4-E`3tnH4w=i$v2ZD_Yd7*C>9tXaIztrpfg~3Jf^s^QnT=W=z|0W2&FX9=ElZzHE zMy>IedPNrBfpD+<*A~CKxVWLX!NOm0gHmrT=81>d4a943pL$*2@F>DP9=+Mnb;(%# z$^=p820YtWJC+bVnnO#TTJk=AuLvsDv;@z~RrXS%SC6xnu3dUPeisWKU-~kBN_AdV zzYMj(U+T4R*^LPI%J|K)F6Wfu2TcfUJm=W5V~9NnH(o}@=--bXgRA$Larh~P_qj)7 z|OY6 z68zEG2gmYd=$GJv595-O$!*@axd>-^j)iN-Ju>b;@l(p+p>cQ>Se+0g4fWo48efW) z_e$gTbANFz^!d5Z0F{zQYO4Ekx@N7+(8O!`@_Uz?^2o>T<0p(yjBV{-FkW5{R_n&| zC1bCR*GKM%yoBEaf>VDs$W(=Q%~Mc z>NmUJ4ELUSH}o@k)4w^ve=xy+bHDHR^YXqwA$-ajla}&-VpZAd5%?)(@QYP=CZjg3 zCNeGiwzmBG)#>Yg+iH(T&nEDkef@ujw%6C`*O&LMei-#=>w04KQxf~^>Sy74<-XAG zRs767dC|Xryl?9IPs1-B_uc;Q_h&k``>qu)uJ|2(N*TOw1)lt>&jm@tyqp1X9xrkI zMF^+P>9(fZnoWXdrgNC@MQ&c~*SVvv8ntwksU!I|bIpTm9$)j(n$TL@sPC!89pg+I*5~teTh~8^-;L{kiXZlS*8dXt{CaG|E9*QV zO#*%1RS5TZ@%{6Tp7#!ZnB@c?K9767JvICFRf z8{qjLO5nr013Fjyd4MU8JnC67yTYTJQxWfnjS2p*Cit6NKlzcf=F88AO#g?KcSPW* z0*nD(AFbpA;*j8v+%Oa4;qX;E5$@IZ_6>0vJW}yo#S;}Kj{W;eMSJ7oc*Q%QRqDNp z_uMq({rKALwfpgdWhz)-TMz$n;KQ{nlk%KfSy#EJ@~f5jANd5ajRgPQf*#GwmH7kv z;)nIJ;1vU}fWJYIG%V}tfo-ijzA?~i-;)DJ4Wggz89QkGAUJJYmk#=h#9ljypF{Q1 zJTs{C;5HHgB=jEc|(c#~~Pbq^dhU0r~>WH9M zuUCi99+8@l7ZMpEUsO}uN8pQUxPFCi_Ici}O=AP=#%|+_z&Bf}4%_Zv7&ApUwOVF;{(pxRq60&dD(nsCCrBvO!rLX$tb&#stI#^x2wMyN)wOYNgb%-js;4C%u zf}v{H1vTpa3x=uV7YtWDwvAAIw~bT{+eWEtwvASgZyTdN-ZobCzwm5z&V}RD`U}Ua zuU}ZJ9=R~A-neiA{=3x4cER>3_SEfj)Pn7{y<+=9`^xPN_TlYI?6u`ckHpx*>SbKZ^yOvH9M}eZ`yIa zdUnS*?4vtwu;1SCP5aXwH`*h29d9%HL=PmY4JMXuT?tIWbx$|Lr?8T4R zyDt8*edOXt?UNV(#O{5`5xee^C+#aQDYXw@lIeTr`{~O*vQJ+2vE6&uC-%Ty751E6f3dIJ^;i3mU8mI3 zyOj09F3UQ;%eM4xpVeb`hShhs->TW2Y1Qt|vS#ddtgX8{S-W;;Ti5LFY<+8Yu61~K zp7p@)F4p6_yIRlgF0hX7?(RFjyV$4ql=uej>Ej!_r`)%7&j9PrJr&jidn&ER_YAat zwa4-u+f!wo+EZ<1?;Ymrv3I1^uy>4a_1=}%_PwjD!+Y0SZ|_}aW$(M*uHLu7TCi`o zwPN2MYtz2H)~~<~D&Hgf{Ju~3?YBloud(W)H(Cp#VS9h{ zHtXK#x2<1A@320O9=3X1exKF%^82lZ%YS5DbNPeT{g+R$k6-?z)%S{@TT`!i&RTHA n^VY>zylOvk#e3G%SG;eXyy9(TdzE2-EifpQ%e0mS}Bo1 literal 0 HcmV?d00001 diff --git a/mpq/scripts/iscript_zerg.txt b/mpq/scripts/iscript_zerg.txt new file mode 100644 index 00000000..0661a65f --- /dev/null +++ b/mpq/scripts/iscript_zerg.txt @@ -0,0 +1,16156 @@ +# ----------------------------------------------------------------------------- # +# 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 + +# ----------------------------------------------------------------------------- # +# 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 + +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 # 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: +# 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 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: +# 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 [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 ScourgeLocal00 + +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 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: +# 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 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: +# 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 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: +# 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 ScourgeLocal00 + +# ----------------------------------------------------------------------------- # +# 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 # 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: +# 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 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: +# 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 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: +# 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 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: +# 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 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: +# 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 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: +# 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 # 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: +# 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: +# 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 # 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 + 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 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: +# 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 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 + 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 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 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 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: +# 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 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: +# 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: + playsndbtwn 3508 3509 # Cikralisk death 01, 02 + 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: +# 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 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: +# 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 ScourgeLocal00 + +# ----------------------------------------------------------------------------- # +# 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: +# 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: +# 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: +# 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 # Scourge 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 ScourgeLocal00 + +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 ScourgeLocal00 + +# ----------------------------------------------------------------------------- # +# 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 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: +# 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 ScourgeLocal00 + +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 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: +# 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 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/cmdbtns/cmdicons.grp b/mpq/unit/cmdbtns/cmdicons.grp index 9d2d28e077668ec2448a449e7bdf6f495630fd78..ec9c3ce8707af4edb6ee44ebb3490a383e7d911e 100644 GIT binary patch delta 12783 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 OgD{$6?nU%UQTIPN)MX+7 delta 6490 zcmcK8d3+Q_76A}fmNbjSLNv)IuozSjV2KWfU}u93JEx?|*qFo3Z^x8hTIPd$%Cf0sO=o@7 zraVj3AOm)-$a=kRR%T03T&BPj4Jtpzi6C{a&Zf|VHQ68?uEi47t}6|Hmj$QSNB&|q zG#kOxrqbY+9K>nOq(*uR#2Kw%_cm;po@&qI-?|bXrFW8r=#}cUsx!y_;I3RY6k7Nq zYZw_lSfT~J*i;(W7x5eYq^Va2Anx!oT#*OozXCHyz>cGMd<*Ff3y}EBSh#TOnW|;ad@+N zk`Iz7a9SpU>1U+0@hqHh9yY(oMk2YFSg-fVD>9~aMQn(6{J>JE#!v9n4K|Vb-js2$ zq17r50yN9c8ipRv5}BHl4|M9~mIaC=qVQUA_zy3%``IMg8$`TKheIM#!%-40E6v{8 zEmW*5+AT|mr^}ON4)vQkS*2=p7=6Wej+W?PmlIk0_B3`}S%KMKf{R1Qhd<2X3z-9;F%!8~!rH>-+ z`#JphB>em|taTPXc^)>s2s>VaN)hX$9zU=l+IY>%`;Tbl4Nin9!(u~hXH%&_fjKJj z>4~gPxy4yO)$_tne5h9l+!co())DtM*Z`%a%67hOC8c_mGNwETCzq3kNxn zP5a71xLiLewHp8@3}Sus)nL}3?4fK(uQePNj%34nwb85|C^MFg=s&&62K1HVS)X_7 z1lI4(naBo%qbEttz@^vufGB?|>@%H>eN7TonuWZ7?%nzQ3uHcR?IP5@OW>xZu)zwL zyau*iA9VxVx`{Q3PHyFcVCbP8Y)D_c6Aj!SvMDLayV*cW&poUW%G)OmmOsD}9r*+{ zJq){k1|K;NzdHrHoPqi0;6oRLy#Ld`jTSD$_rAAT9C67dcKm3w*exl3{U_vW+<;b* z<$?RzVcB??oWRCDJ49Pt$T!y5V91jMyLpj6>9b@1n?X*5LNyE&sz+eYGIi znhpn*hu0s5n=8Q+nQ&z_*tjO_QycoSU~YXo_WzP>PNalpH$ve^6BvFLE@%$xJrAF0 z1ADb+{r*dx5I@zKP4P9#Wdng3-DEv^%}c1i)&pkrfldEr;^3S9P#Xl>4Tfij!U`i` ztx<5*7|@GLJJH-lNaQSr)}>Kbz?9W6wse!$ zAufCezV|K^ODe9M2rEidZ!6;Gx5E-UA?Ym7vd99Yl{X19cgTEW)sSTF79DC6*posswDN`u)i zNsW0uqu!9^ojA05a? zy?z1em&VFi@Bf;V))vC1lcdJeQ&^q8nI_}l+cQwln9a&NEZ+ZNIy+YujA;u|==Ub; zrx{CFok}l*i&r3jaW(v69qjWCOZ56i)}ZvwGBz4)llp7zKwUg=$a=<32+pkt%VolD)!5k6afH^^AicD(gN!nJG}8$ULbdYd(6fA0!WXjIOxwU6CV-F+V3 zfA=hz=xzm{YYUfkkm@gVX8*IlKlj)2_qGdBwHM>$_rE^BJ5E^COB%Y- zm-W+>erz(i|1R@}IY?S!+IzwK}A z|KINL>;EtQ=k|Zr{{Oub5}&{S^A-KE^YQ2Z&z(T*Gem@MKl0XCB|mGSyftyS|F^7{ z37YW^-1jbgU@LrjJFLDF`agmRdtuQ5XdZ$mjzax7Jah`SKLcBzgB!ob{-;mBLE_u* zpz|u6c@4I_0l&Nnzp}-Pbt4MI!@~)1u^W1e!7od|3MsH|5T4iJu84_)!zH11ADnPM z98ezCtN;ruL3b6{rW*XY28`5()v{nweHh;Wc4-VdGnrKf{;>TE(A#qMcoG;I&d4|~I6{Ovo7(;QJVqCXd%e$R-E26PSj4oc$ zv>4vzR>fdW&7-P$3ipUkVoWhj^?2Mam+BVnML$fVxF)9SRGm(jhc6{Mmr*4&MRZnO zPSL?7E>DX$F`ay?T1QC~6}QXnR6Q=$6P;(i*DX3I;^d0cqc~O3Ushbs{6x`GRTYmY zIu)1V91>fYk%{6wVoXsG?M2t2a(Tp(4c9zQu|6(EaVp}3V%3;)zRJZ{E diff --git a/patchnotes.md b/patchnotes.md index 5a7e7a10..1c8d4053 100644 --- a/patchnotes.md +++ b/patchnotes.md @@ -7,28 +7,74 @@ - Deploy advanced constructors for all races - Add and improve some audiovisuals +## Core +- **iscript has been extended!** + - Special thanks to DarkenedFantasies (aka DF) for his stalwart work on this matter! + - If you encounter red error popups that read "Script [number] does not exist", please share them with the developers so we can fix them ASAP! + - [Click here](https://i.imgur.com/r6W1KmO.png) for an example error! + ## Bugfixes +- **Gameplay:** + - **Kazitrith Cesiant Adaptive Amitosis** now correctly clears when the origin is loaded into a transport - **Audiovisual:** - Added missing tooltip for **Apostle - Blood Tithe** (r. GreenEggs'NSpam) ## Audiovisuals: -- Added more new icons (c. Raenarill) +- Added several new icons (c. Raenarill) ## Terran +- [Autocrat](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/autocrat): + - **Eminence Rifle:** + - Armor penetration 1 » 2 +- [Vulture](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/vulture): + - Build time 18 » 16 - [Matador](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/matador): - Movement speed 5 » 5.6 +- [Phalanx](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/phalanx): + - **Arclite Shock Cannon:** + - Weapon damage 60 » 70 +- [Salamander](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/salamander): + - Build time 32 » 30 + - HP 160 » 200 - [Watchdog](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/watchdog): - Build time 18 » 15 +- [Anvil](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/anvil): + - Build time 45 » 30 - [Sentinel](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=terran/sentinel): - Build time 35 » 25 ## Protoss +- [Sycophant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/sycophant): + - **Idolatry:** + - Now always recharges the nearest ally not at max shields + - No longer damages the Sycophant's shields +- [Archon](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/archon): + - Resource costs 350/75 » 300/75 +- [Patriarch](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/patriarch): + - Resource costs 150/250 » 150/200 + - Build time 45 » 40 +- [Positron](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/positron): + - **Antimatter Missile:** + - Splash radius 12/24/32 » 32/48/64 +- [Accantor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/accantor): + - **Plasma Shell:** + - Weapon damage 80 » 70 +- [Lanifect](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/lanifect): + - Resource costs 125/50 » 125/75 +- [Didact](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/didact): + - Movement speed 3.33 » 4.16 + - **Stasis Field:** + - Energy cost 150 » 200 - [Warden](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/warden): - Armor 2 » 3 - [Engram](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/engram): - Armor 3 » 4 +- [Ancestral Archives](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=protoss/ancestral-archives): + - Resource costs 600/400 » 800/500 ## Zerg +- **Regression:** + - Now always creates a corpse - **Broodspawn:** - **Death Cycle:** - No longer Ensnares targets @@ -37,9 +83,20 @@ - No longer stacks - Reduces armor by 1 and attack speed by 25% - Attacks apply it for 3 seconds; Broodspawn deaths apply it for 1 second +- [Tethzorokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/tethzorokor): + - **Saber Array:** + - Weapon damage 12 » 9 + - **NEW: Fan of Teeth:** + - Retaliates with a short-range piercing bone (same behavior as Zarcavrokor) +- [Vithrilisk](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/vithrilisk): + - **Corrosive Spores:** + - Weapon cooldown 2 » 1.5 - [Gorgrokor](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/gorgrokor): - **Serrated Cleavers:** - Weapon cooldown 0.58 » 0.67 - **Calcification:** - Weapon damage 8 » 6 - - Now applies **Corrosive Touch** \ No newline at end of file + - Now applies **Corrosive Touch** +- [Kazitrith Cesiant](https://www.fraudsclub.com/cosmonarchy-bw/show.php?target=zerg/kazitrith-cesiant): + - **Adaptive Amitosis:** + - Now builds up to max range over 3 seconds \ No newline at end of file diff --git a/plugins/aice.qdp b/plugins/_aice.qdp similarity index 100% rename from plugins/aice.qdp rename to plugins/_aice.qdp diff --git a/plugins/gptp.qdp b/plugins/gptp.qdp index 2cf538f3d48686a6551b80700570c31858dead9b..ebf271402822c52729d34b71dab57d5ae391b8dc 100644 GIT binary patch delta 586186 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

{R#0$Ce*T0T17hy1gAT;u$Z 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 z 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 z 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 z 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

  • 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 N^@;Pm^Q*G@{{ep50dxQW delta 575853 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 z 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 nh#c0nn>ynmha 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 %ymyuEG=pUJ;kqB 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≥9V9OaolB2nIQy*BqGdK0XTj6{|KR00LvM|g8 z9L-JL1YTc_#}`;kH`ZEaQ4aN7hr1f?@VO6Qx^a6d6fzF-CO9_Qmh3zH`~$3;yh(T_ z4}eoWw*;Xn?+$PCP>S%XOab0Wmf_fhFSx_AAHpyqC%mJ)vL;^t7k}_j3e$%w_||Z+ zA0qHC-t%vmYrM8p#QF;yn^>d%;-CMGSeFwXM!;&~v;X3bkE9Ua)`WMIeHDCl#!1ao z@E0Hd2x_KZmWU({!Ldm~f0yrigd}DY-cg=d6CZe&*Lw^#ln3FN%-~eVPX!Zom(O~P zg4w+ocuD>Oj!pcrclqhZh<_yE9p&(v_*r*(hbM^t`6A#Q@L5G@bx1Jua&#Osm`Ct?;h{+6l%Kr3q{~^I5v?--Q(+@BJqzD{JS;rsrUFp z;GMb=-brq?uoho-TU%d~caM*(l)8IeSOB<#Tmr`?-m-gqTO~66u7aOi6JLIhYn}n$ zPQf>-iC5j{(S*M^U&Ma`j!pc2_xZQLYgW$Zx1LFzXPgkt=~sxsw9&DQT2v0bEzQt) zhVTX#a^wRRs&j&h-on@&OffO}#XOXr*vN0QF0Ox8z51G**H6WV8l`&t^MA0FCY;6FW=I&^rRjwQeY#fGzV^Wo5`$AavfSJ;2?wo0D3Qb+(I zkR0Ax7|*B+VQlXT?*9T-JnujgA$M&`N(d%8m*j>~iER@6-hzT6fnGvO;RymmzW^vI zD(nnlZiX^!>%hKwd8kOXjOKm@B|%(LR5xKY0?L2-3k8_+SyLYd**ySeCt*rnV|>OP zN?q!p!nY_k0_CW8v3M-zS##gzl`kYeC)H(96faN|jbBR5T>Fb?4d+5$CDWAhh=GrO z31f`;KXd+4YTYpA3~4{A_e5e3FeYUTaX@0Tzr2)RdnpZeJVV)t=bc_jjU6A+|L%Ok zE2*KQTRi@I^7L2Imsrk?OLul-)uzlN%u@FtQhl8)ykc*6@@RU-%%)=HTxA&a$gnJa zb&@MOU@0O~{Kc#uz09a6*?-bHHG9Liia?is1N(6-L<+?p6G1WGu`{LJU|kApB#ouN zPyNHjZ&;-jk`A@O~*9E`AgsYlM4@qC$@ z6=-TL=e;$ovpR?`)-Z!Ec^L`x$yjO`7%As2hQ$`x_6h{{0;h|uC6s#SvQ3=3)$L|r=Pr>>tSbJa#2-`h>g2dXXbz|o%3;XM* zo(sy^Ii7D~%nw~b0b^5ZeUFKzknv+=-cidM_s(OCOzz~u5hq(L=USG`qd0Wyp%nAP zy^;3vY6JuaI2+EIFf&%k-!8C3^!H8vsh0UVrXz;ojQ^x%-p)bDnV~deq*?Bg!vEB= zfVw@fwp>xanqYlkvMaLGi#CZNFbe!m4t*?C;TqtlRt)i#<(2%TSIUp z;VIJvor|lHI+|Fy2UImeB2&aFfe%H;fsMV?i^R&8Kwxyn-?$ulBd$`FJd-;S(Y0Ba*RPWV{s-+E28&N@Xj^yvz+-f!XJ%A z^i0l&gYd7jzuB1=y0Qqbw+JuEBNhDXa}wEF-lPue=VecL2l>&28tLab^Yl6_M6-PY zFRa5n?ZUtlf7D?O^igkPwBA53F=T(pYt?1ZwIWg9WX?MRWYg=i^d_}}g%YI}xhC)eZsY@rnMU$mF!@Ts-=B6?n(Q3(X zUW^fScLz>&#iEi;o89>8dMwiGBf>k%@4~U+9o%O6upZh)H^RffXH9&$8;`7yy1n@( z&#ccvVU*=)ebxgG4iiMUp^G%wuTSkJsdVYbpj9>m!|06b8hbZ;9hs+DhW37L z-kXG4$Ox~5G|-E@UkLBBRVA_!wzi?O^WVD}Ao$lPez(1}G6jDc{6*m}K$Bz-SH1U` z0-vhT_1Sw>@sCmbL3?u)|3Jm>zc+;}oFJkQ1>m;#OU2(3{-W^bmWZFL_ij?)b*lo> zq7TB^RfWq{@PGHFaQ|4s{iDVKkR;c)OXw>2Rgr4Pj6r5O8=G9xDxH$+U})~6Ud2E0 zWc{=++K936PMiGOo@}66d#E8h9-`C}h;N}Ja~U^jQ*rM_&Zc7KrY<_7WA4Or7g z{=vfQ0Vhpf5c(CqYTnN&`Ds&!fE{}J~gef z?!1-=m7&1rcY+miWNfSA-O!2G_G1mSNu5QgX`OknAM?}RQM}hX=a2Ve7uDKFT?G10 z7Z?|3KWJZc6<)b3H#cVEw2wlBH!mdrttRY4wU&h{=x)24vP+USOz{SW=HG0^-0f;# zM)^MVVET)AU>MpdknL_3=*9Fa@g(8thi4?7N<3@v5d9{&YHxlckp0y44E~?TQ-P;c zz?oh}79gtZK+u1Cdkxuw2=Z3KcY(Xun_p_jmW%YK!XGPO`7_!xjk-G}@&y1Wwri^P747ziRUsNvfI&sZw_Sk+M1;u4nokOuAD(s^^vCq)p2I)a^ zwUyHr`lq*QE}|P8aYlr!L&C_`dWzFU1*>4X-G|clFB1mJ__txq3Eh5v7`k+K@9Hl7 zF}id|@+w{WKj<;1_}F&o(TcyiOYaANQTR(s5BjpYOK+>tRd?wP6@PV?u2cN}dp#{( zy4hPKRNbZD^X4;qvU(lPDscb3mM;8g6`iFE&xhZ->!&k(dwMe3F8xPOHeDMyQuH*f zM)2XiSW9i^QNkNAim&X&{?@uh3-6s#Jgql7uDz~!%cA+HJ}h1993!wVqWQHxEK0jU z@ve^H-NIR4ZSiP<-7uO%pMOPr@lD|^eltJ0FJo%0JVyA>jN$M0WAWOUvBKMDEPvdO z4b!@f6JGmqJSu`M(fW@UUj2CfTLeqi_EEe+n zgot!laWq3>k)2=k-Z^_)r$C-9K4m``gL+9}H!^)Y@rp3BS)<{Ngb1nqR!|dc@`A( zHxN#1+J=%=X+N(yrsiQ&xa&yPG9|nx)At?1^xgxRe$8N}e{(p~*NehPIgIId!f%iN zMZk}M+XHS-;4|Rv9l-QqcxuC62LC>|QE;~+zUO%Q_hS0NeVBe|UxdT|U_9QypG7a}dvCJX8B2(g>zsjmL=pv*G6AS%UwY`=j4Q!fO$3A^z(T z@fIZh0+~IBX93^?!H`6x*ePiIu5a)+Tyc_6!5q2VIMj^iZaC@e2GJ#r~=7 zGJ@$pMa~!C0St0P$cGmDQO%MO$!$D8<9Qcf^(9JAPsMnT$2%sJQ0WvNWTQYqj<{jEVU&382{hHBjJlT z!4-+Aoix0iM&k~fitMI41)Tyk#rr;7K|;pVeYw+E_IsU;NarRVqMI+$6w-n_(L196 zt8hv<^&c*+$c9-o&kl2GTE{Lvo5J-19nph^A4-;94lV}Z4?Ge|`5{~-Uy39JQA!xr z>I>XpJdN=v`2RJmMU{er6%vB-|9>R}Yq&*1um)L62n4?g26%vnf#WH^Bq4N7ie&l$ z0Ib79M62L`h37DynS(I8gR{oL?F9b~&?JE4MgxYt?Vbe5Uao_P3w#4`d9 zXh~Rs)%8H%v&t3wk?hye~V2VdBAMjRqsEJaGpe9MplbSR&XXImHJo~OIF`P)dhHN?;EhG;Q<&E;#65$-+ zKZx&{uYAYEDeP{`7J$)1aohlo9x+q3yu{5o5O-!l%vqGc`l&bYLpTJGLQ)X6xI_BE zY?)*ssKv;^&US*CgNZ<1iWL%Cs+|T8Zji^@W-SwGWKztuR6>qi8%rfylJF1nZE{HO z9cONO9n)tx<#1xL4q#^(lu~K9gRS-RL1SEu7q-{ae}fBoWDi6WZzMomd=5FUC-^5~ zaV>5tKnOt>6&YN}Bj3OlqW(T`xW+$V^qp!yM!JcHz`Qg=6M5_DtdXXTg+>FKIs)dyGp4f{c5b+1;n{Q+;A6Rg0X7-v zx+UH2u*eW`Be-tG2XFJx8LXiooiKwnYeA$~P9VBy+)0YFb|{x*D5HB@!eG_9R4#O` zRgNB*)XvV>GKn3HwJOaCe`8bK-Y0kgpmxUTX`%ol z7pY)qJ*BZKi5cd#H_YvYMXPzeZ~?Llq<1ao3>|Uc_-|eQ@X2&xrFN)T6LGQ2x^_P72JFF$l%wK(n4b#l;!8^`oWAz!(p(X0G_E1}h zmYuWsmf5VMCa4GheKs56m2qXMt3&ahxD)A`Lv#o1xT?g->Sc$Dui#rHb6gXAZ_CQpy+np6LVym|NyjH|%Z8=6SPOfQLP1PmsqA9dTwfXocT{XjPW| ziVS>%-(1$rE*F3L&t?5vt`|q~#yhY$Fa6u$tWQH!a%$@7C9d(h8O49=ZXCl6wm4Sk zd<4fAf1Jz4#BB!QLtU#vtW4HA{-mD=! zSIJM$W38xcLLBFbKJ0F*ek6V+if#@d&r#-sG=5ixR?vR zsj1|D&S%485O0VBWhKc$)K(6q6yiYX0z!_#Wdyz51?lmmx%Zq?jpnbl#FLF3s zJ`L+*9V7Vq#Vo|Rg^1R^!!fyG1i!qP1!x}k&RDTy*TKoU(># zGBR!f8V1RKHn!w_FUjrup^rJx*HL$1l)Ygv&H)Wg7D{nM*RLPXUxMgT7xF7hSY0pG z5-}~QTnuH#{*9I9_63Ks@4@qEF|WOp_0!}n=Fv-;@2K)c(43r%#gMYB@C&HG?MgEv zdR0hA!`cwWfGL0SCuyPdVX9$qI}0QDuu zm$Ef>^d~k2+6U3!ROnBYXRVDWzE0z@CO+ic9J}~TuL-nHm+2CTNVY`b6}!rX9Qi!9 z+!;sUANHf+T|Gn#Q6)YzGzP#7UyPE_&HqfaV+Ad}51q(xiG>S^h0v?qhmub|M^p*; z7nehCn;0`(XqYw5!YfujK!izxklsWXEAItx%X|WE#+yf_vijP^f(CCs3trz;fu*-i z+*sPfSjD%dGJkCbkTFK;|4+eN2R%Iu{;b7Y>^8(Oz@=rZG3)lgNjZ5JcUoOny_AP9 zgXD4Nz7wqnT!dr09eScdh04+*c8m)FFXFXc~`vA$mImGF&g;`J$f)N+JBcMstm za- zUO!X8Pk@8XTbon3E}ac%Wpy40~W68zK~g4QtY|+P3{Kk-{c8HYt>+ z@bl@&;Yh+e$l*2d`X#)>3Kn9g`pb#Gvw}6z+@HrkTEV(Y9{136*TnM+E7+jsWDMpA z9YrP?1c#+aT!Bt-18Pr^T9Rv1=f{V<%RGa~FwB#r2JvZ2CwEJ(pQuW#o#-SiV}*RF zM&`)achWSBE0Ji?Xkv=l#SQPW@Idc|qDj+E193{&?oX5lR<^SGVZp1tZsi0fbV8Ny ziT0iF9(P^IqTAc|wGFlSx)Lf;)&BJNF7lt@w&-!!o%km!SwQ_P%7puN>pB6a37Gg%`Zlfhh~q#8-4 zT(inix-9px%~7m1dX9Xo2D;}p{wfRV?;#mX%P%7Sl(ZTY&#zj=pCwPOfxc*seqRo+ zf&Q@?y<_(G@5s$+pg*&q4eyd7vryLL@`OwloKo7`_AB~TM}uPjSk9|~4zNbgmp`b1 z)>fgtcQ}6UBhRjZzJ0~&3qO&E_pTg76Rv7bDY3@SlY?pm|JE9vExXr1XIJPpKTVj8{Y{C`lRw=O&>VIE=ni(e1obpsf~w0;y$;=^UD>c57$>H@ zPGzlpp{H#s!^^qRfR8FxK1x5$=A)c)m5&M)d9da4k+vz?&sUObY?a(@*}q0|8!lVb z&|cZ0271Y5zF;+L2K~+E)vUX2e0!Tu=YOqc9x=AbrjmkRNx6Ic>krM8!@_Jobk8NL zl-J0OYM?*9M9s&G&&y)&b;^6#hK;$zKSSHnbiTxYBG=;*zeH~39~8)}dA|!czsKTI zT0v?=pQM;5Sb0%N5C;2KuY?-oU8bK7cPQKkaP=8X-xkj`JdHA;am4d3{(p|=FrEqU z*IUK(UmKV{Xf;$daJ{pb{$s$-z&{*MGM*^F-$$HlSF`4N4FY|G$WP9!gU_jmqI8+L`aE#v)4eTY72OTv=hz_`7 zLhig#bkrgD=V+mhP#wV@HBwL5#E=9N07AFGypNojD=$} z3`M=qeLi4aH6B-Z%m=JlFBc!&Wq3Y1-tdnhC@*Jo%M{m;cWFImY3l^?$dk$`0{gU3 z@|lzC3+PdYT=+nxk{@2?1s|{my$K*^K83BeI{_y07!Ds*mG}439}TlFZ{(!U4D*+r z?Cn*Cb1N<+je^Z(I(vsBvP+y-xwXgD#qwXD@yJq-1U=lD2=G$ zX?Nzs3J3r6L$-jA&@W*gAiMDUYuQlEK40E@9c#ljG)3lfb_VgEzH#y3AFN|@!q+F@ zq~slpf3%{aLT`82aM(m=X6cY@_=YHXN-sxMR@P!@m}n!z&;%8#$DCYXC_}d8<1jHt zLtdK?)!r`ERQ9s(I{wZ_Z1n{5Dqn2m-G`HPRSc`@CaAO9E~1!iBjKW1K<&V9M#C#-{|r_qE0>$l3b=s{{`Ft4Z%^}m;!kyZi#|=!_b|o>UxxX%7ZW2z&zFQ zoNr)#HJ3l)mp8DUnv3qd@kUHlzd6YVZe)#}iqV-s({ln6{k)A>`wIF@w2W4t@w|;J zno3Oj8S79>Fs0oogA4ew-)AgB^RgcQ;4{{xVSBggKALtl3635e8(BUKiJHI?atxPvCXV&O6Jq2PGXq zXuWU{&Z`a&GD3~{)RjjYS%=Vru2n79K2bD6vB7+-&Qehpli8WRdB_?L?obBZ#oGlC ze$>cXy6+LF{Q@Q4E`V@pD^LXjby%Rp+XWEb52zI4rA!yFlB;|f2a%LL$koTyGJUCz zGF?zbz~ju%|KL$)z+WW1`QPy60)L(Go3O{TX806elqn*(^IrtM_XYkD-ZjFC%F6Vu z6nO9!&PU*=QVpWaV5*wTP}B^@>Ne0p&@l@JAMM0rH!=Tx=X2(*p2f31XHn|y{L<%a zu&&DqF*s(9tHfk6Y%34>f_0Uil?Wh@Y^-je#Yv~O&=_NIHh#f+c5+69a^2xd?0Skl zhu(srNbgUVWsg(BSM8&$G?jhMy}!h&@hsjIj)XfHqGi_-KH*C?NRtOu^OvmNpxocV z(uyIfq#=SQnyp7~UMiOoqEtS28_p2t%=}bh;l9qR!kjXCl1{O0B{SwTIqadG2$ z?wZRQ*?E9TgL7F^J0JWRm&+0~(%1ZGE^GbY8&90S0@XP;KKCmYfQw`|eZ>aZ1t9dj zuULC@l3ozVbOD8ilD~DXFeNH%dGwStZcXl2TdTJVG`#x)%lRSisxZY&a@W0C_)s?* zLo=WLHS;Cq+v=~GX9KeE7O#7=;BVb%bR2TR35;@;wUQb94#jc&(ATV;o2+*s(dYbF z{~+|yef)#u-8#;`!8ia#Yrr?`ZOxcR`D?y`7TF^Zb%0uG1qT}NZg9|TcD}hZ|I9Wv zUhUWCJJD};hO_G6p*-~==&|CnTf-ZOr^9!A*mibLn}A>jmudLi0eP&q-5t!rv-4Pg zcNy|NDl=?4927oU`F)`7<}pwA+}tEr4D-D*>tl=iva9A42vp0s&-biBi}@6rs4Yz4 zLq_ezWp%VR@XbG>!@#ch=AxEMF7Zj$kgSC1i0%U17?jXQs z`d8#+cRw@v1)@j_p|E<$E)ZH|Q*JJfW!U>_&Zh9AJ6P|!!={OI%|pz|m2@1tR9-fX z`~JW@noj{j^m)mRvaq$YG%9Q43;9C@SWUeA4?gw>=F`Rv#elUsa%A~$?ESWMznLyz zPuhr1c=+j`|B6 zT1OSZ5s|5E2kHG*Z5zQSqw%OPT%aqv9{pBuxY(K_?bTqaH``J{@{Zc;u zN9L{hJA^O#ku~%CrW6B>9khwJ6$_>?gXLo=#k<+4#D4O&5MKBr^U?GO;g^3zPki|_ zH~+|1jxM@D-5Lm?f@vn_UZ%k+3363!9KT`yI30IZHl7p%*^4e3)vf2KXDofe7C|&* zq%N083hehLIu!yKN{d#OfB^T#n@{n}Ke0FJPeO!=WP0FiQNO_&Q!Op}*@i0I%5i{s z|MzG%`~d5K3u{*%Kt}7=-o6?=C3K}&R-R#1_~!2N}kY66b>2sS^QhhbsAMVtCBqAqbNjKgM4AU zbCUbxkL-^ZWVdx~H6G0}&^1`yJM>=}+;$L>!_{DZ;vk#e=o$(X7O+j%!69K#r1wiR zJIsb{Qu!YsmQ}=xvy$%K)dGo-{mUWylTrke2DkHk)gk6JE(6~QZ@Y7F`a17W8&0Cy zo#jGg58zJ-+t=9;=9fC($tl?(J}tu8{{Oxnx%x2c6yo+it=wZK?m?zDOe+M_j|#xL zqWm%9NBgWUDhD}VdwtFJfrNeIFOf48*fCyJQ2-CCq~yNJd5 zoo-ikwp5ts6VlOHeEio7MLf-U&Zk{Mb3albcT{;+>p*e92rLk{;NaJGa(h&fs0-UIh2D9`XA<1n;9e}rCj!FIy z^`j&-U5EMkVr)d&fYhHCv#pxxcX`e+tP$n568{rdT8bd00kG*n{4MvR=vgO0OB`oHdomW?_~MvfZZ?ITRLp#a5wY{yK5UPbMv>UITwxs{`b-Dc!!KnV+malOMaE9@`+s)WUAerm;IPp}qtTM>Nq3FeD!)SDlx z>y4nMhfN{N4xJ>1Z>SPlAOk+j&CYPJDeYlR>ic#<6l8|9JwDzo^s1~3J)ER=IGU+S zc1&F`Se?`~zVNnl*AG5N49TAIn|HX|&n#GD4CDiUW|5lk+x+97S)eBE05AEOHS=uQ z(waZUR2i__`UZD8$r^Ug1^W>jehW8q+@mML{+U{rZb0n+-9J{%Y4WF>WIDB`*)2Z5 zltrcxFUQKm$Ucb;?-T!H6;@y$S*(|2hJxKdz13ox-y#o!3jm~9xUgDMbr}-c4{8D! z_bTZM^hT5}K)tHk8lN;r>pqCS2(~{2Y7ZSb%fnxq=#qjXW1P0J*X08kSjF=?}tb9?`3CMW63f|@n>gQZ?vA!b1ccVVv^`@EH~|y z%AfLs=de3H0AMu4?-i`YD&|Q!j=wm^0(A03HLW>7K0>w!-ryb1vp_^R`8-S4O#X`B zKF|D`J*-3wbM2v0yKh)S3y`pMJQ?@e{6vY3ZP%~a{$CPE(uV~=ctq4P~)Sv28K6NWP2#=@Y zX(l}WipLY4G*cwR1+^|{rL*vDz#DGN*au zAI!Jae&A@;9$bWZXO{gDXhc*QeMiV%6GZJ=>aRpTK2FV-eXRBHnt)rsQNJ=AbhOp= zyPoh*)E-@017S|Si<=}-P4}Ik8X7o@CgBjV6|j5(KtOEkwqqgpyu`vnx7Mbm0nFlI z-Ep{F59-EI!XD#U`8Z+5LG$Dhi<*{X*878?G={bp_ve z1)BRHo)5B~I}vkS4!sq9BqrD*RWkT`hS=8-d=5@#awYNZWw1rsB3NXD-Lv6NsP6l& zyunpAprI%U(P=5`ByU$zQ7k)3BPgvlt-Q(_C>g|1$+um_SeWR_uU}=oHBDW4i)(DO z#>thZUt?Xh?`;xdVy9dD=rz{O4>60jGRpAKde!ai;>Kte6m^s9tdSCRDx!|Oj)N>d zeARX4Rb4vYTxYFuTJrpL*4?!dA7gNTL7#*@ERQhq2mHyJB1GIs7q<>pxwaYirK)ki z)BlY7eBGbe6=N@3`ber9ng)zQ2j1aH%?_MvZ(ygY4-dY<#x-~TzYJr#0ZSD={P!Cy zqPbhmFvBUG3;&Z&|C=J6GFrd26mKO z^bIeTSuf|=zX_QStaI)sUhfvPyq`N&@~*d-mum*vf7MLD;O;Nu65Ly?1H>4K>tf{uk_0XCT;>QDR4PRPS1;b*AxXGT@#;o zi^mb(MZv#JuMxiN7T-tsAAo>xX{?Dazs23}0zaDYOzscI=DdUIHlKMH=N%rU0q-DR zhhvk!z}x)HU1+^F5nhtthhq~y>Nan2k44t)LU>#bCGd#Blzp3L+=FS0%gaT?rEqK_ z&b!TT-9yBy6#T-P__Eu)`+eYp6@1g0`1`l{8p4+^6Y-b9v58+_!DYf52(OhF)x-x@ z@X!aW@6eV4VKK-xD*afpU!q;YBk1uHR5P))UPV{+Kz%A}k{YGS_Q_tt8j+hJcr_N8 z63&6n{9D3x;fz0o;{|`T=VujHR>znRCN$IX!wk_Ju2 zMu;GuA`srmjp2>1_BLw>Z$x$U-;uWqc}Wa3nFfce;nKj^QLXIVp{dk$8~i)EUuk}*NiPn(0?!8rVj5VZ-Hz0kjAudY+ z33?4lF`K#(sPSu%*)(b=lGj^9O7a1DwdnO%n+E=b4BfGUD7;r;>i7Wp`o)4Eb~JS* zNTC&}$^Hu@xgC(Sll16bUZYVm8PAudY+nZA&#pR&3s zG1i#R^CD2mR*<3<3P&y`erRolF!dmQ@V183rOMY@LwXV9=>n^&9!u=-rxhf{bc*=l z7b}n{iuj?>8uA_`zug)#l#<_Q4QWb=8LS~A2(rK$GJ}$zVhu^TM#+z~2E9qi_Xgy3 z>syZW!BB0i$-*fIKGqOVO3%p}5ZdOC6(|VIYzgB|)Nuq2XvWDEETz+p2nM^s@WDRLB z4gG1BHDuvifGo0xOee_OuOXAnraK+c;G$oH%%)a>fP`B^-aC!NI#@%ltOBHwHRL0L z=&T`e1bI1^zw-|onmpI46h89+<~M7|7=j$OhIAr|E1M;Na*TSMMEj$(Pw8ge!c zkj2)JZDRpROtA)yp+OiTYaie zG$419Q>;JvH`(jI!2ct?}A0He1%K!Y~;9A zCT@PgoZaHAgRYzh+9652;Y-%2M=QeEj8?Y}YE&k-;=$FUl@=t{!&x3B*e(*%pgDx6 zykzb^m44XLDdaDU;0Zz26hsuC`SLtaL>>i2qH1rGkbx>wSZhbU>^O%aeLVmgO#OkA zHz{<3s_8DxM*dv(rVd0veH#P}oy}ceF^>+zLnzJH5oDWw?2HH^Yh)!Lf3(UpsVguK zefU@e^f~9_s8X`2&xQ=Hh>e9rakneae#P8VZZ@?298)h}y{YHIp6F!|*7`$>3G*gl z=G4F(Bh1%?8C?T&oG=cHfay^KQ$m=yMGb*!S_8F*P(7amQ_F{cU}kkgn&%+L54>&j zBgk42=Ip;=IuYhaZ;HU9qw(J;rV&NvzhUMPW~K;RH{@6Z#PN~;Ms|`gA^(OcCrl$H zf^}h92OsI*sHUs})n8ug;PDMBaX^L$NuE?DUHnHEU ze*!=@u?Yvjnmtse-6}M!0^fBfwH}`F2ycr$K-l+v*O|2*DZv8!dKSa*GaV)Z@BhJo z(TfSwuCr~7%ygWIX3JqorWwG=B?@aU9|O8TqI1GGBgTEzfM*B@K+@PM3R%STnj2og z@TRG=4}_5!N}_j8M`%^1JYw`8r}0MiT91x(YkWcG{4)`z$EQ)~&+6HJn@U?4Z+b?U z%k}t7g!MckC|)ze9FzJNpznI}&GuUNl(S0JANm>9c%Ra&M;TV{HG*?ZDk>9)8X0Ew zb+t^$0L)<2NL(;f#71--J%Pbj$KM~UGHs@E37l$MetS$0c7sz#d)HuZG2wqmD6=~s z;(!bW)L`ZprrSGFb*=#K#j=yiR7BohIaRuezsTDGUTdbnL2Haru8;>lcCS)NwDE%1 ziNXn$#B}mL-%R0N7Z$|C^GyKXD%j5&-sLNRvjE;J;;t0~Zup7o9JSt>#_qh8qt>gV zBa*Vt1XTRdrm4%&QQUE}#rRS7KHdl(IPJz4J8GfSZf{HR!gadJ)aE?Ge&)vWKrv-! z4GPx)dzI+Tcr zZxnC$Mm627%VQ<2N3cDzlW1pMcG;#{4tqoTp>2REXPtNwP; z%Uh?2M*p;M5W0m&05nP9`k?|*!EVS#xB zcMXt>prELTsCYq9K~cG>h>KTDMJVHgXoU)?rGf$KvSOIpSXqg5v9eM#0X4--La9h* zX{lvuH7XUE38l&ZedbxN_5FW8-ygj8nai0ub3Ze4=FAyQ!xz9lL&eYvyYX-Sh%<}u zb^r`K;rhgX$v`DP=FG-=ZwCxmp8uC1S1Nfg7Z%|;ih|gQ{xHCKZYo7t?N+|Vg~fVb zoGsxeVYDr#<`rJ+f>biqAdme^kZoJ}G*>pZzX34ezW{~rwi2R`4|?D;6k{7H-zU4;k6?QW<&r@sda4vYaz?0yDS zd$1n0`qtUM8<1|Ve?hvkFhm~* zqixAFC;388X6p9ybVN_NgJkT)1=!n$+x4d%zwXImIzI~_GQa3w!jvP-xK3K_(m@l*7e(|NH*FPRiGE2!rm5B?dSY9FnKQp4Eag@mmtQoe6lw)b!|te{N8y$ z)p2*qKT)Nh;h%V;Lu>;K6<+u+LAF)!-kq7L=Rm;3^5@Z%OV&$#9{&; zUVzNG4QKwx2>8c6IE@`a!|&mlWif3zY)9HwGbytusCif8Z0)4t}n4kmi+Wd=A`#v*T(YST%V&z?WV}v6r03XZsX<3eXEg z+Z+}V%M$Y~8Eo z9iN#<^>5ou;L*@No%!G0Sj5Nxz|hd1Fj}@xS(1;=s5TN>4q8U+z(cpYVUE+Dh|(9D z(!$g1QfuMIv;A1lKF8yLq@CCcqa_l=EGq{dM6VvNu~euC_&GoHo;ZqPFGj#<+rbJ0 z_^|F6?B7q2S^FGD+aTKl_*>oC*dEUSh9f!@Zs6%sT0uaNMbt#WQ=Zm|XMz6IDelpO z^^Upwk*tM+IOF~dobibrwv=03{d6#i+y)7gPaqb;-z3tox&T_MOah6;T(5^bPMQB( zd|eOLDQlyOZU0)JDhqilqk|aJ0$-OF_pyLyJGB+3h zzniYCud1mk}V82S9^#zfo zCUHbVI{R($uxrK0NH7UdOY|{xiO^_9We?S4{$-v}Q!w>9M4-ZG7qCsmPy`GGk>w^e zGX*P+;yXQm(w}v-Isb#6uk~mBbsM$(fIsW)?iC^Xg*Dq3erKATl}WfM#TP~zT{>SK zgRJ1PtVrL4E`aunFS-Kt(j-Y61WA#gUTjK0KGtWZ24>gSb@~{AlGs?or_*9bYT4%t@S-2 z$b3U36aiDrt2Yt0S=d&aORC8)&e42`EOZT+PY+<7r&^_Htip*kQ1u}(pAnsbQO%ZN zAM_Rcn%XF@O?^WCnY~dkh)~S63b0d|QQAQ$?Pme3Q=juYnnWlQQO+%312zhqQTMKK zfVfu(FrXOgg7`zdu|7Oe)uI?`>axgBtmEmuS!dn)Dqh$dU2xfB{G;Bik1qc)e!VyI z^L+huV`fR_Ff(hi6gf8tM+@&7$a;1^wv{R#Z&g7K@BCa;Dv2LHfF~}jx~Q*K)mr!y zfy`G|VBs4ASw|MC=Iocgd{-dza=tQ?u4NeVoKQWJNyvL*KE%OUtj;%?_vyoYbX`vK ziG5fv-QGv}(|y=1UDPRlp%3fg87}cmx2&86srPz}GK|ATi2ur?yhC61ux|HB{&-)C zpT(c+%L2Q8k1C+YV&%i`RpRO+sI?POaa!3!5byKP_~pLLUsv)vx9^8|dC%}({n&(d z5CfF2$w#32SM_6KACi(`Ergh$NZ?XG=4%rpR=yC#dU{AWDLPcce6N!_2j*2r@bDm3 z;l4RQDofA3i|!(y39B-tbrpuwyi0%PHto&TB=Bd*r7NDYgd4iC`u_kU6e=(8XTDBC<8Y(9$%~Gtnt%b!GmF|5 zQt1#a`lnQSF*O(jlNzPU&EBX{$ZDb5;Qb4viRAr7xNv_F-zI?~>!?6lQgX@!SVHj> zie+&n2Ne0?D?%SMv}-6%fHk=YUtTqUb#ho94&p&NO|)qa&e|ZZAIQQy1L298(hCMn zN2;XZ_imM%fPb`;Y=dSr=Y;**)`^=_0tZ4ZfBV@Ye5v|qNH)b z?11|MggGRRq-ye`;|da?sUveFXoGhK_Z`gqbW2|0(SzAgr~9B4xGM!MpW?TLykIcv zW!D2o6Gf-^?lH`r#T)}=IU{!ehhHAd`q-ocxzi99?GbZAb}8poZ;}9FL&L8PdtN|K z8?~4}K74=%-a3eHNi6U z18}RQ7_jAJg`~Ab4$ysiLZdCRwVE23G_EkA-p94%_d{6Ez@IkZx|X$6e^Vh|z*LgG zej@@w^J07&W>Ea60pNXvYlkvd-3tlaeJGowd!w8$8_Gu6WT28h9*RoZg35!?blXbW zkj}k_u?;M4nyjR{L%d`dS_Iyghq29l{zA6@StYsf-H!>Ds-bdrQ#J5kaZ@PEeoM>J z%P@PvP5i$U-dYd&InPmbtfp_ag$ive-rmrrMiMa1wXBhLO;z&U$7+=%OjWDoKOa+- z4B@|oGKPCls)QqTULq3csU+hFId3X&aVnfpUWm%;62?5nQTI&}c&51x0Be_8@;`MraR zr-DVM7sl>VD&a_$_|SKMYp8oP$=pA8pJ%_wJam44^LIwFVO_W2C=^pEO;Kksn^~N8 zBteVGWJgPXTv*G(wV@<#7tT_guWX__l8z$gZ7uZSp?^I2HqQ!Y9d$i7avsiZ`yLNx z^z7Y17_E>Pa%l}z1U&DIVox{^+Nk2$3MGCL&#||7@6jv-Vz_fhvz}vHP6!cNTD)km z#O`96-mo|Uv;FPCwv>%k#gZc6F**4Cvag8%fGe9jk{P{`3DVu-PHJ1g8~@VAoqLaA z3RMf5@w*m+rB*WE;3|&uh%wC9>w435Z`sOdWWA{AXKiFW%I4xjES;(ICTeIGqfa%# zrfy6c&Rgut;N)5-oqJdj;vnh<7_C|@Xq2^$Lz++wY>fg=iNYgR#e35N4Fp2Kq=1PZnB-YSl6<*oe>r+H|R1i|NH`8 zdGx8{zeF%En{1T8DU$Wp9e@zf6<4)Jx)8P|$T zRf#?0cxV*!*IwX{MX~v#c0zQ8?h2xY=`r=}=b9;~DL!olGM%U*K9r zNj3^2uA`y=yqv^4M6+H2T@eUskg%m1qKkH+d|NaN*S^fZj|TU5OF8ct!@}H~ z^zL0n0%@AMBLDX2_JdyL^JAFjqi*lYVJ3;?|D|yn=d3Ex9UKg+%i3p~S14w0>J%b| zb&++ejAdRfE1S1-@|Csew4EC^mW4Vjcz;C)i+Ae#eC1d+ufq@CP$vZ!{32_h0pxvN zKbFPx+5wLOm%B%<>T=81MmER?zcQaP?90FT%XE$98(d7nWkNjYI)~32htWHSZy(2| z!}x0)d(JEy|;`D?LQBKQ1&ABklyy1P&E^RaAv=gRGG z7%eV&S2mIU^VL0}tl6;dwwcr^Nw24^S${`acrdS$1LtYk#*5AZ$5S+TdYeT z$`4Isi8iEfq>G7la=U-% zkt+^{eV?iI_J(oo>aU0M?-h5w6eISS zjNv6?nBbroeQIg=G zDCEk~6R0Ul0vzH6N+eXR;N>z#xV3`Gm7^z6Q;ZNe#9WH8KyCMRGDbQalm@x7a`Xgi zijqq0K7gY5m&j~wl~DrWpeW?Z(G#dCh94Y4Los%$wY5{m*k!FPa^>g=)D&X})mBvp z#1MP4WFiM;lp1Rka^>hn%P7|=%2tY!jaopHRLdB-a8S0$m7^z6QzFaZ5NU{!y2h3+ zGo)idlm@2dkPt;v=8HvF!AIm}b9l%5e9bgA(Z%~g6K^o5Ca{r2O=H8HiHP8SDBV>D zTR~?D#*8pzIvYmHt`<)R1E%sF{=#(dc7W=W=`4l(`y{Znx)LW|lE5a|k8qYWo(DaO zM|*r`umN_<9+gbj)R{`x4$bL8jiwLLYs(Dgt=~nYi*I-aQI5iG<8+<9@Gx^>dABg% zn8e{K{{0N*%09X9;S4y7s(8>$h8IvVHB1w^ReadPtgp>C9Tfh#t&N*uPY22BBb|>T z>=A|gF3|ZuG~u5qSJmk}`3ukJjQo#>Stp-MSHUq{Aq)kP=hD2v4?Slpu)T}huD{7N z*Pphgxtr2lc$!a`i8L#WYMOmsGd8CgkgQVY=J`CQ#&5Fa>uJ+*Uo-o_uJ`%TnXCuq z)*CZfzhS1yo=_SPr!_=WIyVhqv@npFR8X9L{3-RW-+g(>B^mdG7HN+(`0^g7MOO(k20Gr(OqA} zb7r%ARtrofx{AX)CbFKx92Q%h9gPFaXCHM0f8Ch#r{iL`G^~nJ{QzyexTAtoBj6Qp z64yTEOA=WRW@?Pj-%Mmf*wQBFkBO|i*2Ep>Fi$^R`yo}VhFsdSPZsI2580aYY{9!U zO`blj!L?=~A2)|}VOtP?a)axgg?!N*wnDdUG5>82^G!|7KrY4gZ}ph=18=!bOU=mi zzl*y4Pa#Cq6Uw>Z2miTOU9F%T=!$&Lk)wS>x)bCg)gPht&;XD>*RX{KvK z=6%c5dhxP4(^;2*P_pBRKndrzXVmxtTQB-E3AK`S155-+P3)W#J~Kzh&P`K%Zic@biK*fGnLYa9Apj z+%V?c@PXSW1vtA}s^9^ANj~J6;TK4reJ!6I`QElSK03I3OwbGZIbIGqi+j&_ImG2O zslyZBfgg@|L6&;p^`B;5?iYk`)xR6E5Kulb;({ke5U>OREwO(7mRiesq!3~m1$BT< zYa{%68upEfErW6ujR}Ybi^L$*Y&9ugKbzrf8RwWE;pg_Ca_uN5s4~zIEY{B*jLgR9 zZmpvC6xV^#)KC}U7c?7HQvnTq?Nl@50y+q-0VDiEgPy_)aHt$o zjz2j0PHJ2M?!et{Cfm-59YNCH{(L;q8KrineO zmk(B|b55+vLvoIZ8%HqrsDfr<1@bHxkfdqfR1kS*ZZU#^8Mz5NUv!I0I3H|g2b>Y> zz5)lkA)`~%CN0YwA^vB*AeGJg^B|kw%o9X*R-D$HS!2l4VTqQVMQUQcM)q?KZGu~q z=}o*WMvD6@R+A5H=#dR^Om=WX$(rr(NZB8(Nf};U5OcCqc~-Y0P*0m;mH?~rl!^!k ziU;oTVG6Fv=-7x9s1hp)l_L&eLYmTo_Zl^Yiq(ab5B#a=lg)Bw)mx4117RS3#GxH_ z@HgZwvC(89Ah{gifwQi(@Cv=D;ZcePX-eod#-WZ$bb3RstwqJyH-R}o-}-9 zcWwKDIbkwUwTnfbg4P&K#$xJIk(H#kr6RIA9X+ce@?0f#FqLNKKkeuwf+7jF00gYkkv~=kB9M(bsy* zz}Aon@dzqIsNo+r2_0d>sK%%?g4v$!{3nCj$`b*3Upb{R1jrvjD< zcjlU%P&~~H^$@D){*ZX^C7#<3FDN(&z`kdArQz8EIQNs^Q}(?p@fZ<}O=v(f+jdYp z;sgPGT2`i%W#TNTpD+?}Ofg3%s8lif;Z;&EgJv9dn35%;JrO-6No?y`*U;P(L9XRk zKtdWzbb@&`(N=K~yvBcI6vL8lGim$UN{z*isVs#5+TGs0osOyr?3L%VnvER>cjDoL z40fr-xftVS@3q9^!t+5i;GM`JoJa$Y^&+)gWSE`SQBc=HH7FSt=_Q~~zae>Gd7D!Z z>wyc=kRVd-i;Bgxg%Y97X7l^= z*r52WU@S=$8sN25H){Vffu&3hSNo-1pR;XuG z1+)38G#2Fi?x?1KX?i-c%HP0`r!k-Q^#Gs~$^$L0+5C1I&e@(X}<9YA%{Q@Gm#mKa3ylB(ww^V7p|crx1X1eCk}SguZ7 zwsPX40HshOD~87LHx^($m7BvqTL325lE--60<5dvn!(*3XPr9_d8~=gjT$M8_r`2K;|Z`T2A<_FKfzLUGdghnlgy;!-TCw< znXjw+IM_Hxg? z2+9if(^v6e{|?LKehb-9f4ahh)&@L4o(IoKlz|ymxJ%Kgpbef*iDzW;yoGFuix2qT z)SJ44{Km_JlLt{$Ns&qAAm4 zF}of_HqF81_<~lEVR0fa0ZAq(*nkZRHt@9)BGg`z=t+VJRKKTq)>BMzSa%PY>6G=i z<95#4O#a4GIC=?%CyrhMVIUWnUr|z&q-<9vzyA~qx4HTk<0F@_K2D)HmYX&`#l~0^ zg0~cxEn&a4D}0LK!M^xOV(iN$nM=_X`W}juy(I5jLQ*AOi&8rcCRdGAHHeurvzz)< z8#tsT_m{De+V+h~1Tfkv(F|jsVdJx$5{-tugNPQQ4@jG#$#@7I_w@)_iI0z!l{i<* zfD{x^lL!x_Yf-J=B2-IIUx5D4Y-HP_E7$;6MVCrdFeWi;q}W|NKD{pXklzb`JZ1@ zl!OIK1rU>3d2CFJ znE&NO*?NqVNF#3G>6v2hEww%x2OP#u4!6x_`$q{3D0Iq8FwBv)+pfdJJa7dDIQ-Bs zmf zoJr^3|8)U)&MMYDs+Mwt`REQz%b7{j#TX2CBo0+e(1o;~@`MFfV8v>(p;pk7;^!8H zKql+1ZJ{y4#xgctT2NCXpw_+weol=AgwAsl|T#Nw%1(w-C)GO9g?d$@$** zt+k@Lv66qC19>FRr?_n{8`kmtdv_b|Mzz;wdZa>^rzW3PNS|f$DY-13HNFWupC|Qm zbR~}4C%G)atKU)9_5{h|WP4*}2kOm3^VqnK>*H*cIpZ~ z-_-stuU^fDO#cJI9Yvd1qH*A-SS!rkzXet~qveF=YceM1gcfXtk0v7mwr$cD4BP9{ z)&sU3(&m&(pU?U@Q*=u(C2a}sVR4{r^T>SW z<4|bLC4W4hb+@6uxfvFRM{H0wLV7fxjdVj9&6|VJ60&>?Q3{lA+dA%UVS!l=!E#uB zK9q)~A@>5H*4cFs(c@(Rw{*V<_kY_y<`5F_F`7eY*CO@){QjNVCXLnQK93)>;EC z>H+pnI4@YwI-n6=ThC%(i1p07<8+!dqTF}bW;)Shzg6ZacTwDxcY2N`WF7S~nzbpG zh;v<2%%h;LJ>r~?DIROyA}I*$fcKSA+~d9~0&NQfMna0mt}{A6IF_@(Ovk*ah z-MZTVkw~Aw3_JN0c8z77UoLWn4m9wTICfEODhRdstY^mLg3-*lzJM9u!;dC+qL*^2 zz$6}o%7^OYxey7iv!x31ftdKk&Xg0!M2NE0(YjeEFYrNyEK2sj6@}R6f|9>fh$(%~ zW`3{`JKEa@HuTW_Bftnk14*|Dg2&sK)fE8x_;o6$7#91Q2d1+vX!q zf>s#(^_oXLjo`Lpr`3_9)6l9Fkq&ZSRTfmpAK%C(dCoyd?7Akxz`~|^*Ogt!zupMh zQ$4}$#UGd3z^e=Sz)dXH^EChREg%@t%b(`66?-~q1&?gMK2(UFcsdXExdLEzen(E-^lo1z-X04d$Fu7Jp6h70cX*k{sh+x_qK4;^W3-v75By05`GLuEBxut^Tz;BSSbOGqOp>u zNNFLwBZMw7T~!Bv8IvSQmW!3|gP>I5P|8u{%xU6FiJrwR4;8A!`67+f+pAr`JG{su z0+t}G%J)0jP`$?qgm1GC5Syth&Gq*m4TN(D%sLt2kscQ(kj_hVqakR6W zYV>ZDk4`?N9(IQ>e3^|K(g83MV3U4N6M7im$vM180flw2TRdBVj3U0s5hWPt0 zlU1-B1|BEA<-PwMT#m*O@FNI?hmp3ZHB_^d$8TjG+5vq2R@QA&B4#Y~nE#im83U1H zT4YiY-QGsMR3oboPV*~US;Vj%GaE(igp&pj+tGvZQ@olhF9vpN!vjd4Fj+qNG8I@C?wWKGM z=z|?_HQX@DZ=E%B;gis%Bf{6N%NwWaxA1Cub@$hzmege_e)BwjJFgW%v>F zGVG{C34j=M+9=e*t*>bTQoq0&Z>ItA~6@Sn^=Gwfby|#u)-UO2T*Jm{oK^^X@bcPyYdumz9w3nV$m%Bn{*{zTe3uG zI~)-XrqsRYuc@}kdTRQ}H;rOpB9Sm-DLIZ=Tw})rpIrSIO2*Btvt27+T(c{^+R?*! zEPr%tsKa7xbIOlgvD1^-$Fb6D1Zd0<1mRSsa>g{N5L-Ll$u+$BXp=JGDl<{pl!>J~ z7eL3zY^F&i8@**ua{H$*+(jd}Bpwq3zvP{^vtZwT5cn{O)zaTK@mT%_;;rYN&4?=s zc?fDBGTr#X?aaIDrPhc?wng0c0^hZrxyYqj#dg*|_|8Stab@C-1;E@icf%s5Yl}B= z$Z7K&gKDviNwSQ0fXdx|yiYOncPv4a?X_a+5U$C@_3@D}TAXc~{mYAUF^eg}?+R_x{dcQEJPb1BaebV_UZpw_&i)=+W+89?Kh zQiaS;!=R64UY?xJpWML)D?^yfOA@Q&AM9X{Oz91Gi@Y?|(E?dV^|J8RI0g^`uY!vA1!=c-V$N_crThtZ9`GuW9_~+sMatdzlX>hdQo%hfN9= za5v^dj%7oMcLuQT$AUwH6qZs77}sw(Gj_^d zHDL5UHGm&^kGXkZX{I@F1$WOZ<9d`vz-5Ryb^x=xhS$EwqHSz#>-ezu*~~0A$ZH`< zNw0^Uk^=)sv#aGG@)+4PY^sEp3TuNNN;nD5yL^CilTlSX>;vXDK%n@bMC~lE)*#cjY%GbhFpl@2?wbpLMrUJ;oDmB?vyukl2w3M26z?E)xvOZG#=cgS<|MWuY-0muhuC2%s1map{Z44?&{nf! z)$EdZ1+~?L!Tj@GEX0~>sBZJ8eC%%4r9;bFw1kzT+b!FTN~58B>}VTU}c*w)o}`*<{^0XMXcTR`?I;gla3rLqc3cdRJc$hS%RyZt2)Kn=}EuBBP+mQM@dffiIDme%n44>vYH9!j!UPhoAJboNiuh|dQ2f6mCF7Qjp zwFA0*_Oav+F;6!x7wf4B29M=C_M!JT9OK{Z!+p2wfAYWfu|b9rh^!tV;Pj^daUNE} z26PQ?9XAm=+foV3e(*~ujS0v2h7#tYQ0-w(IEViCK?&Y}`K@xKa9! zJD0J!y2p<2Wo2~dA5{(3(sk^GT62TUPP7`tvlBN|R**TE7U6LJ1RjzJ*5o4kHnEz_ z-ctyUo6RU-O&Rkx(1Ibs>^ciZF;)rOeLwT1C5tA`gyM93 zlf+x#+F3J$PC=}`l;R8tr|B$7R1n8*IjqS=^lh1Kb67S7!6UO|idSlZsiFI>rdL&q zbFE-9#mXiy7sy-IPBmPT@FX5zL-!r3yD1ZE5ea!uDPAWn#+2ehX>my@-XtyVDaBi0 zNk}Q)3M0krv`reWufs^f5{iI^5?AsylsHis6MQKynOTI5EQFp+N{>v6ZW3=Iw-88` zHPiO(+8qdyB+em3O7TwElT(Vwur`j_X_tgwr}DxNucJ%%okq8um6Ec=aWFDvfUtuy zz+CG)Bxdh&=^jKZK#AbEbb}^Y-IZ#1tJ_**#i!s4w&UOA-LjdAt7Y)W#v8I~cs&@x z=ns~IxJY^9BQWD6(-1_Mm}gSZ95P~Mrcz#c5V9ICA_SOQW*Cw=B?EwemtD%cd%kerS98N(+aCoE?{wk z*8PwLa(~< zMn*K>-OnD6N>yO9v-KTrTgfIEPeO7gr(O&742AY7x}N_d@|AO##Q3n&%J8XJBdz3GiSGN+-3AhrUDXZD*yVmc zxAbB)yx{ZPCw$InHc8j+B>(UIuRG0ryAJyCZbOBv3ZT+dDSiS_)HpRZye-3!l3;nQ3gea2u* zl~cdiu;vAv)k0dN@Cz081s`;V1$GG>tpj_hobGVIFt1vGJyD7!YHo@-YEs3j*Ll_% z7CL5>BkfJ7QY)}pPswTU!&|jzBX~Te1Mk@*H317haWh`Zs^3!7urE_s3yxB&#IE!F z!5NmoLeI&>ZO`#J)$A!<$q|0Ont8J+UrO(wFZtiqY#5vJm2}2@#lt^G6Rpzn$3JIb zy3ty`^K&*-XRqZyeU4i|C%D^L2-DRk^4PO1NLT#`U$x8DOE;i1-+GpX>h^xZzd6f> zvU%Uj2D$we_xgf)^ceCiZ6ZJqVkM7GR8Y5RJ|iLZB%2yEeC8L-+xuMi#`Bh@7lVcA z1Bq_NVZQkb*4^d#D~-$GzfUvcUHn#_y9(LKkKE_jQ-jB!frv4FIr#bFHv_+X z{3hWSf!|>K!tm>dUlM-)_-#GIpZ=2F?W(J0#;b6j!0$AEhw;0JAA|onn8s@U{8vbm z!jT`j&odL#T#z-n^*q0Io;~mC^0jo{A>ZJokW85**7@=0FR*cs{Ej-0InRtA!dwdT zJ(#m#ehyO$vnzfzus;d2J$@q-^urDrF#Fg;$i_EQ^JD|i|@j~$DFQTUuE#s#zvYs(ph(bi(0lh9JmBC=P_oT~U z(;V|pP8at`dUQ3N9ua}j@2Z`y$#B5&zqoo~!3Xb2|5 zvf_S&>m{7=7hi`fIVTJTFSx|!jh^O3$1~Pmx> z^D^`7A%I`s zVDRK`Sr5+ z8P`qyjlcLk6wf{D#!r0@A^Mn0eDGCP)nDAe9+76qIWrUgyQ&So#s>M>(8(1J`^ut0 z+(D@PvA>84Fp2TIsCyYfwvun~f@`c(Ck;9lj&9~!DlzH*>6d|fn8U$tIwOWV@?+On zcoqe))QIP?Tqw4MJ-LX!)-6YpISf4+j9L1MSFr&AXM_S74(rKm=>B@sri>0GumdQj z={re0Z{3Po5fKo7#WW`*i7&02QH0M@g+QqPCz!*~{Q<`O)llpMEA2Ll$fAlx0)aWq zkAhg7$Pn-2_z4F*pok3nyiLf;EqhqDHRs9f?XQL>L#%8Sek+B~q6k}>BcKH4U<_Jp z`@-aqB@vZDa3?^6(687y(MSw|JGqFyEw@9mgyyhNcq4;ki1w`#Y|0>6Wav|;Mwx@d z)d*yWZ^yJOQ6c4!GDsF{1Y{5rlGxH*TBk1OI26)2Yp?Myf53KX9Xzq{UJe5!p;;Co z=o%0F5o^~WD!gY~c+y3_ir`l*GCl;qTE{nD;$IQGK!vYp3lF-)d;bJ@hzj>_3opFH zvk87JU*i7)Myvd#U*=yDe7y=^*%n@Yl?MpGhpO;iZQ)n0@+^X1Hv_+&I0vH@{_t!3 zoWRB{pWu4&bX$1!HQx6I8}1gY#_tZJY1vz5yw0<4urZz&*Gl9kVYEhmonO8I;1u%h0#;XXfOwSDn4 zfAnWI)+Pq|{NU&RzYA32XZE@-={jHk3n>4_Q~cdupgi%XYux@#_EE0@b$IKz1Q6hnEbHAalpLAP#nAM zI5Trap}n7%vtkdp;cA%0&(uN*!5?e*jNe$Lu3a4OcAE|GT5^{djgS%yg3ur?BKs6f z@e8-a=9+|eJYRU5b)5R8N#0Wqz&bJzhz279Y8kdmxG#Lm1vihoV(XBR8v!p5E0FdJ zA0I)&xFifco;geBw$HQ|^9$v1-WOug5q{}5=FIOZc*AWrztbL+;g*{`+qT@!3Eid1 zbk3g~3mm;Fc;4@9yeUIuy-hz z`^#c?_2`l;C!9TVQKf;1LSfi<~^z6fA;LZX1!VrJPs ziy(%5dNSpd0O2{6UF1-l1iu83Tgs6+7#SpGZCwzHNbLeRlZ)v4Pf{D4PGO7a+qg`y z%^-4FiDgZ4bVK)3&3e2j!@(IcJbf*})^&w#CPg^@uMvpUl7=^X@yv27tv#|x@2vZs z@ga9vOs6jJ1<(Ma6+Ng%fS2yFs7{BTK>#M+htVp)6$H3V;-+Y3-$_Ea77@1&uydQtmy8)V@?R#wM`b$AyLCjY_L>+K(I!O$Lcxj<_u1dt>4K`LJAxUBob)#HLWgEV{$35`R`DPw{4~h+X zf6h1F!^H@nz5LKU)+zDP5AQbQt2%S78gu0u>%UuJH7Y1PN(GVP&hEDjMtx9{dcpHb z5+8COY281>AGy!^J3@R}-k3?V5mo%P``CJ!o@I1syA^qbwC`lxQ`cI)D!Yf3n%I1l ze|?_?M83FA2VF+~1+h?eaJ)ieoZx9Rhx>_Vx9D2wX;!Cvi__~sRkw;(zW56_EKQ1+S|w#tj`)=Cp3F9YHiQo(BZ->jp3Ba`Iv-%vZbwY#zI7n`q| zPp~at%ƪ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

    ZX+BqE;MJJWH`oe@X3++(-GQMONWfz=Q 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%0A+w{>CksZkKq<-;WQ5?AlJy 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 HZ^QoqS~Ihw